diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index b387561..096a9e5 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -13,8 +13,8 @@ jobs: strategy: fail-fast: false matrix: - serverless: ['1', '2', '3'] - node: [ '14', '15', '16', '18', '19', '20', '21' ] + serverless: ['2', '3', '4'] + node: [ '18', '20', '22' ] name: CI (Node v${{ matrix.node }}, serverless@${{ matrix.serverless }}) steps: - uses: actions/checkout@v2 @@ -32,23 +32,26 @@ jobs: # Some versions of npm install peer dependencies npm i serverless@${{ matrix.serverless }} npx serverless --version + npm link ../../ npx serverless package --stage production # Must match value of `TEST_VAR` in `.env.production` cat .serverless/cloudformation-template-update-stack.json | grep cf5bb467-9052-4a34-b318-f6df31644229 working-directory: examples/simple-express-app + env: + SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }} - name: publish # Only publish (maybe) for one version of Node, and only on 'master' - if: ${{ matrix.node == 14 && matrix.serverless == '3' && github.ref == 'refs/heads/master' }} + if: ${{ matrix.node == 22 && matrix.serverless == '3' && github.ref == 'refs/heads/master' }} run: npm run deploy env: NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} - name: Coveralls # Only send coverage details for one version of Node - if: ${{ matrix.node == 14 }} + if: ${{ matrix.node == 22 }} uses: coverallsapp/github-action@master with: github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/examples/simple-express-app/package-lock.json b/examples/simple-express-app/package-lock.json index ff1b618..c549fd8 100644 --- a/examples/simple-express-app/package-lock.json +++ b/examples/simple-express-app/package-lock.json @@ -12,11 +12,8 @@ "express": "^4.18.2", "serverless-http": "^3.2.0" }, - "devDependencies": { - "serverless-dotenv-plugin": "^6.0.0" - }, "peerDependencies": { - "serverless": "1 || 2 || pre-3 || 3" + "serverless": "1 || 2 || pre-3 || 3 || 4" } }, "node_modules/@kwsites/file-exists": { @@ -453,6 +450,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -906,6 +904,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1103,6 +1102,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -1113,7 +1113,8 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true }, "node_modules/combined-stream": { "version": "1.0.8", @@ -1615,15 +1616,6 @@ "node": ">=8" } }, - "node_modules/dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/dotenv-expand": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", @@ -2370,6 +2362,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, "engines": { "node": ">=8" } @@ -4067,29 +4060,6 @@ "node": ">=12.0" } }, - "node_modules/serverless-dotenv-plugin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serverless-dotenv-plugin/-/serverless-dotenv-plugin-6.0.0.tgz", - "integrity": "sha512-8tLVNwHfDO0sBz6+m+DLTZquRk0AZq9rzqk3kphm1iIWKfan9R7RKt4hdq3eQ0kmDoqzudjPYBEXAJ5bUNKeGQ==", - "dev": true, - "dependencies": { - "chalk": "^4.1.2", - "dotenv": "^16.0.3", - "dotenv-expand": "^10.0.0" - }, - "peerDependencies": { - "serverless": "1 || 2 || pre-3 || 3" - } - }, - "node_modules/serverless-dotenv-plugin/node_modules/dotenv-expand": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", - "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/serverless-http": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/serverless-http/-/serverless-http-3.2.0.tgz", @@ -4448,6 +4418,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -5315,6 +5286,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, "requires": { "color-convert": "^2.0.1" } @@ -5672,6 +5644,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5821,6 +5794,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, "requires": { "color-name": "~1.1.4" } @@ -5828,7 +5802,8 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true }, "combined-stream": { "version": "1.0.8", @@ -6233,12 +6208,6 @@ "path-type": "^4.0.0" } }, - "dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", - "dev": true - }, "dotenv-expand": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", @@ -6818,7 +6787,8 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true }, "has-symbols": { "version": "1.0.3", @@ -8126,25 +8096,6 @@ } } }, - "serverless-dotenv-plugin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serverless-dotenv-plugin/-/serverless-dotenv-plugin-6.0.0.tgz", - "integrity": "sha512-8tLVNwHfDO0sBz6+m+DLTZquRk0AZq9rzqk3kphm1iIWKfan9R7RKt4hdq3eQ0kmDoqzudjPYBEXAJ5bUNKeGQ==", - "dev": true, - "requires": { - "chalk": "^4.1.2", - "dotenv": "^16.0.3", - "dotenv-expand": "^10.0.0" - }, - "dependencies": { - "dotenv-expand": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", - "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", - "dev": true - } - } - }, "serverless-http": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/serverless-http/-/serverless-http-3.2.0.tgz", @@ -8412,6 +8363,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, "requires": { "has-flag": "^4.0.0" } diff --git a/examples/simple-express-app/package.json b/examples/simple-express-app/package.json index 1a1d16c..fc54de8 100644 --- a/examples/simple-express-app/package.json +++ b/examples/simple-express-app/package.json @@ -13,10 +13,7 @@ "express": "^4.18.2", "serverless-http": "^3.2.0" }, - "devDependencies": { - "serverless-dotenv-plugin": "^6.0.0" - }, "peerDependencies": { - "serverless": "1 || 2 || pre-3 || 3" + "serverless": "2 || pre-3 || 3 || 4" } } diff --git a/examples/simple-express-app/serverless.yml b/examples/simple-express-app/serverless.yml index 9ca6473..9ae52d7 100644 --- a/examples/simple-express-app/serverless.yml +++ b/examples/simple-express-app/serverless.yml @@ -2,6 +2,10 @@ service: my-express-application +package: + patterns: + - '!node_modules/serverless-dotenv-plugin/**' + plugins: - ../../ diff --git a/package.json b/package.json index d6ee455..c015622 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,6 @@ "sinon-chai": "^3.7.0" }, "peerDependencies": { - "serverless": "1 || 2 || pre-3 || 3" + "serverless": "2 || pre-3 || 3 || 4" } }