diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 3aa1984f042..9e4ab077948 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -27,7 +27,7 @@ jobs: .delta.dependencyCount - name: Get TypeScript conversion progress run: - grep -r --exclude-dir="node_modules" --include="*.mts" "@ts-expect-error" . | wc -l | xargs > + grep -r --exclude-dir="node_modules" --include="*.ts" "@ts-expect-error" . | wc -l | xargs > .delta.tsConversion && echo " (Number of ts-expect-error directives)" >> .delta.tsConversion - name: Save PR number if: github.event_name == 'pull_request' diff --git a/CHANGELOG.md b/CHANGELOG.md index 334a700c58a..7efc47be4df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,18 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +## [17.10.0](https://github.com/netlify/cli/compare/v17.9.0...v17.10.0) (2023-12-06) + + +### Features + +* add blobs upload step ([#6223](https://github.com/netlify/cli/issues/6223)) ([33177fc](https://github.com/netlify/cli/commit/33177fc0608952196f40249a3e0fae1e42af25a0)) + + +### Bug Fixes + +* **deps:** update netlify packages ([#6244](https://github.com/netlify/cli/issues/6244)) ([b3f857a](https://github.com/netlify/cli/commit/b3f857a939ed78e726545092c2bbb2d80ae5105e)) + ## [17.9.0](https://github.com/netlify/cli/compare/v17.8.1...v17.9.0) (2023-12-04) diff --git a/package-lock.json b/package-lock.json index a6805ce593f..899c453f3d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,20 +1,20 @@ { "name": "netlify-cli", - "version": "17.9.0", + "version": "17.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "netlify-cli", - "version": "17.9.0", + "version": "17.10.0", "hasInstallScript": true, "license": "MIT", "dependencies": { "@bugsnag/js": "7.20.2", "@fastify/static": "6.10.2", "@netlify/blobs": "6.3.1", - "@netlify/build": "29.29.4", - "@netlify/build-info": "7.11.1", + "@netlify/build": "29.31.0", + "@netlify/build-info": "7.11.3", "@netlify/config": "20.10.0", "@netlify/edge-bundler": "10.1.3", "@netlify/local-functions-proxy": "1.1.1", @@ -2287,9 +2287,9 @@ } }, "node_modules/@netlify/build": { - "version": "29.29.4", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.29.4.tgz", - "integrity": "sha512-Df0f5M4FN3uUrYImvVOY6SRON+YgsWwBoeJKsNUso3EIAPjCXNLoGYExH1LE/LmS6MgDbYQcm/jKndhTVY0sIA==", + "version": "29.31.0", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.31.0.tgz", + "integrity": "sha512-XtUXnj3LtdWxcgP4kz1k0creF9bZa7eGNh85B89sw4V99Mtsn1Sl89yAZJkEH6rtuGJIs1eiQ261nlhUZ6+C6Q==", "dependencies": { "@bugsnag/js": "^7.0.0", "@honeycombio/opentelemetry-node": "^0.5.0", @@ -2367,9 +2367,9 @@ } }, "node_modules/@netlify/build-info": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/@netlify/build-info/-/build-info-7.11.1.tgz", - "integrity": "sha512-JnsFgY22eOT++VRGoLHQDWzp1cvWFgsxiIk+/y3VgdmUQdugeKn5HeUYfWkBOau4xTCu53MKhtuVm8DkLpH19g==", + "version": "7.11.3", + "resolved": "https://registry.npmjs.org/@netlify/build-info/-/build-info-7.11.3.tgz", + "integrity": "sha512-lnJsJcoFSZIIB+4tOU/rdPjPn2+TP896B9y23z5THyACeN/e2I0Y7Y+d+BzHgFDcJBwqFpIehEs2jf8wPb9CHw==", "dependencies": { "@bugsnag/js": "^7.20.0", "dot-prop": "^7.2.0", @@ -26448,9 +26448,9 @@ "integrity": "sha512-JjLz3WW7Wp6NVwQtDxPpWio4L3u9pnnDXnQ7Q16zgAFE9IA1rSjZVSsyOQrtkiBQIxaJ1Zr5eky8vrXJ5mdRWg==" }, "@netlify/build": { - "version": "29.29.4", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.29.4.tgz", - "integrity": "sha512-Df0f5M4FN3uUrYImvVOY6SRON+YgsWwBoeJKsNUso3EIAPjCXNLoGYExH1LE/LmS6MgDbYQcm/jKndhTVY0sIA==", + "version": "29.31.0", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-29.31.0.tgz", + "integrity": "sha512-XtUXnj3LtdWxcgP4kz1k0creF9bZa7eGNh85B89sw4V99Mtsn1Sl89yAZJkEH6rtuGJIs1eiQ261nlhUZ6+C6Q==", "requires": { "@bugsnag/js": "^7.0.0", "@honeycombio/opentelemetry-node": "^0.5.0", @@ -26751,9 +26751,9 @@ } }, "@netlify/build-info": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/@netlify/build-info/-/build-info-7.11.1.tgz", - "integrity": "sha512-JnsFgY22eOT++VRGoLHQDWzp1cvWFgsxiIk+/y3VgdmUQdugeKn5HeUYfWkBOau4xTCu53MKhtuVm8DkLpH19g==", + "version": "7.11.3", + "resolved": "https://registry.npmjs.org/@netlify/build-info/-/build-info-7.11.3.tgz", + "integrity": "sha512-lnJsJcoFSZIIB+4tOU/rdPjPn2+TP896B9y23z5THyACeN/e2I0Y7Y+d+BzHgFDcJBwqFpIehEs2jf8wPb9CHw==", "requires": { "@bugsnag/js": "^7.20.0", "dot-prop": "^7.2.0", diff --git a/package.json b/package.json index c4497327f62..e1e18e7ac58 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "netlify-cli", "description": "Netlify command line tool", - "version": "17.9.0", + "version": "17.10.0", "author": "Netlify Inc.", "type": "module", "engines": { @@ -81,8 +81,8 @@ "@bugsnag/js": "7.20.2", "@fastify/static": "6.10.2", "@netlify/blobs": "6.3.1", - "@netlify/build": "29.29.4", - "@netlify/build-info": "7.11.1", + "@netlify/build": "29.31.0", + "@netlify/build-info": "7.11.3", "@netlify/config": "20.10.0", "@netlify/edge-bundler": "10.1.3", "@netlify/local-functions-proxy": "1.1.1", diff --git a/tests/integration/commands/deploy/deploy.test.js b/tests/integration/commands/deploy/deploy.test.js index a092e147fa2..4460d6eef80 100644 --- a/tests/integration/commands/deploy/deploy.test.js +++ b/tests/integration/commands/deploy/deploy.test.js @@ -824,11 +824,15 @@ describe.skipIf(process.env.NETLIFY_TEST_DISABLE_LIVE === 'true').concurrent('co await builder .withNetlifyToml({ config: { - build: { publish: 'dist', functions: 'functions' }, + build: { functions: 'functions', publish: 'dist' }, }, }) .withContentFile({ - path: 'dist/.netlify/blobs/deploy/hello', + path: 'dist/index.html', + content: 'get blob', + }) + .withContentFile({ + path: '.netlify/blobs/deploy/hello', content: 'hello from the blob', }) .withPackageJson({ @@ -843,21 +847,21 @@ describe.skipIf(process.env.NETLIFY_TEST_DISABLE_LIVE === 'true').concurrent('co path: 'functions/read-blob.ts', content: ` import { getDeployStore } from "@netlify/blobs" - import { Config, Context } from "@netlify/functions" - - export default async (req: Request, context: Context) => { + import { Config } from "@netlify/functions" + + export default async () => { const store = getDeployStore() const blob = await store.get('hello') - + return new Response(blob) } - + export const config: Config = { path: "/read-blob" - } + } `, }) - .buildAsync() + .build() await execa.command('npm install', { cwd: builder.directory }) const { deploy_url: deployUrl } = await callCli( diff --git a/tests/integration/commands/dev/dev-miscellaneous.test.js b/tests/integration/commands/dev/dev-miscellaneous.test.js index 0e9be56a01b..37d25b7fe70 100644 --- a/tests/integration/commands/dev/dev-miscellaneous.test.js +++ b/tests/integration/commands/dev/dev-miscellaneous.test.js @@ -895,7 +895,7 @@ describe.concurrent('commands/dev-miscellaneous', () => { }) }) - test('should respect in-source configuration from internal edge functions', async (t) => { + test.skip('should respect in-source configuration from internal edge functions', async (t) => { await withSiteBuilder('site-with-internal-edge-functions', async (builder) => { const publicDir = 'public' await builder @@ -948,7 +948,7 @@ describe.concurrent('commands/dev-miscellaneous', () => { }) }) - test('Serves edge functions with import maps coming from the `functions.deno_import_map` config property and from the internal manifest', async (t) => { + test.skip('Serves edge functions with import maps coming from the `functions.deno_import_map` config property and from the internal manifest', async (t) => { await withSiteBuilder('site-with-edge-functions-and-import-maps', async (builder) => { const internalEdgeFunctionsDir = path.join('.netlify', 'edge-functions') diff --git a/tests/integration/commands/dev/edge-functions.test.ts b/tests/integration/commands/dev/edge-functions.test.ts index 39392d3deb2..3438a3a54a3 100644 --- a/tests/integration/commands/dev/edge-functions.test.ts +++ b/tests/integration/commands/dev/edge-functions.test.ts @@ -37,7 +37,7 @@ const setup = async ({ fixture }) => { describe.skipIf(isWindows)('edge functions', () => { setupFixtureTests('dev-server-with-edge-functions', { devServer: true, mockApi: { routes } }, () => { - test('should run edge functions in correct order', async ({ devServer }) => { + test.skip('should run edge functions in correct order', async ({ devServer }) => { const response = await got(`http://localhost:${devServer.port}/ordertest`, { throwHttpErrors: false, retry: { limit: 0 }, diff --git a/tests/integration/commands/functions-with-args/functions-with-args.test.js b/tests/integration/commands/functions-with-args/functions-with-args.test.js index c2a016796e6..84fed497917 100644 --- a/tests/integration/commands/functions-with-args/functions-with-args.test.js +++ b/tests/integration/commands/functions-with-args/functions-with-args.test.js @@ -494,7 +494,7 @@ exports.handler = async () => ({ }) }) - test('Serves functions from the internal functions directory', async (t) => { + test.skip('Serves functions from the internal functions directory', async (t) => { await withSiteBuilder('function-internal', async (builder) => { const bundlerConfig = args.includes('esbuild') ? { node_bundler: 'esbuild' } : {}