diff --git a/.github/workflows/test-hosts.yml b/.github/workflows/test-hosts.yml
new file mode 100644
index 000000000..906e35aa4
--- /dev/null
+++ b/.github/workflows/test-hosts.yml
@@ -0,0 +1,55 @@
+name: Hosted tests
+
+on:
+ schedule:
+ - cron: '0 0 * * 0'
+
+env:
+ ASTRO_TELEMETRY_DISABLED: true
+ TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
+ TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
+ VERCEL_ORG_ID: ${{ secrets.VERCEL_TEST_ORG_ID }}
+ VERCEL_PROJECT_ID: ${{ secrets.VERCEL_TEST_PROJECT_ID }}
+ VERCEL_TOKEN: ${{ secrets.VERCEL_TEST_TOKEN }}
+ NETLIFY_SITE_ID: ${{ secrets.NETLIFY_TEST_SITE_ID }}
+ NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_TEST_AUTH_TOKEN }}
+ FORCE_COLOR: true
+
+jobs:
+ test:
+ name: Run tests
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check out repository
+ uses: actions/checkout@v3
+
+ - name: Setup PNPM
+ uses: pnpm/action-setup@v2
+
+ - name: Setup Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 18
+ cache: "pnpm"
+
+ - name: Install dependencies
+ run: pnpm install
+
+ - name: Install Hosts CLIs
+ run: pnpm install --global netlify-cli vercel
+
+ - name: Deploy Vercel
+ working-directory: ./packages/integrations/vercel/test/hosted/hosted-astro-project
+ run:
+ pnpm run build
+ vercel --prod --prebuilt
+
+ - name: Deploy Netlify
+ working-directory: ./packages/integrations/netlify/test/hosted/hosted-astro-project
+ run:
+ pnpm run build
+ netlify deploy --prod
+
+ - name: Test both hosts
+ run:
+ pnpm run test:e2e:hosts
diff --git a/.gitignore b/.gitignore
index 670993200..da6e08ed0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@ dist/
*.tsbuildinfo
.DS_Store
.vercel
+.netlify
_site/
scripts/smoke/*-main/
scripts/memory/project/src/pages/
diff --git a/package.json b/package.json
index 47eae4fbb..5ee1460e4 100644
--- a/package.json
+++ b/package.json
@@ -27,6 +27,7 @@
"test:vite-ci": "turbo run test --filter=astro",
"test:e2e": "cd packages/astro && pnpm playwright install && pnpm run test:e2e",
"test:e2e:match": "cd packages/astro && pnpm playwright install && pnpm run test:e2e:match",
+ "test:e2e:hosts": "turbo run test:hosted",
"benchmark": "astro-benchmark",
"lint": "eslint . --report-unused-disable-directives",
"version": "changeset version && node ./scripts/deps/update-example-versions.js && pnpm install --no-frozen-lockfile && pnpm run format",
diff --git a/packages/integrations/netlify/package.json b/packages/integrations/netlify/package.json
index bc076772f..fe7aa6d17 100644
--- a/packages/integrations/netlify/package.json
+++ b/packages/integrations/netlify/package.json
@@ -34,7 +34,8 @@
"dev": "astro-scripts dev \"src/**/*.ts\"",
"test-fn": "mocha --exit --timeout 20000 --file \"./test/setup.js\" test/functions/",
"test-edge": "deno test --allow-run --allow-read --allow-net --allow-env --allow-write ./test/edge-functions/",
- "test": "pnpm test-fn"
+ "test": "pnpm test-fn",
+ "test:hosted": "mocha --exit --timeout 30000 test/hosted"
},
"dependencies": {
"@astrojs/underscore-redirects": "^0.2.0",
diff --git a/packages/integrations/netlify/test/hosted/README.md b/packages/integrations/netlify/test/hosted/README.md
new file mode 100644
index 000000000..8c1814844
--- /dev/null
+++ b/packages/integrations/netlify/test/hosted/README.md
@@ -0,0 +1,3 @@
+The tests in this folder are done directly on a deployed Netlify website (hosted at https://curious-boba-495d6d.netlify.app) and are not run by the test suite. They instead run every week through a GitHub action.
+
+The purpose of those tests is to make sure that everything works as expected while deployed. In a way, they're as E2E as it gets.
diff --git a/packages/integrations/netlify/test/hosted/hosted-astro-project/astro.config.mjs b/packages/integrations/netlify/test/hosted/hosted-astro-project/astro.config.mjs
new file mode 100644
index 000000000..48b1d4db1
--- /dev/null
+++ b/packages/integrations/netlify/test/hosted/hosted-astro-project/astro.config.mjs
@@ -0,0 +1,11 @@
+import netlify from '@astrojs/netlify';
+import { defineConfig } from 'astro/config';
+
+// https://astro.build/config
+export default defineConfig({
+ output: 'server',
+ adapter: netlify(),
+ experimental: {
+ assets: true,
+ },
+});
diff --git a/packages/integrations/netlify/test/hosted/hosted-astro-project/package.json b/packages/integrations/netlify/test/hosted/hosted-astro-project/package.json
new file mode 100644
index 000000000..fa6f87aea
--- /dev/null
+++ b/packages/integrations/netlify/test/hosted/hosted-astro-project/package.json
@@ -0,0 +1,12 @@
+{
+ "name": "netlify-hosted-astro-project",
+ "version": "0.0.0",
+ "private": true,
+ "scripts": {
+ "build": "astro build"
+ },
+ "dependencies": {
+ "@astrojs/netlify": "file:../../..",
+ "astro": "file:../../../../../astro"
+ }
+}
diff --git a/packages/integrations/netlify/test/hosted/hosted-astro-project/src/assets/penguin.png b/packages/integrations/netlify/test/hosted/hosted-astro-project/src/assets/penguin.png
new file mode 100644
index 000000000..74cb5e8f3
Binary files /dev/null and b/packages/integrations/netlify/test/hosted/hosted-astro-project/src/assets/penguin.png differ
diff --git a/packages/integrations/netlify/test/hosted/hosted-astro-project/src/env.d.ts b/packages/integrations/netlify/test/hosted/hosted-astro-project/src/env.d.ts
new file mode 100644
index 000000000..f7cbe9c1d
--- /dev/null
+++ b/packages/integrations/netlify/test/hosted/hosted-astro-project/src/env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/packages/integrations/netlify/test/hosted/hosted-astro-project/src/pages/index.astro b/packages/integrations/netlify/test/hosted/hosted-astro-project/src/pages/index.astro
new file mode 100644
index 000000000..256bfb407
--- /dev/null
+++ b/packages/integrations/netlify/test/hosted/hosted-astro-project/src/pages/index.astro
@@ -0,0 +1,6 @@
+---
+import { Image } from 'astro:assets';
+import penguin from '../assets/penguin.png';
+---
+
+
diff --git a/packages/integrations/netlify/test/hosted/hosted.test.js b/packages/integrations/netlify/test/hosted/hosted.test.js
new file mode 100644
index 000000000..0ce531e4d
--- /dev/null
+++ b/packages/integrations/netlify/test/hosted/hosted.test.js
@@ -0,0 +1,13 @@
+import { expect } from 'chai';
+
+const NETLIFY_TEST_URL = 'https://curious-boba-495d6d.netlify.app';
+
+describe('Hosted Netlify Tests', () => {
+ it('Image endpoint works', async () => {
+ const image = await fetch(
+ NETLIFY_TEST_URL + '/_image?href=%2F_astro%2Fpenguin.e9c64733.png&w=300&f=webp'
+ );
+
+ expect(image.status).to.equal(200);
+ });
+});
diff --git a/packages/integrations/vercel/package.json b/packages/integrations/vercel/package.json
index 0437186f3..baf404065 100644
--- a/packages/integrations/vercel/package.json
+++ b/packages/integrations/vercel/package.json
@@ -47,7 +47,8 @@
"build": "astro-scripts build \"src/**/*.ts\" && tsc",
"build:ci": "astro-scripts build \"src/**/*.ts\"",
"dev": "astro-scripts dev \"src/**/*.ts\"",
- "test": "mocha --exit --timeout 20000 --file \"./test/setup.js\" test/"
+ "test": "mocha --exit --timeout 20000 --file \"./test/setup.js\" test/ --ignore test/hosted",
+ "test:hosted": "mocha --exit --timeout 30000 test/hosted"
},
"dependencies": {
"@astrojs/internal-helpers": "^0.1.1",
diff --git a/packages/integrations/vercel/test/hosted/README.md b/packages/integrations/vercel/test/hosted/README.md
new file mode 100644
index 000000000..9dbb9bbc0
--- /dev/null
+++ b/packages/integrations/vercel/test/hosted/README.md
@@ -0,0 +1,3 @@
+The tests in this folder are done directly on a deployed Vercel website (hosted at https://astro-vercel-image-test.vercel.app) and are not run by the test suite. They instead run every week through a GitHub action.
+
+The purpose of those tests is to make sure that everything works as expected while deployed. In a way, they're as E2E as it gets.
diff --git a/packages/integrations/vercel/test/hosted/hosted-astro-project/astro.config.mjs b/packages/integrations/vercel/test/hosted/hosted-astro-project/astro.config.mjs
new file mode 100644
index 000000000..e84f7fda5
--- /dev/null
+++ b/packages/integrations/vercel/test/hosted/hosted-astro-project/astro.config.mjs
@@ -0,0 +1,11 @@
+import vercel from '@astrojs/vercel/serverless';
+import { defineConfig } from 'astro/config';
+
+// https://astro.build/config
+export default defineConfig({
+ output: 'server',
+ adapter: vercel(),
+ experimental: {
+ assets: true,
+ },
+});
diff --git a/packages/integrations/vercel/test/hosted/hosted-astro-project/package.json b/packages/integrations/vercel/test/hosted/hosted-astro-project/package.json
new file mode 100644
index 000000000..e8bc2fb7d
--- /dev/null
+++ b/packages/integrations/vercel/test/hosted/hosted-astro-project/package.json
@@ -0,0 +1,12 @@
+{
+ "name": "vercel-hosted-astro-project",
+ "version": "0.0.0",
+ "private": true,
+ "scripts": {
+ "build": "astro build"
+ },
+ "dependencies": {
+ "@astrojs/vercel": "file:../../..",
+ "astro": "file:../../../../../astro"
+ }
+}
diff --git a/packages/integrations/vercel/test/hosted/hosted-astro-project/src/assets/penguin.png b/packages/integrations/vercel/test/hosted/hosted-astro-project/src/assets/penguin.png
new file mode 100644
index 000000000..74cb5e8f3
Binary files /dev/null and b/packages/integrations/vercel/test/hosted/hosted-astro-project/src/assets/penguin.png differ
diff --git a/packages/integrations/vercel/test/hosted/hosted-astro-project/src/env.d.ts b/packages/integrations/vercel/test/hosted/hosted-astro-project/src/env.d.ts
new file mode 100644
index 000000000..f7cbe9c1d
--- /dev/null
+++ b/packages/integrations/vercel/test/hosted/hosted-astro-project/src/env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/packages/integrations/vercel/test/hosted/hosted-astro-project/src/pages/index.astro b/packages/integrations/vercel/test/hosted/hosted-astro-project/src/pages/index.astro
new file mode 100644
index 000000000..256bfb407
--- /dev/null
+++ b/packages/integrations/vercel/test/hosted/hosted-astro-project/src/pages/index.astro
@@ -0,0 +1,6 @@
+---
+import { Image } from 'astro:assets';
+import penguin from '../assets/penguin.png';
+---
+
+
diff --git a/packages/integrations/vercel/test/hosted/hosted.test.js b/packages/integrations/vercel/test/hosted/hosted.test.js
new file mode 100644
index 000000000..f53daa85e
--- /dev/null
+++ b/packages/integrations/vercel/test/hosted/hosted.test.js
@@ -0,0 +1,13 @@
+import { expect } from 'chai';
+
+const VERCEL_TEST_URL = 'https://astro-vercel-image-test.vercel.app';
+
+describe('Hosted Vercel Tests', () => {
+ it('Image endpoint works', async () => {
+ const image = await fetch(
+ VERCEL_TEST_URL + '/_image?href=%2F_astro%2Fpenguin.e9c64733.png&w=300&f=webp'
+ );
+
+ expect(image.status).to.equal(200);
+ });
+});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 993836c76..a0ce06dba 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4508,6 +4508,15 @@ importers:
specifier: workspace:*
version: link:../../../../../../astro
+ packages/integrations/netlify/test/hosted/hosted-astro-project:
+ dependencies:
+ '@astrojs/netlify':
+ specifier: file:../../..
+ version: file:packages/integrations/netlify(astro@2.8.5)
+ astro:
+ specifier: file:../../../../../astro
+ version: file:packages/astro(@types/node@18.16.18)
+
packages/integrations/node:
dependencies:
'@astrojs/webapi':
@@ -5011,6 +5020,15 @@ importers:
specifier: workspace:*
version: link:../../../../../astro
+ packages/integrations/vercel/test/hosted/hosted-astro-project:
+ dependencies:
+ '@astrojs/vercel':
+ specifier: file:../../..
+ version: file:packages/integrations/vercel(astro@2.8.5)
+ astro:
+ specifier: file:../../../../../astro
+ version: file:packages/astro(@types/node@18.16.18)
+
packages/integrations/vue:
dependencies:
'@vitejs/plugin-vue':
@@ -5545,6 +5563,10 @@ packages:
/@astrojs/compiler@1.6.0:
resolution: {integrity: sha512-vxuzp09jAW/ZQ8C4Itf6/OsF76TNjBQC06FNpcayKOzxYkCGHTLh7+0lF4ywmG/fDgSc+f1x7kKxxEKl4nqXvQ==}
+ /@astrojs/internal-helpers@0.1.1:
+ resolution: {integrity: sha512-+LySbvFbjv2nO2m/e78suleQOGEru4Cnx73VsZbrQgB2u7A4ddsQg3P2T0zC0e10jgcT+c6nNlKeLpa6nRhQIg==}
+ dev: false
+
/@astrojs/language-server@1.0.0:
resolution: {integrity: sha512-oEw7AwJmzjgy6HC9f5IdrphZ1GVgfV/+7xQuyf52cpTiRWd/tJISK3MsKP0cDkVlfodmNABNFnAaAWuLZEiiiA==}
hasBin: true
@@ -5565,6 +5587,62 @@ packages:
vscode-uri: 3.0.7
dev: false
+ /@astrojs/markdown-remark@2.2.1(astro@2.8.5):
+ resolution: {integrity: sha512-VF0HRv4GpC1XEMLnsKf6jth7JSmlt9qpqP0josQgA2eSpCIAC/Et+y94mgdBIZVBYH/yFnMoIxgKVe93xfO2GA==}
+ peerDependencies:
+ astro: '*'
+ dependencies:
+ '@astrojs/prism': 2.1.2
+ astro: file:packages/astro(@types/node@18.16.18)
+ github-slugger: 1.5.0
+ import-meta-resolve: 2.2.2
+ rehype-raw: 6.1.1
+ rehype-stringify: 9.0.3
+ remark-gfm: 3.0.1
+ remark-parse: 10.0.2
+ remark-rehype: 10.1.0
+ remark-smartypants: 2.0.0
+ shiki: 0.14.1
+ unified: 10.1.2
+ unist-util-visit: 4.1.2
+ vfile: 5.3.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@astrojs/prism@2.1.2:
+ resolution: {integrity: sha512-3antim1gb34689GHRQFJ88JEo93HuZKQBnmxDT5W/nxiNz1p/iRxnCTEhIbJhqMOTRbbo5h2ldm5qSxx+TMFQA==}
+ engines: {node: '>=16.12.0'}
+ dependencies:
+ prismjs: 1.29.0
+ dev: false
+
+ /@astrojs/telemetry@2.1.1:
+ resolution: {integrity: sha512-4pRhyeQr0MLB5PKYgkdu+YE8sSpMbHL8dUuslBWBIdgcYjtD1SufPMBI8pgXJ+xlwrQJHKKfK2X1KonHYuOS9A==}
+ engines: {node: '>=16.12.0'}
+ dependencies:
+ ci-info: 3.8.0
+ debug: 4.3.4
+ dlv: 1.1.3
+ dset: 3.1.2
+ is-docker: 3.0.0
+ is-wsl: 2.2.0
+ undici: 5.22.1
+ which-pm-runs: 1.1.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@astrojs/underscore-redirects@0.2.0:
+ resolution: {integrity: sha512-TP+uEdqMGNC7Lyci6WmbHvvMElBDSyHlTsvGH9E9/2duvD/n4KJVyr59klycEroaZJiAi5tzlXL8Jsl9/R32gQ==}
+ dev: false
+
+ /@astrojs/webapi@2.2.0:
+ resolution: {integrity: sha512-mHAOApWyjqSe5AQMOUD9rsZJqbMQqe3Wosb1a40JV6Okvyxj1G6GTlthwYadWCymq/lbgwh0PLiY8Fr4eFxtuQ==}
+ dependencies:
+ undici: 5.22.1
+ dev: false
+
/@babel/code-frame@7.22.5:
resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==}
engines: {node: '>=6.9.0'}
@@ -5663,7 +5741,7 @@ packages:
'@babel/helper-replace-supers': 7.21.5
'@babel/helper-skip-transparent-expression-wrappers': 7.20.0
'@babel/helper-split-export-declaration': 7.22.5
- semver: 6.3.0
+ semver: 6.3.1
transitivePeerDependencies:
- supports-color
dev: false
@@ -5680,7 +5758,7 @@ packages:
'@babel/core': 7.22.5
'@babel/helper-annotate-as-pure': 7.22.5
regexpu-core: 5.3.2
- semver: 6.3.0
+ semver: 6.3.1
dev: false
/@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.22.5):
@@ -5697,7 +5775,7 @@ packages:
debug: 4.3.4
lodash.debounce: 4.0.8
resolve: 1.22.2
- semver: 6.3.0
+ semver: 6.3.1
transitivePeerDependencies:
- supports-color
dev: false
@@ -7152,7 +7230,7 @@ packages:
resolution: {integrity: sha512-JppheLu7S114aEs157fOZDjFqUDpm7eHdq5E8SSR0gUBTEK0cNSHsrSR5a66xs0z3RWuo46QvA3vawp8BxDHvg==}
dependencies:
dataloader: 1.4.0
- node-fetch: 2.6.11
+ node-fetch: 2.6.12
transitivePeerDependencies:
- encoding
dev: true
@@ -7816,11 +7894,11 @@ packages:
detect-libc: 2.0.1
https-proxy-agent: 5.0.1
make-dir: 3.1.0
- node-fetch: 2.6.11
+ node-fetch: 2.6.12
nopt: 5.0.0
npmlog: 5.0.1
rimraf: 3.0.2
- semver: 7.5.3
+ semver: 7.5.4
tar: 6.1.15
transitivePeerDependencies:
- encoding
@@ -8195,7 +8273,7 @@ packages:
'@octokit/request-error': 2.1.0
'@octokit/types': 6.41.0
is-plain-object: 5.0.0
- node-fetch: 2.6.11
+ node-fetch: 2.6.12
universal-user-agent: 6.0.0
transitivePeerDependencies:
- encoding
@@ -8997,7 +9075,7 @@ packages:
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
- semver: 7.5.3
+ semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.0.2)
typescript: 5.0.2
transitivePeerDependencies:
@@ -9018,7 +9096,7 @@ packages:
'@typescript-eslint/typescript-estree': 6.0.0(typescript@5.0.2)
eslint: 8.43.0
eslint-scope: 5.1.1
- semver: 7.5.3
+ semver: 7.5.4
transitivePeerDependencies:
- supports-color
- typescript
@@ -9660,7 +9738,7 @@ packages:
'@babel/compat-data': 7.22.5
'@babel/core': 7.22.5
'@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.22.5)
- semver: 6.3.0
+ semver: 6.3.1
transitivePeerDependencies:
- supports-color
dev: false
@@ -9868,7 +9946,7 @@ packages:
/builtins@5.0.1:
resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==}
dependencies:
- semver: 7.5.3
+ semver: 7.5.4
dev: true
/bundle-name@3.0.0:
@@ -10254,7 +10332,7 @@ packages:
js-string-escape: 1.0.1
lodash: 4.17.21
md5-hex: 3.0.1
- semver: 7.5.3
+ semver: 7.5.4
well-known-symbols: 2.0.0
dev: false
@@ -13351,7 +13429,7 @@ packages:
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
engines: {node: '>=8'}
dependencies:
- semver: 6.3.0
+ semver: 6.3.1
dev: false
/manage-path@2.0.0:
@@ -14278,6 +14356,14 @@ packages:
typescript: 5.0.2
dev: false
+ /network-information-types@0.1.1(typescript@5.0.4):
+ resolution: {integrity: sha512-mLXNafJYOkiJB6IlF727YWssTRpXitR+tKSLyA5VAdBi3SOvLf5gtizHgxf241YHPWocnAO/fAhVrB/68tPHDw==}
+ peerDependencies:
+ typescript: '>= 3.0.0'
+ dependencies:
+ typescript: 5.0.4
+ dev: false
+
/nice-try@1.0.5:
resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
dev: true
@@ -14305,7 +14391,7 @@ packages:
resolution: {integrity: sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA==}
engines: {node: '>=10'}
dependencies:
- semver: 7.5.3
+ semver: 7.5.4
/node-addon-api@6.1.0:
resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==}
@@ -14319,8 +14405,8 @@ packages:
resolution: {integrity: sha512-5IAMBTl9p6PaAjYCnMv5FmqIF6GcZnawAVnzaCG0rX2aYZJ4CxEkZNtVPuTRug7fL7wyM5BQYTlAzcyMPi6oTQ==}
dev: false
- /node-fetch@2.6.11:
- resolution: {integrity: sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==}
+ /node-fetch@2.6.12:
+ resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==}
engines: {node: 4.x || >=6.0.0}
peerDependencies:
encoding: ^0.1.0
@@ -14440,7 +14526,7 @@ packages:
dependencies:
execa: 6.1.0
parse-package-name: 1.0.0
- semver: 7.5.3
+ semver: 7.5.4
validate-npm-package-name: 4.0.0
dev: true
@@ -16111,6 +16197,11 @@ packages:
hasBin: true
dev: false
+ /semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+ dev: false
+
/semver@7.5.2:
resolution: {integrity: sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==}
engines: {node: '>=10'}
@@ -16126,6 +16217,13 @@ packages:
dependencies:
lru-cache: 6.0.0
+ /semver@7.5.4:
+ resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+
/send@0.18.0:
resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
engines: {node: '>= 0.8.0'}
@@ -17142,6 +17240,12 @@ packages:
engines: {node: '>=12.20'}
hasBin: true
+ /typescript@5.0.4:
+ resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==}
+ engines: {node: '>=12.20'}
+ hasBin: true
+ dev: false
+
/ufo@1.1.2:
resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==}
dev: false
@@ -18283,6 +18387,87 @@ packages:
/zwitch@2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
+ file:packages/astro(@types/node@18.16.18):
+ resolution: {directory: packages/astro, type: directory}
+ id: file:packages/astro
+ name: astro
+ version: 2.8.5
+ engines: {node: '>=16.12.0', npm: '>=6.14.0'}
+ hasBin: true
+ peerDependencies:
+ sharp: '>=0.31.0'
+ peerDependenciesMeta:
+ sharp:
+ optional: true
+ dependencies:
+ '@astrojs/compiler': 1.6.0
+ '@astrojs/internal-helpers': 0.1.1
+ '@astrojs/language-server': 1.0.0
+ '@astrojs/markdown-remark': 2.2.1(astro@2.8.5)
+ '@astrojs/telemetry': 2.1.1
+ '@astrojs/webapi': 2.2.0
+ '@babel/core': 7.22.5
+ '@babel/generator': 7.22.5
+ '@babel/parser': 7.22.5
+ '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.5)
+ '@babel/traverse': 7.22.5
+ '@babel/types': 7.22.5
+ '@types/babel__core': 7.20.1
+ '@types/dom-view-transitions': 1.0.1
+ '@types/yargs-parser': 21.0.0
+ acorn: 8.9.0
+ boxen: 6.2.1
+ chokidar: 3.5.3
+ ci-info: 3.8.0
+ common-ancestor-path: 1.0.1
+ cookie: 0.5.0
+ debug: 4.3.4
+ deepmerge-ts: 4.3.0
+ devalue: 4.3.2
+ diff: 5.1.0
+ es-module-lexer: 1.3.0
+ esbuild: 0.17.19
+ estree-walker: 3.0.0
+ execa: 6.1.0
+ fast-glob: 3.2.12
+ github-slugger: 2.0.0
+ gray-matter: 4.0.3
+ html-escaper: 3.0.3
+ js-yaml: 4.1.0
+ kleur: 4.1.5
+ magic-string: 0.27.0
+ mime: 3.0.0
+ network-information-types: 0.1.1(typescript@5.0.4)
+ ora: 6.3.1
+ p-limit: 4.0.0
+ path-to-regexp: 6.2.1
+ preferred-pm: 3.0.3
+ prompts: 2.4.2
+ rehype: 12.0.1
+ semver: 7.5.4
+ server-destroy: 1.0.1
+ shiki: 0.14.1
+ string-width: 5.1.2
+ strip-ansi: 7.1.0
+ tsconfig-resolver: 3.0.1
+ typescript: 5.0.4
+ unist-util-visit: 4.1.2
+ vfile: 5.3.7
+ vite: 4.3.9(@types/node@18.16.18)(sass@1.63.4)
+ vitefu: 0.2.4(vite@4.3.9)
+ which-pm: 2.0.0
+ yargs-parser: 21.1.1
+ zod: 3.20.6
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: false
+
file:packages/astro/test/fixtures/astro-client-only/pkg:
resolution: {directory: packages/astro/test/fixtures/astro-client-only/pkg, type: directory}
name: '@test/astro-client-only-pkg'
@@ -18313,3 +18498,41 @@ packages:
dependencies:
solid-js: 1.7.6
dev: false
+
+ file:packages/integrations/netlify(astro@2.8.5):
+ resolution: {directory: packages/integrations/netlify, type: directory}
+ id: file:packages/integrations/netlify
+ name: '@astrojs/netlify'
+ version: 2.5.0
+ peerDependencies:
+ astro: '*'
+ dependencies:
+ '@astrojs/underscore-redirects': 0.2.0
+ '@astrojs/webapi': 2.2.0
+ '@netlify/functions': 1.6.0
+ astro: file:packages/astro(@types/node@18.16.18)
+ esbuild: 0.15.18
+ dev: false
+
+ file:packages/integrations/vercel(astro@2.8.5):
+ resolution: {directory: packages/integrations/vercel, type: directory}
+ id: file:packages/integrations/vercel
+ name: '@astrojs/vercel'
+ version: 3.7.3
+ peerDependencies:
+ astro: '*'
+ dependencies:
+ '@astrojs/internal-helpers': 0.1.1
+ '@astrojs/webapi': 2.2.0
+ '@vercel/analytics': 0.1.11
+ '@vercel/nft': 0.22.6
+ astro: file:packages/astro(@types/node@18.16.18)
+ esbuild: 0.17.19
+ fast-glob: 3.2.12
+ set-cookie-parser: 2.6.0
+ web-vitals: 3.3.2
+ transitivePeerDependencies:
+ - encoding
+ - react
+ - supports-color
+ dev: false
diff --git a/turbo.json b/turbo.json
index 158618ffe..d95246aef 100644
--- a/turbo.json
+++ b/turbo.json
@@ -38,6 +38,10 @@
"test": {
"env": ["RUNNER_OS", "NODE_VERSION"],
"outputMode": "new-only"
+ },
+ "test:hosted": {
+ "outputMode": "new-only",
+ "cache": false
}
}
}