Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,20 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0 # Not needed if lastUpdated is not enabled
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
run_install: false
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache: pnpm
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Install dependencies
run: npm ci
run: pnpm install --frozen-lockfile
- name: Build with VitePress
run: |
npm run docs:build
pnpm docs:build
touch .vitepress/dist/.nojekyll
10 changes: 7 additions & 3 deletions .github/workflows/ci-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,13 @@ jobs:
fetch-depth: 0
- uses: nrwl/nx-set-shas@v4
name: Derive appropriate SHAs for base and head for `nx affected` commands
- uses: pnpm/action-setup@v4
with:
run_install: false
- uses: actions/setup-node@v4
with:
node-version: 'lts/*'
- run: npm ci
- run: npx nx affected --target=build --parallel=2
- run: npx nx affected --target=test --parallel=2
cache: pnpm
- run: pnpm install --frozen-lockfile
Comment thread
coderabbitai[bot] marked this conversation as resolved.
- run: pnpm nx affected --target=build --parallel=2
- run: pnpm nx affected --target=test --parallel=2
18 changes: 11 additions & 7 deletions .github/workflows/ci-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,26 @@ jobs:
fetch-depth: 0
- uses: nrwl/nx-set-shas@v4
name: Derive appropriate SHAs for base and head for `nx affected` commands
- uses: pnpm/action-setup@v4
with:
run_install: false
- uses: actions/setup-node@v4
with:
node-version: 'lts/-1'
cache: pnpm
- name: 'Create E2E env file'
run: |
echo FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} >> e2e/nx-forge-e2e/.env
echo FORGE_API_TOKEN=${{ secrets.FORGE_API_TOKEN }} >> e2e/nx-forge-e2e/.env
echo ATLASSIAN_PRODUCT=${{ vars.ATLASSIAN_PRODUCT }} >> e2e/nx-forge-e2e/.env
echo ATLASSIAN_SITE_URL=${{ vars.ATLASSIAN_SITE_URL }} >> e2e/nx-forge-e2e/.env
echo DEVELOPER_SPACE_ID=${{ secrets.DEVELOPER_SPACE_ID }} >> e2e/nx-forge-e2e/.env
- run: npm ci
- run: npx commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose
- run: npx nx affected --target=format:check --parallel=2
- run: npx nx affected --target=lint --parallel=2
- run: npx nx affected --target=build --parallel=3
- run: npx nx affected --target=test --parallel=2
- run: npx nx affected --target=e2e --parallel=2 --no-silent
- run: pnpm install --frozen-lockfile
- run: pnpm exec commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose
- run: pnpm nx affected --target=format:check --parallel=2
- run: pnpm nx affected --target=lint --parallel=2
- run: pnpm nx affected --target=build --parallel=3
- run: pnpm nx affected --target=test --parallel=2
- run: pnpm nx affected --target=e2e --parallel=2 --no-silent
env:
NODE_OPTIONS: '--no-deprecation'
10 changes: 7 additions & 3 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,22 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0 # Not needed if lastUpdated is not enabled
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
run_install: false
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache: pnpm
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Install dependencies
run: npm ci
run: pnpm install --frozen-lockfile
- name: Build with VitePress
run: |
npm run docs:build
pnpm docs:build
touch .vitepress/dist/.nojekyll
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
Expand Down
14 changes: 9 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,14 @@ jobs:
name: Checkout [main]
with:
fetch-depth: 0
- uses: pnpm/action-setup@v4
with:
run_install: false
- uses: actions/setup-node@v4
name: Setup Node.js
with:
node-version: 'lts/-1'
cache: pnpm
- name: 'Create E2E env file'
run: |
echo FORGE_EMAIL=${{ secrets.FORGE_EMAIL }} >> e2e/nx-forge-e2e/.env
Expand All @@ -36,17 +40,17 @@ jobs:
echo ATLASSIAN_SITE_URL=${{ vars.ATLASSIAN_SITE_URL }} >> e2e/nx-forge-e2e/.env
echo DEVELOPER_SPACE_ID=${{ secrets.DEVELOPER_SPACE_ID }} >> e2e/nx-forge-e2e/.env
- name: Install dependencies
run: npm ci
run: pnpm install --frozen-lockfile
- name: Build and test
run: |
rm -rf dist
npx nx run nx-forge:build
npx nx run nx-forge:test
pnpm nx run nx-forge:build
pnpm nx run nx-forge:test
- run:
npx nx run nx-forge-e2e:e2e
pnpm nx run nx-forge-e2e:e2e
env:
NODE_OPTIONS: '--no-deprecation'
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npx semantic-release
run: pnpm exec semantic-release
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
/out-tsc

# dependencies
/node_modules
node_modules

# IDEs and editors
/.idea
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Long-term maintainability is a core priority. If you add new functionality, firs

## Technology Stack

- Use npm
- Use pnpm

<!-- nx configuration start-->
<!-- Leave the start & end comments to automatically receive updates. -->
Expand Down
12 changes: 6 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Before you start developing or making any changes to the project, ensure that you have installed the project dependencies via

npm install
pnpm install

This ensures the project toolchain is set up correctly. Specifically, this will install a husky commit hook that ensures commit messages follow the project guidelines.

Expand Down Expand Up @@ -50,8 +50,8 @@ To publish packages to a local registry, do the following:
1. Start Verdaccio by running `nx local-registry` in a terminal. This will become your main registry while the process is running.
2. From the plugin project root run `nx build nx-forge`
3. Make sure the `version` field in `dist/packages/nx-forge/package.json` is unique (not yet published, you may use `9.9.9-alpha.1` and increase the alpha count on each subsequent release).
4. From `dist/packages/nx-forge` run `npm publish`
5.On the consumer side you can now install the latest package version by running `npm i @toolsplus/nx-forge@latest`
4. From `dist/packages/nx-forge` run `pnpm publish`
5. On the consumer side you can now install the latest package version by running `pnpm add @toolsplus/nx-forge@latest`

Note that as soon as you terminate the process with the local Verdaccio registry, you will get back your previous registry configuration.

Expand All @@ -66,9 +66,9 @@ From the project root run
This will update Nx project dependencies in package.json and create a migrations.json file.
Make sure package.json changes make sense and then run

npm install
pnpm install

Once the npm command completes run
Once the install completes, run

nx migrate --run-migrations

Expand All @@ -80,4 +80,4 @@ Finally, proceed with committing and submitting the changes to the repo.

## Update plugin dependencies

If you are add or update plugin dependencies that the nx-forge plugin depends on, i.e. not dependencies used to build the nx-forge plugin, their version must be updated in `packages/nx-forge/package.json` to match the installed version. There are ESLint rules in place to verify that this correct and that all plugin dependencies are declared in the package.json.
If you add or update plugin dependencies that the nx-forge plugin depends on, i.e., not dependencies used to build the nx-forge plugin, their version must be updated in `packages/nx-forge/package.json` to match the installed version. There are ESLint rules in place to verify that this is correct and that all plugin dependencies are declared in the package.json.
Loading
Loading