astro 4.9.2 → 4.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/client.d.ts +8 -0
  2. package/components/Picture.astro +2 -1
  3. package/config.d.ts +6 -0
  4. package/config.mjs +1 -0
  5. package/dist/@types/astro.d.ts +124 -0
  6. package/dist/assets/utils/proxy.js +1 -1
  7. package/dist/cli/add/babel.d.ts +1 -1
  8. package/dist/cli/install-package.d.ts +1 -1
  9. package/dist/cli/install-package.js +1 -1
  10. package/dist/config/index.js +2 -2
  11. package/dist/container/index.d.ts +11 -15
  12. package/dist/container/index.js +29 -27
  13. package/dist/container/pipeline.d.ts +1 -0
  14. package/dist/container/pipeline.js +8 -1
  15. package/dist/content/types-generator.js +5 -5
  16. package/dist/content/utils.d.ts +2 -3
  17. package/dist/content/utils.js +3 -4
  18. package/dist/content/vite-plugin-content-virtual-mod.d.ts +1 -1
  19. package/dist/core/app/pipeline.d.ts +2 -1
  20. package/dist/core/app/pipeline.js +44 -19
  21. package/dist/core/app/types.d.ts +1 -0
  22. package/dist/core/base-pipeline.d.ts +15 -3
  23. package/dist/core/base-pipeline.js +10 -1
  24. package/dist/core/build/generate.js +14 -4
  25. package/dist/core/build/pipeline.d.ts +2 -1
  26. package/dist/core/build/pipeline.js +31 -19
  27. package/dist/core/build/plugins/plugin-content.js +2 -1
  28. package/dist/core/build/plugins/plugin-manifest.js +2 -1
  29. package/dist/core/config/config.js +1 -1
  30. package/dist/core/config/schema.d.ts +644 -0
  31. package/dist/core/config/schema.js +5 -1
  32. package/dist/core/config/settings.js +1 -0
  33. package/dist/core/constants.d.ts +1 -1
  34. package/dist/core/constants.js +2 -2
  35. package/dist/core/create-vite.js +2 -0
  36. package/dist/core/dev/dev.js +1 -1
  37. package/dist/core/errors/errors-data.d.ts +61 -1
  38. package/dist/core/errors/errors-data.js +39 -0
  39. package/dist/core/logger/core.d.ts +1 -1
  40. package/dist/core/messages.js +2 -2
  41. package/dist/core/render-context.d.ts +1 -0
  42. package/dist/core/render-context.js +74 -57
  43. package/dist/core/routing/astro-designed-error-pages.d.ts +8 -1
  44. package/dist/core/routing/astro-designed-error-pages.js +29 -12
  45. package/dist/env/config.d.ts +9 -0
  46. package/dist/env/config.js +17 -0
  47. package/dist/env/constants.d.ts +11 -0
  48. package/dist/env/constants.js +21 -0
  49. package/dist/env/runtime.d.ts +6 -0
  50. package/dist/env/runtime.js +21 -0
  51. package/dist/env/schema.d.ts +387 -0
  52. package/dist/env/schema.js +113 -0
  53. package/dist/env/validators.d.ts +13 -0
  54. package/dist/env/validators.js +57 -0
  55. package/dist/env/vite-plugin-env.d.ts +11 -0
  56. package/dist/env/vite-plugin-env.js +174 -0
  57. package/dist/integrations/features-validation.js +9 -1
  58. package/dist/jsx/server.js +2 -1
  59. package/dist/runtime/server/render/astro/render.js +15 -1
  60. package/dist/runtime/server/util.js +1 -1
  61. package/dist/virtual-modules/container.d.ts +16 -0
  62. package/dist/virtual-modules/container.js +18 -0
  63. package/dist/virtual-modules/env-setup.d.ts +1 -0
  64. package/dist/virtual-modules/env-setup.js +4 -0
  65. package/dist/vite-plugin-astro-server/pipeline.d.ts +3 -2
  66. package/dist/vite-plugin-astro-server/pipeline.js +34 -20
  67. package/dist/vite-plugin-astro-server/plugin.js +1 -0
  68. package/dist/vite-plugin-astro-server/response.d.ts +0 -6
  69. package/dist/vite-plugin-astro-server/response.js +0 -13
  70. package/dist/vite-plugin-astro-server/route.js +2 -1
  71. package/dist/vite-plugin-inject-env-ts/index.js +46 -38
  72. package/package.json +19 -20
  73. package/templates/env/module.mjs +18 -0
  74. package/templates/env/types.d.ts +20 -0
  75. /package/{content-module.template.mjs → templates/content/module.mjs} +0 -0
  76. /package/{content-types.template.d.ts → templates/content/types.d.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "astro",
3
- "version": "4.9.2",
3
+ "version": "4.10.0",
4
4
  "description": "Astro is a modern site builder with web best practices, performance, and DX front-of-mind.",
5
5
  "type": "module",
6
6
  "author": "withastro",
@@ -32,6 +32,7 @@
32
32
  "default": "./dist/core/index.js"
33
33
  },
34
34
  "./env": "./env.d.ts",
35
+ "./env/runtime": "./dist/env/runtime.js",
35
36
  "./types": "./types.d.ts",
36
37
  "./client": "./client.d.ts",
37
38
  "./astro-jsx": "./astro-jsx.d.ts",
@@ -100,8 +101,6 @@
100
101
  "env.d.ts",
101
102
  "client.d.ts",
