diff --git a/.github/workflows/certora_4337.yml b/.github/workflows/certora_4337.yml index d30ad49f4..894b8d24f 100644 --- a/.github/workflows/certora_4337.yml +++ b/.github/workflows/certora_4337.yml @@ -23,6 +23,11 @@ jobs: steps: - uses: actions/checkout@v3 + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 9 + - name: Install python uses: actions/setup-python@v4 with: { python-version: 3.11 } @@ -37,7 +42,7 @@ jobs: sudo mv solc-static-linux /usr/local/bin/solc8.23 - name: Install dependencies - run: pnpm install + run: pnpm install - name: Verify rule ${{ matrix.rule }} working-directory: ./modules/4337 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ce442acd5..bb310d45e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,10 +6,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 9 - uses: actions/setup-node@v4 with: node-version: 20.x - cache: npm - cache-dependency-path: package-lock.json - - run: npm ci - - run: npm run fmt:global-check + cache: pnpm + - run: pnpm install + - run: pnpm run fmt:global-check diff --git a/.github/workflows/ci_4337.yml b/.github/workflows/ci_4337.yml index df4b06f04..8236bc89e 100644 --- a/.github/workflows/ci_4337.yml +++ b/.github/workflows/ci_4337.yml @@ -9,13 +9,16 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 9 - uses: actions/setup-node@v4 with: node-version: 20.x - cache: npm - cache-dependency-path: package-lock.json + cache: pnpm - run: | - npm ci + pnpm install npm run coverage -w modules/4337 - name: Coveralls uses: coverallsapp/github-action@master @@ -26,24 +29,31 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 9 - uses: actions/setup-node@v4 with: node-version: 20.x - cache: npm - cache-dependency-path: package-lock.json + cache: pnpm - run: | - npm ci + pnpm install npm run test:4337 -w modules/4337 lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 9 - uses: actions/setup-node@v4 with: node-version: 20.x - cache: npm - cache-dependency-path: package-lock.json + cache: pnpm - run: | - npm ci + pnpm install npm run lint -w modules/4337 npm run fmt:check -w modules/4337 diff --git a/.github/workflows/ci_4337_gas_metering.yml b/.github/workflows/ci_4337_gas_metering.yml index c4b5a541f..c99a6e5c3 100644 --- a/.github/workflows/ci_4337_gas_metering.yml +++ b/.github/workflows/ci_4337_gas_metering.yml @@ -10,6 +10,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 9 - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} @@ -17,6 +21,6 @@ jobs: - name: Install dependencies run: pnpm install - run: | - npm run fmt:check -w examples/4337-gas-metering - npm run lint -w examples/4337-gas-metering - npm run build -w examples/4337-gas-metering + pnpm run --filter "@safe-global/safe-modules-example-4337-gas-metering" fmt:check + pnpm run --filter "@safe-global/safe-modules-example-4337-gas-metering" lint + pnpm run --filter "@safe-global/safe-modules-example-4337-gas-metering" build diff --git a/.github/workflows/ci_4337_local_bundler.yml b/.github/workflows/ci_4337_local_bundler.yml index 62e4dddf1..099478eda 100644 --- a/.github/workflows/ci_4337_local_bundler.yml +++ b/.github/workflows/ci_4337_local_bundler.yml @@ -9,11 +9,16 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 9 + - uses: actions/setup-node@v4 with: node-version: 20.x - cache: npm - cache-dependency-path: package-lock.json + cache: pnpm - run: | - npm ci - npm run lint -w packages/4337-local-bundler + pnpm install + pnpm run --filter "@safe-global/safe-4337-local-bundler" lint diff --git a/.github/workflows/ci_4337_upstream_bundler.yml b/.github/workflows/ci_4337_upstream_bundler.yml index 4f7f857e8..340681ab1 100644 --- a/.github/workflows/ci_4337_upstream_bundler.yml +++ b/.github/workflows/ci_4337_upstream_bundler.yml @@ -15,12 +15,17 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 9 + - uses: actions/setup-node@v4 with: node-version: 20.x - cache: npm - cache-dependency-path: package-lock.json + cache: pnpm - run: | - npm ci + pnpm install npm run test:4337:upstream -w modules/4337 npm run test:4337:upstream -w modules/passkey diff --git a/.github/workflows/ci_passkey.yml b/.github/workflows/ci_passkey.yml index 05968a442..abd726b8d 100644 --- a/.github/workflows/ci_passkey.yml +++ b/.github/workflows/ci_passkey.yml @@ -9,14 +9,17 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 9 - uses: actions/setup-node@v4 with: node-version: 20.x - cache: npm - cache-dependency-path: package-lock.json + cache: pnpm - run: | - npm ci - npm run coverage -w modules/passkey + pnpm install + pnpm run --filter "@safe-global/safe-passkey" coverage - uses: coverallsapp/github-action@master with: path-to-lcov: modules/passkey/coverage/lcov.info @@ -25,37 +28,46 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 9 - uses: actions/setup-node@v4 with: node-version: 20.x - cache: npm - cache-dependency-path: package-lock.json + cache: pnpm - run: | - npm ci - npm run lint -w modules/passkey - npm run fmt:check -w modules/passkey - npm run build -w modules/passkey + pnpm install + pnpm run --filter "@safe-global/safe-passkey" lint -w + pnpm run --filter "@safe-global/safe-passkey" fmt:check + pnpm run --filter "@safe-global/safe-passkey" build e2e: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 9 - uses: actions/setup-node@v4 with: node-version: 20.x - cache: npm - cache-dependency-path: package-lock.json + cache: pnpm - run: | - npm ci - npm run test:4337 -w modules/passkey + pnpm install + pnpm run --filter "@safe-global/safe-passkey" test:4337 benchmark: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 9 - uses: actions/setup-node@v4 with: node-version: 20.x - cache: npm - cache-dependency-path: package-lock.json + cache: pnpm - run: | - npm ci - npm run bench -w modules/passkey + pnpm install + pnpm run run --filter "@safe-global/safe-passkey" bench diff --git a/.github/workflows/ci_passkey_example.yml b/.github/workflows/ci_passkey_example.yml index 57ac18d63..141055ada 100644 --- a/.github/workflows/ci_passkey_example.yml +++ b/.github/workflows/ci_passkey_example.yml @@ -11,13 +11,16 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 9 - uses: actions/setup-node@v4 with: node-version: 20.x - cache: npm - cache-dependency-path: package-lock.json + cache: pnpm - run: | - npm ci + pnpm install npm run lint -w examples/4337-passkeys npm run build -w examples/4337-passkeys env: diff --git a/.npmrc b/.npmrc index 3e775efb0..0e74e4411 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1,2 @@ auto-install-peers=true +shamefully-hoist=true \ No newline at end of file diff --git a/.prettierignore b/.prettierignore index dcc491490..97ce69751 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1,5 @@ +# They're excluded on the global level because each of them defines its own linting and formatting rules examples/** modules/** packages/** +pnpm-lock.yaml \ No newline at end of file diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index bbc0b1eb7..f956dbf8d 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,4 +1,4 @@ packages: - 'examples/*' - 'packages/*' - - 'modules/*' \ No newline at end of file + - 'modules/*'