diff --git a/.firebaserc b/.firebaserc index de9fc132b5..1f18da38c3 100644 --- a/.firebaserc +++ b/.firebaserc @@ -49,9 +49,18 @@ ], "v4-beta": [ "prizm-v4-beta" + ], + "v5": [ + "prizm-v5" + ], + "v5-next": [ + "prizm-v5-next" + ], + "v5-beta": [ + "prizm-v5-beta" ] } } }, "etags": {} -} \ No newline at end of file +} diff --git a/.github/PULL_REQUEST_TEMPLATE/prepare_release_for_5.md b/.github/PULL_REQUEST_TEMPLATE/prepare_release_for_5.md new file mode 100644 index 0000000000..075246057f --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/prepare_release_for_5.md @@ -0,0 +1,33 @@ +## [NEW_VERSION](https://github.com/zyfra/Prizm) (CURRENT_DATE) + +### Features + +- List of new features, example: +- feat(component/cron): added custom title #1431 + +### Bug Fixes + +- List of new fixes, example: +- fix(components/input-number) remove default title for input number #1599 + +### Refactor + +- List of new refactors, example: +- refactor(charts): replace chart base options from theming to separate object #1000 + +### Breacking Changes + +- List of bc, example: +- bc(charts): removed function #1000 + +## Следует обратить внимание на ревью + +### Checklist: + +- [ ] Изменить версии в соответствующем массиве на ветке V4 + - apps/doc/src/app/version-manager/versions.constants.ts +- [ ] Изменить version на текущий в файле nxmv.json и запустив команду `npx nx generate nx-mv:apply -n v18 --var-version 5.0.0` важно передавать --var-version нужную версию +- [ ] Добавить в каждый тип ваши изменения в этом PR +- [ ] Удалите не нужные группы изменений для этого PR (Features, Bug Fixes, Breacking Changes, Refactor) +- [ ] Добавить изменения в changelog о новой версии +- [ ] Составить readMe файл с описанием изменений на русском diff --git a/.github/workflows/beta-publish-ng18.yml b/.github/workflows/beta-publish-ng18.yml new file mode 100644 index 0000000000..9c1b48dfa6 --- /dev/null +++ b/.github/workflows/beta-publish-ng18.yml @@ -0,0 +1,411 @@ +# TODO: later change tag by input variable ${{ inputs.tag }} +name: Publish beta packages 18 +on: + workflow_dispatch: + workflow_call: +env: + npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} +permissions: + contents: read + packages: write +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v3 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: 'Initial changes 18' + run: | + cp -f package.json.ng17 package.json + cp -f package-lock.json.ng17 package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: Set up environment variables + run: | + last_draft_version=$( + (npm view @prizm-ui/components versions --tag beta --json 2>/dev/null || echo '4.3.0-beta.0') | jq '([.[] | select(startswith("4.3.0-beta"))] | last // "4.3.0-beta.0")' 2>/dev/null || echo '4.3.0-beta.0' + ) + echo "LAST_DRAFT_VERSION=${last_draft_version}" >> $GITHUB_ENV + + - name: 'Set version 18' + run: npx nx generate @prizm-ui/nx-mv:apply -n v18 + + - name: 'Update beta versions' + run: npx nx generate @prizm-ui/nx-plugin:update-version --updateInDependencies true --newVersion="4.*.*-beta.up" --all --currentVersion="${{ env.LAST_DRAFT_VERSION }}" + + - name: 'Build beta versions.' + run: npx nx run-many --target=build --all --parallel --max-parallel=3 + + - name: Upload dist as artifacts... + id: dist-cache-save + uses: actions/upload-artifact@v3 + with: + name: dist + path: ./dist + + deploy_to_doc: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: Deploy doc to firebase + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: v4-beta + + publish-components: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/components && npm publish --tag beta --access public --verbose + + publish-i18n: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/i18n && npm publish --tag beta --access public --verbose + + publish-helpers: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/helpers && npm publish --tag beta --access public --verbose + + publish-core: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/core && npm publish --tag beta --access public --verbose + + publish-theme: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/theme && npm publish --tag beta --access public --verbose + + publish-icons: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/icons/base && npm publish --tag beta --access public --verbose + + publish-flags: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/icons/flags && npm publish --tag beta --access public --verbose + + publish-plugin: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/plugin && npm publish --tag beta --access public --verbose + + publish-ast: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/ast && npm publish --tag beta --access public --verbose + + publish-charts: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/charts && npm publish --tag beta --access public --verbose + + publish-nxmv: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/nxmv && npm publish --tag beta --access public --verbose diff --git a/.github/workflows/beta-publish-ng18.yml.ng18 b/.github/workflows/beta-publish-ng18.yml.ng18 new file mode 100644 index 0000000000..a810f2d3b3 --- /dev/null +++ b/.github/workflows/beta-publish-ng18.yml.ng18 @@ -0,0 +1,411 @@ +# TODO: later change tag by input variable ${{ inputs.tag }} +name: Publish beta packages 18 +on: + workflow_dispatch: + workflow_call: +env: + npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} +permissions: + contents: read + packages: write +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v3 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + # - name: 'Initial changes 18' + # run: | + # cp -f package.json package.json + # cp -f package-lock.json package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: Set up environment variables + run: | + last_draft_version=$( + (npm view @prizm-ui/components versions --tag beta --json 2>/dev/null || echo '<%= version %>-beta.0') | jq '([.[] | select(startswith("<%= version %>-beta"))] | last // "<%= version %>-beta.0")' 2>/dev/null || echo '<%= version %>-beta.0' + ) + echo "LAST_DRAFT_VERSION=${last_draft_version}" >> $GITHUB_ENV + + # - name: 'Set version 18' + # run: npx nx generate @prizm-ui/nx-mv:apply -n v18 + + - name: 'Update beta versions' + run: npx nx generate @prizm-ui/nx-plugin:update-version --updateInDependencies true --newVersion="4.*.*-beta.up" --all --currentVersion="${{ env.LAST_DRAFT_VERSION }}" + + - name: 'Build beta versions.' + run: npx nx run-many --target=build --all --parallel --max-parallel=3 + + - name: Upload dist as artifacts... + id: dist-cache-save + uses: actions/upload-artifact@v3 + with: + name: dist + path: ./dist + + deploy_to_doc: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: Deploy doc to firebase + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: v4-beta + + publish-components: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/components && npm publish --tag beta --access public --verbose + + publish-i18n: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/i18n && npm publish --tag beta --access public --verbose + + publish-helpers: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/helpers && npm publish --tag beta --access public --verbose + + publish-core: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/core && npm publish --tag beta --access public --verbose + + publish-theme: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/theme && npm publish --tag beta --access public --verbose + + publish-icons: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/icons/base && npm publish --tag beta --access public --verbose + + publish-flags: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/icons/flags && npm publish --tag beta --access public --verbose + + publish-plugin: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/plugin && npm publish --tag beta --access public --verbose + + publish-ast: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/ast && npm publish --tag beta --access public --verbose + + publish-charts: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/charts && npm publish --tag beta --access public --verbose + + publish-nxmv: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/nxmv && npm publish --tag beta --access public --verbose diff --git a/.github/workflows/deploy-main-doc-ng18.yml b/.github/workflows/deploy-main-doc-ng18.yml new file mode 100644 index 0000000000..7cf85aba5d --- /dev/null +++ b/.github/workflows/deploy-main-doc-ng18.yml @@ -0,0 +1,110 @@ +# TODO: later change tag by input variable ${{ inputs.tag }} +name: Deploy doc main 18 (v5 and main) +on: + workflow_dispatch: + workflow_call: +env: + npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} +permissions: + contents: read + packages: write +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v3 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: 'Initial changes 18' + run: | + cp -f package.json.ng17 package.json + cp -f package-lock.json.ng17 package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: Set up environment variables + run: | + last_v3_version=$( + echo '3.10.0' + ) + echo "LAST_V3_VERSION=${last_v3_version}" >> $GITHUB_ENV + + deploy_to_doc: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: 'Set version 18' + run: npx nx generate @prizm-ui/nx-mv:apply -n v18 + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: Deploy doc to firebase (v4) + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: v4 + + - name: Deploy doc to firebase (main) + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: main diff --git a/.github/workflows/deploy-main-doc-ng18.yml.ng18 b/.github/workflows/deploy-main-doc-ng18.yml.ng18 new file mode 100644 index 0000000000..d2ba54d82f --- /dev/null +++ b/.github/workflows/deploy-main-doc-ng18.yml.ng18 @@ -0,0 +1,110 @@ +# TODO: later change tag by input variable ${{ inputs.tag }} +name: Deploy doc main 18 (v4 and main) +on: + workflow_dispatch: + workflow_call: +env: + npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} +permissions: + contents: read + packages: write +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v3 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + # - name: 'Initial changes 18' + # run: | + # cp -f package.json package.json + # cp -f package-lock.json package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: Set up environment variables + run: | + last_v3_version=$( + echo '3.10.0' + ) + echo "LAST_V3_VERSION=${last_v3_version}" >> $GITHUB_ENV + + deploy_to_doc: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + # - name: 'Set version 18' + # run: npx nx generate @prizm-ui/nx-mv:apply -n v18 + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: Deploy doc to firebase (v4) + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: v4 + + - name: Deploy doc to firebase (main) + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: main diff --git a/.github/workflows/main-publish-ng18.yml b/.github/workflows/main-publish-ng18.yml new file mode 100644 index 0000000000..e628cd6a12 --- /dev/null +++ b/.github/workflows/main-publish-ng18.yml @@ -0,0 +1,447 @@ +# TODO: later change tag by input variable ${{ inputs.tag }} +name: Publish main packages 17 +on: + workflow_dispatch: + workflow_call: +env: + npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} +permissions: + contents: read + packages: write +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v3 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: 'Initial changes 18' + run: | + cp -f package.json.ng17 package.json + cp -f package-lock.json.ng17 package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: Set up environment variables + run: | + last_v3_version=$( + echo '4.3.0' + ) + echo "LAST_V3_VERSION=${last_v3_version}" >> $GITHUB_ENV + + - name: 'Set version 18' + run: npx nx generate @prizm-ui/nx-mv:apply -n v18 + + - name: 'Build main versions' + run: npx nx run-many --target=build --all --parallel --max-parallel=3 + + - name: Upload dist as artifacts... + id: dist-cache-save + uses: actions/upload-artifact@v3 + with: + name: dist + path: ./dist + + deploy_to_doc: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: Deploy doc to firebase + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: main + + publish-components: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/components && npm publish --access public --verbose + + publish-i18n: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/i18n && npm publish --access public --verbose + + publish-helpers: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/helpers && npm publish --access public --verbose + + publish-core: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/core && npm publish --access public --verbose + + publish-theme: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/theme && npm publish --access public --verbose + + publish-icons: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/icons/base && npm publish --access public --verbose + + publish-icons-loader: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/icons/loader && npm publish --access public --verbose + + publish-flags: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/icons/flags && npm publish --access public --verbose + + publish-plugin: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/plugin && npm publish --access public --verbose + + publish-ast: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/ast && npm publish --access public --verbose + + publish-charts: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/charts && npm publish --access public --verbose + + publish-nxmv: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/nxmv && npm publish --access public --verbose diff --git a/.github/workflows/main-publish-ng18.yml.ng18 b/.github/workflows/main-publish-ng18.yml.ng18 new file mode 100644 index 0000000000..d9e686bfba --- /dev/null +++ b/.github/workflows/main-publish-ng18.yml.ng18 @@ -0,0 +1,447 @@ +# TODO: later change tag by input variable ${{ inputs.tag }} +name: Publish main packages 18 +on: + workflow_dispatch: + workflow_call: +env: + npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} +permissions: + contents: read + packages: write +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v3 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + # - name: 'Initial changes 18' + # run: | + # cp -f package.json package.json + # cp -f package-lock.json package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: Set up environment variables + run: | + last_v3_version=$( + echo '<%= version %>' + ) + echo "LAST_V3_VERSION=${last_v3_version}" >> $GITHUB_ENV + + # - name: 'Set version 18' + # run: npx nx generate @prizm-ui/nx-mv:apply -n v18 + + - name: 'Build main versions' + run: npx nx run-many --target=build --all --parallel --max-parallel=3 + + - name: Upload dist as artifacts... + id: dist-cache-save + uses: actions/upload-artifact@v3 + with: + name: dist + path: ./dist + + deploy_to_doc: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: Deploy doc to firebase + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: main + + publish-components: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/components && npm publish --access public --verbose + + publish-i18n: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/i18n && npm publish --access public --verbose + + publish-helpers: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/helpers && npm publish --access public --verbose + + publish-core: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/core && npm publish --access public --verbose + + publish-theme: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/theme && npm publish --access public --verbose + + publish-icons: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/icons/base && npm publish --access public --verbose + + publish-icons-loader: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/icons/loader && npm publish --access public --verbose + + publish-flags: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/icons/flags && npm publish --access public --verbose + + publish-plugin: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/plugin && npm publish --access public --verbose + + publish-ast: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/ast && npm publish --access public --verbose + + publish-charts: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/charts && npm publish --access public --verbose + + publish-nxmv: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/nxmv && npm publish --access public --verbose diff --git a/.github/workflows/pr-ng14.yml b/.github/workflows/pr-ng14.yml index 48c4c6eec2..98ec892ee4 100644 --- a/.github/workflows/pr-ng14.yml +++ b/.github/workflows/pr-ng14.yml @@ -2,9 +2,9 @@ name: PR NG 14 on: workflow_dispatch: workflow_call: -# pull_request_target: -# branches: -# - main + pull_request_target: + branches: + - v3 jobs: doc_deploy: runs-on: ubuntu-latest diff --git a/.github/workflows/pr-ng15.yml b/.github/workflows/pr-ng15.yml index 88cf713677..b071422d10 100644 --- a/.github/workflows/pr-ng15.yml +++ b/.github/workflows/pr-ng15.yml @@ -2,9 +2,9 @@ name: PR NG 15 on: workflow_dispatch: workflow_call: -# pull_request_target: -# branches: -# - main + pull_request_target: + branches: + - v3 jobs: doc_deploy: runs-on: ubuntu-latest diff --git a/.github/workflows/pr-ng16.yml b/.github/workflows/pr-ng16.yml index f7d3d12667..70abf09efc 100644 --- a/.github/workflows/pr-ng16.yml +++ b/.github/workflows/pr-ng16.yml @@ -2,9 +2,9 @@ name: PR NG 16 on: workflow_dispatch: workflow_call: -# pull_request_target: -# branches: -# - main + pull_request_target: + branches: + - v3 jobs: doc_deploy: runs-on: ubuntu-latest diff --git a/.github/workflows/pr-ng17.yml b/.github/workflows/pr-ng17.yml index d083d8d9a8..894ebd2d0e 100644 --- a/.github/workflows/pr-ng17.yml +++ b/.github/workflows/pr-ng17.yml @@ -1,5 +1,7 @@ name: PR NG 17 on: + workflow_dispatch: + workflow_call: pull_request_target: branches: - main diff --git a/.github/workflows/pr-ng18.yml b/.github/workflows/pr-ng18.yml new file mode 100644 index 0000000000..42f72cff39 --- /dev/null +++ b/.github/workflows/pr-ng18.yml @@ -0,0 +1,142 @@ +name: PR NG 18 +on: + workflow_dispatch: + workflow_call: + pull_request_target: + branches: + - main +jobs: + doc_deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + ref: ${{ github.event.pull_request.head.ref }} + repository: ${{ github.event.pull_request.head.repo.full_name }} + fetch-depth: 0 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v2 + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: 'Initial changes 18' + run: | + cp -f package.json.ng17 package.json + cp -f package-lock.json.ng17 package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: 'Set version 18' + run: npx nx generate @prizm-ui/nx-mv:apply -n v18 + + - name: 'Clears all the cached Nx artifacts and metadata ' + run: npx nx reset + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: 'Upload to Firebase HOSTING (ng17)' + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + expires: 5d + target: v4 + projectId: prizmui + + lint_build_test: + needs: doc_deploy + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + ref: ${{ github.event.pull_request.head.ref }} + repository: ${{ github.event.pull_request.head.repo.full_name }} + fetch-depth: 0 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v2 + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: 'Initial changes 18' + run: | + cp -f package.json.ng17 package.json + cp -f package-lock.json.ng17 package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + # - run: npx nx workspace-lint + # - run: npx nx clear-cache + + - name: 'Set version 17' + run: npx nx generate @prizm-ui/nx-mv:apply -n v18 + + - name: 'Clears all the cached Nx artifacts and metadata ' + run: npx nx reset + + - run: npx nx affected --target=test --base=origin/main --parallel --max-parallel=3 --passWithNoTests + - run: npx nx affected --target=lint --base=origin/main + # - run: npx nx affected --target=lint --base=origin/main --parallel --max-parallel=3 + # TODO remove schematics excluding after fix + - run: npx nx affected --target=build --base=origin/main --prod + - run: npx nx format:check --base=origin/main +# TODO LATER fix playwright test +# - name: Install Cypress +# run: npx cypress install + +# - name: Run e2e cypress test +# run: npx nx affected --target=e2e --base=main --prod --parallel --max-parallel=3 diff --git a/.github/workflows/pre-release-publish-ng18.yml b/.github/workflows/pre-release-publish-ng18.yml new file mode 100644 index 0000000000..98188ff7b9 --- /dev/null +++ b/.github/workflows/pre-release-publish-ng18.yml @@ -0,0 +1,411 @@ +# TODO: later change tag by input variable ${{ inputs.tag }} +name: Publish next packages 18 +on: + workflow_dispatch: + workflow_call: +env: + npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} +permissions: + contents: read + packages: write +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v3 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: 'Initial changes 18' + run: | + cp -f package.json.ng17 package.json + cp -f package-lock.json.ng17 package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: Set up environment variables + run: | + last_next_version=$( + (npm view @prizm-ui/components versions --tag next --json 2>/dev/null || echo '4.3.0-next.0') | jq '([.[] | select(startswith("4.3.0-next"))] | last // "4.3.0-next.0")' 2>/dev/null || echo '4.3.0-next.0' + ) + echo "LAST_NEXT_VERSION=${last_next_version}" >> $GITHUB_ENV + + - name: 'Set version 18' + run: npx nx generate @prizm-ui/nx-mv:apply -n v18 + + - name: 'Update next versions' + run: npx nx generate @prizm-ui/nx-plugin:update-version --updateInDependencies true --newVersion="4.*.*-next.up" --all --currentVersion="${{ env.LAST_NEXT_VERSION }}" + + - name: 'Build next versions' + run: npx nx run-many --target=build --all --parallel --max-parallel=3 + + - name: Upload dist as artifacts... + id: dist-cache-save + uses: actions/upload-artifact@v3 + with: + name: dist + path: ./dist + + deploy_to_doc: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: Deploy doc to firebase + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: v4-next + + publish-components: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/components && npm publish --tag next --access public --verbose + + publish-i18n: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/i18n && npm publish --tag next --access public --verbose + + publish-helpers: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/helpers && npm publish --tag next --access public --verbose + + publish-core: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/core && npm publish --tag next --access public --verbose + + publish-theme: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/theme && npm publish --tag next --access public --verbose + + publish-icons: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/icons/base && npm publish --tag next --access public --verbose + + publish-flags: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/icons/flags && npm publish --tag next --access public --verbose + + publish-plugin: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/plugin && npm publish --tag next --access public --verbose + + publish-ast: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/ast && npm publish --tag next --access public --verbose + + publish-charts: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/charts && npm publish --tag next --access public --verbose + + publish-nxmv: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/nxmv && npm publish --tag next --access public --verbose diff --git a/.github/workflows/pre-release-publish-ng18.yml.ng18 b/.github/workflows/pre-release-publish-ng18.yml.ng18 new file mode 100644 index 0000000000..febdec4da6 --- /dev/null +++ b/.github/workflows/pre-release-publish-ng18.yml.ng18 @@ -0,0 +1,411 @@ +# TODO: later change tag by input variable ${{ inputs.tag }} +name: Publish next packages 18 +on: + workflow_dispatch: + workflow_call: +env: + npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} +permissions: + contents: read + packages: write +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v3 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + # - name: 'Initial changes 18' + # run: | + # cp -f package.json package.json + # cp -f package-lock.json package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: Set up environment variables + run: | + last_next_version=$( + (npm view @prizm-ui/components versions --tag next --json 2>/dev/null || echo '<%= version %>-next.0') | jq '([.[] | select(startswith("<%= version %>-next"))] | last // "<%= version %>-next.0")' 2>/dev/null || echo '<%= version %>-next.0' + ) + echo "LAST_NEXT_VERSION=${last_next_version}" >> $GITHUB_ENV + + # - name: 'Set version 18' + # run: npx nx generate @prizm-ui/nx-mv:apply -n v18 + + - name: 'Update next versions' + run: npx nx generate @prizm-ui/nx-plugin:update-version --updateInDependencies true --newVersion="4.*.*-next.up" --all --currentVersion="${{ env.LAST_NEXT_VERSION }}" + + - name: 'Build next versions' + run: npx nx run-many --target=build --all --parallel --max-parallel=3 + + - name: Upload dist as artifacts... + id: dist-cache-save + uses: actions/upload-artifact@v3 + with: + name: dist + path: ./dist + + deploy_to_doc: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: Deploy doc to firebase + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: v4-next + + publish-components: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/components && npm publish --tag next --access public --verbose + + publish-i18n: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/i18n && npm publish --tag next --access public --verbose + + publish-helpers: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/helpers && npm publish --tag next --access public --verbose + + publish-core: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/core && npm publish --tag next --access public --verbose + + publish-theme: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/theme && npm publish --tag next --access public --verbose + + publish-icons: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/icons/base && npm publish --tag next --access public --verbose + + publish-flags: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/icons/flags && npm publish --tag next --access public --verbose + + publish-plugin: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/plugin && npm publish --tag next --access public --verbose + + publish-ast: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/ast && npm publish --tag next --access public --verbose + + publish-charts: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/charts && npm publish --tag next --access public --verbose + + publish-nxmv: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_18-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_18- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/nxmv && npm publish --tag next --access public --verbose diff --git a/.prettierignore b/.prettierignore index 605cd6b4d1..fa774767ee 100644 --- a/.prettierignore +++ b/.prettierignore @@ -7,3 +7,5 @@ /.nx/cache .angular + +/.nx/workspace-data \ No newline at end of file diff --git a/apps/doc/src/app/about-prizm/contacts/contacts.module.ts b/apps/doc/src/app/about-prizm/contacts/contacts.module.ts index 39e864f61f..58447bcec0 100644 --- a/apps/doc/src/app/about-prizm/contacts/contacts.module.ts +++ b/apps/doc/src/app/about-prizm/contacts/contacts.module.ts @@ -1,6 +1,6 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { PrizmAccordionModule, PrizmTableModule } from '@prizm-ui/components'; +import { PrizmTableModule } from '@prizm-ui/components'; import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; import { ContactsComponent } from './contacts.component'; diff --git a/apps/doc/src/app/app.module.ts b/apps/doc/src/app/app.module.ts index 4f4b18191e..45f2170c74 100644 --- a/apps/doc/src/app/app.module.ts +++ b/apps/doc/src/app/app.module.ts @@ -24,7 +24,7 @@ import { VersionManagerModule } from './version-manager/version-manager.module'; import { HttpClient, HttpClientModule } from '@angular/common/http'; import { registerLocaleData } from '@angular/common'; import localeRu from '@angular/common/locales/ru'; -import { PrizmAccordionModule, PrizmToastModule, PrizmToggleModule } from '@prizm-ui/components'; +import { PrizmAccordionModule, PrizmToastModule, PrizmToggleComponent } from '@prizm-ui/components'; import { PrizmThemeService } from '@prizm-ui/theme'; import { ContactsModule } from './about-prizm/contacts/contacts.module'; import { DesignSystemModule } from './about-prizm/design-system/design-system.module'; @@ -57,7 +57,7 @@ registerLocaleData(localeRu); TuiStringifyContentPipeModule, TuiStringifyPipeModule, TuiToggleModule, - PrizmToggleModule, + PrizmToggleComponent, TuiModeModule, TuiLinkModule, VersionManagerModule, diff --git a/apps/doc/src/app/app.routes.ts b/apps/doc/src/app/app.routes.ts index 5471ef5260..23978484ee 100644 --- a/apps/doc/src/app/app.routes.ts +++ b/apps/doc/src/app/app.routes.ts @@ -693,6 +693,13 @@ export const ROUTES: Routes = [ title: 'Overlay', }, }, + { + path: 'tools/nxmv', + loadChildren: () => import('./tools/nxmv/nxmv.module').then(i => i.NxmvModule), + data: { + title: 'NXMV', + }, + }, { path: 'tools/zone-events', loadChildren: () => import('./tools/zone-event/zone-event.module').then(i => i.ZoneEventModule), diff --git a/apps/doc/src/app/charts/area/area.module.ts b/apps/doc/src/app/charts/area/area.module.ts index 36715d7ea6..c66571f2d7 100644 --- a/apps/doc/src/app/charts/area/area.module.ts +++ b/apps/doc/src/app/charts/area/area.module.ts @@ -4,13 +4,13 @@ import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; import { RouterModule } from '@angular/router'; import { AreaComponent } from './area.component'; import { PrizmChartsAreaExampleComponent } from './examples/base/prizm-charts-area-example.component'; -import { PrizmChartsAreaModule } from '@prizm-ui/charts'; +import { PrizmChartsAreaComponent } from '@prizm-ui/charts'; @NgModule({ imports: [ CommonModule, PrizmAddonDocModule, - PrizmChartsAreaModule, + PrizmChartsAreaComponent, RouterModule.forChild(prizmDocGenerateRoutes(AreaComponent)), ], declarations: [PrizmChartsAreaExampleComponent, AreaComponent], diff --git a/apps/doc/src/app/charts/area/examples/setup-module.md b/apps/doc/src/app/charts/area/examples/setup-module.md index 84fd30b37f..3b2163db7b 100644 --- a/apps/doc/src/app/charts/area/examples/setup-module.md +++ b/apps/doc/src/app/charts/area/examples/setup-module.md @@ -1,11 +1,11 @@ ```ts import { NgModule } from '@angular/core'; -import { PrizmChartsAreaModule } from '@prizm-ui/charts'; +import { PrizmChartsAreaComponent } from '@prizm-ui/charts'; @NgModule({ imports: [ // ... - PrizmChartsAreaModule, + PrizmChartsAreaComponent, ], }) export class MyModule {} diff --git a/apps/doc/src/app/charts/bar/bar.component.html b/apps/doc/src/app/charts/bar/bar.component.html index 9b303ea7a2..aec5099214 100644 --- a/apps/doc/src/app/charts/bar/bar.component.html +++ b/apps/doc/src/app/charts/bar/bar.component.html @@ -132,7 +132,7 @@
Import
- PrizmChartsBarModule
+ PrizmChartsBarComponent
into a module where you want to use our component
Import
- PrizmChartsLineModule
+ PrizmChartsLineComponent
into a module where you want to use our component
Import
- PrizmChartsGaugeModule
+ PrizmChartsGaugeComponent
into a module where you want to use our component
Import
- PrizmChartsLineModule
+ PrizmChartsLineComponent
into a module where you want to use our component
Import
- PrizmChartsPieModule
+ PrizmChartsPieComponent
into a module where you want to use our component
Import
- PrizmChartsRadarModule
+ PrizmChartsRadarComponent
into a module where you want to use our component
Import
- PrizmChartsRadialBarModule
+ PrizmChartsRadialBarComponent
into a module where you want to use our component
Import
- PrizmChartsScatterModule
+ PrizmChartsScatterComponent
into a module where you want to use our component
Import
- PrizmChartsTreemapModule
+ PrizmChartsTreemapComponent
into a module where you want to use our component
Import
- PrizmChartsWaterfallModule
+ PrizmChartsWaterfallComponent
into a module where you want to use our component
Import
- PrizmButtonModule
+ PrizmButtonComponent
into a module where you want to use our component
Import
- PrizmButtonModule
+ PrizmButtonComponent
into a module where you want to use our component
Import
- PrizmButtonModule
+ PrizmSplitButtonComponent
into a module where you want to use our component
Import
- PrizmButtonModule
+ PrizmButtonComponent
into a module where you want to use our component
Import
- PrizmCalendarMonthModule
+ PrizmCalendarMonthComponent
into a module where you want to use our component
Import
- PrizmCalendarRangeModule
+ PrizmCalendarRangeComponent
into a module where you want to use our component
Import
- PrizmCardModule
+ PrizmCardComponent
into a module where you want to use our component
Import
- PrizmCardModule
+ PrizmCounterComponent
into a module where you want to use our component
Import
- PrizmCronHumanReadableModule
+ PrizmCronHumanReadablePipe
into a module where you want to use our component
Import
- PrizmConfirmDialogModule
+ PrizmDialogConfirmComponent
into a module where you want to use our component
Import
- PrizmDialogModule
+ PrizmDialogComponent
into a module where you want to use our component
Import
- PrizmSidebarModule
+ PrizmSidebarComponent
into a module where you want to use our component
Import
- PrizmErrorPageModule
+ PrizmErrorPageComponent
into a module where you want to use our component
- Импортируйте PrizmFileUploadModule
+ Импортируйте PrizmFileUploadComponent
в модуль в котором хотите использовать компоненту
Import
- PrizmHintModule
+ PrizmHintDirective
into a module where you want to use our component
prizmIconsProvideOldSvgNameTransformer()
+
- Импортируйте PrizmIndicatorModule
+ Импортируйте PrizmIndicatorComponent
в модуль в котором хотите использовать компоненту
Import
- PrizmInputDateMultiModule
+ PrizmInputDateMultiComponent
into a module where you want to use our component
Import
- PrizmCardModule
+ PrizmListingItemComponent
into a module where you want to use our component
Import
- PrizmLoaderModule
+ PrizmLoaderComponent
into a module where you want to use our component
- Импортируйте PrizmPaginatorModule
+ Импортируйте PrizmPaginatorComponent
в модуль в котором хотите использовать компоненту
- Импортируйте PrizmPanelModule
+ Импортируйте PrizmPanelComponent
в модуль в котором хотите использовать компоненту
- Импортируйте PrizmRadioButtonModule
+ Импортируйте PrizmRadioButtonComponent
в модуль в котором хотите использовать компоненту
Import
- PrizmLoaderModule
+ PrizmLoaderComponent
into a module where you want to use our component
- Импортируйте PrizmSwitcherModule
+ Импортируйте PrizmSwitcherComponent
в модуль в котором хотите использовать компоненту
Import
- PrizmToggleModule
+ PrizmToggleComponent
into a module where you want to use our component
--name
(обязательно): Имя проекта, для которого будет применяться обновление.--config
(опционально): Путь к конфигурационному файлу, описывающему, какие изменения
+ необходимо внести. Если не указан ищей файл конфига nxmv.json в рут папке проекта
+ --var[VariableName]
(опционально): Дополнительные переменные, которые могут быть
+ использованы в шаблонах EJS.
+ extFile
для файлов
+ и extFolder
для папок в конфигурационном файле.
+ extFolder
: Список расширений папок, которые будут обновлены. Например, если указано
+ .ng18, все папки с этим расширением будут обработаны.
+ extFile
: Список расширений файлов, которые будут обновлены. Например, если указано .ng18,
+ все файлы с этим расширением будут обработаны.
+ all
: Если установлено в true, обновляет все проекты в рабочем пространстве. Если false,
+ обновляет только указанные проекты.
+ rootChange
: Если установлено в true, обновляет файлы в корневой директории проекта.
+ remove
: Список файлов, которые будут удалены перед выполнением обновлений.consts
: Константы, которые будут доступны в шаблонах EJS для динамического создания
+ файлов. В данном примере, ngVersion будет доступен в шаблонах как переменная.
+ @prizm-ui/nx-mv:apply
+ предоставляет мощный и гибкий способ автоматизировать обновление файлов проектов в рабочем пространстве
+ Nx.
+
Import
- PrizmOverlayModule
+ PrizmOverlayComponent
into a module where you want to use our component
Import
- PrizmOverlayModule
+ PrizmOverlayComponent
into a module where you want to use our component
Import
- PrizmToObservableModule
+ PrizmToObservablePipe
into a module where you want to use our pipe
Import
- PrizmZoneEventModule
+ PrizmZoneEventDirective
into a service where you want to use our directive