102
103
  "jsx-runtime.d.ts",
103
- "content-types.template.d.ts",
104
- "content-module.template.mjs",
105
104
  "templates",
106
105
  "astro-jsx.d.ts",
107
106
  "types.d.ts",
@@ -110,12 +109,12 @@
110
109
  ],
111
110
  "dependencies": {
112
111
  "@astrojs/compiler": "^2.8.0",
113
- "@babel/core": "^7.24.5",
114
- "@babel/generator": "^7.24.5",
115
- "@babel/parser": "^7.24.5",
116
- "@babel/plugin-transform-react-jsx": "^7.23.4",
117
- "@babel/traverse": "^7.24.5",
118
- "@babel/types": "^7.24.5",
112
+ "@babel/core": "^7.24.6",
113
+ "@babel/generator": "^7.24.6",
114
+ "@babel/parser": "^7.24.6",
115
+ "@babel/plugin-transform-react-jsx": "^7.24.6",
116
+ "@babel/traverse": "^7.24.6",
117
+ "@babel/types": "^7.24.6",
119
118
  "@types/babel__core": "^7.20.5",
120
119
  "@types/cookie": "^0.6.0",
121
120
  "acorn": "^8.11.3",
@@ -134,8 +133,8 @@
134
133
  "diff": "^5.2.0",
135
134
  "dlv": "^1.1.3",
136
135
  "dset": "^3.1.3",
137
- "es-module-lexer": "^1.5.2",
138
- "esbuild": "^0.21.2",
136
+ "es-module-lexer": "^1.5.3",
137
+ "esbuild": "^0.21.4",
139
138
  "estree-walker": "^3.0.3",
140
139
  "execa": "^8.0.1",
141
140
  "fast-glob": "^3.3.2",
@@ -157,15 +156,15 @@
157
156
  "rehype": "^13.0.1",
158
157
  "resolve": "^1.22.8",
159
158
  "semver": "^7.6.2",
160
- "shiki": "^1.5.1",
159
+ "shiki": "^1.6.1",
161
160
  "string-width": "^7.1.0",
162
161
  "strip-ansi": "^7.1.0",
163
- "tsconfck": "^3.0.3",
162
+ "tsconfck": "^3.1.0",
164
163
  "unist-util-visit": "^5.0.0",
165
164
  "vfile": "^6.0.1",
166
- "vite": "^5.2.11",
165
+ "vite": "^5.2.12",
167
166
  "vitefu": "^0.2.5",
168
- "which-pm": "^2.1.1",
167
+ "which-pm": "^2.2.0",
169
168
  "yargs-parser": "^21.1.1",
170
169
  "zod": "^3.23.8",
171
170
  "zod-to-json-schema": "^3.23.0",
@@ -177,11 +176,11 @@
177
176
  "sharp": "^0.33.3"
178
177
  },
179
178
  "devDependencies": {
180
- "@astrojs/check": "^0.6.0",
181
- "@playwright/test": "^1.44.0",
179
+ "@astrojs/check": "^0.7.0",
180
+ "@playwright/test": "^1.44.1",
182
181
  "@types/aria-query": "^5.0.4",
183
182
  "@types/babel__generator": "^7.6.8",
184
- "@types/babel__traverse": "^7.20.5",
183
+ "@types/babel__traverse": "^7.20.6",
185
184
  "@types/common-ancestor-path": "^1.0.2",
186
185
  "@types/connect": "^3.4.38",
187
186
  "@types/cssesc": "^3.0.2",
@@ -211,8 +210,8 @@
211
210
  "rehype-slug": "^6.0.0",
212
211
  "rehype-toc": "^3.0.2",
213
212
  "remark-code-titles": "^0.1.2",
214
- "rollup": "^4.17.2",
215
- "sass": "^1.77.1",
213
+ "rollup": "^4.18.0",
214
+ "sass": "^1.77.3",
216
215
  "srcset-parse": "^1.1.0",
217
216
  "unified": "^11.0.4",
218
217
  "astro-scripts": "0.0.14"
@@ -0,0 +1,18 @@
1
+ import { schema } from 'virtual:astro:env/internal';
2
+ import { createInvalidVariableError, getEnv, validateEnvVariable } from 'astro/env/runtime';
3
+
4
+ export const getSecret = (key) => {
5
+ const rawVariable = getEnv(key);
6
+ const variable = rawVariable === '' ? undefined : rawVariable;
7
+ const options = schema[key];
8
+
9
+ if (!options) {
10
+ return variable;
11
+ }
12
+
13
+ const result = validateEnvVariable(variable, options);
14
+ if (result.ok) {
15
+ return result.value;
16
+ }
17
+ throw createInvalidVariableError(key, result.type);
18
+ };
@@ -0,0 +1,20 @@
1
+ declare module 'astro:env/client' {
2
+ // @@CLIENT@@
3
+ }
4
+
5
+ declare module 'astro:env/server' {
6
+ // @@SERVER@@
7
+
8
+ type SecretValues = {
9
+ // @@SECRET_VALUES@@
10
+ };
11
+
12
+ type SecretValue = keyof SecretValues;
13
+
14
+ type Loose<T> = T | (string & {});
15
+ type Strictify<T extends string> = T extends `${infer _}` ? T : never;
16
+
17
+ export const getSecret: <TKey extends Loose<SecretValue>>(
18
+ key: TKey
19
+ ) => TKey extends Strictify<SecretValue> ? SecretValues[TKey] : string | undefined;
20
+ }