astro 0.20.6 → 0.20.10
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.
- package/CHANGELOG.md +34 -0
- package/README.md +28 -2
- package/dist/build/stats.js +2 -2
- package/dist/build.js +19 -9
- package/dist/check.js +94 -0
- package/dist/cli.js +14 -4
- package/dist/compiler/codegen/index.js +1 -1
- package/dist/compiler/index.js +26 -13
- package/dist/types/check.d.ts +3 -0
- package/package.json +4 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# astro
|
|
2
2
|
|
|
3
|
+
## 0.20.10
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- dbd2f507: Adds the `astro check` command
|
|
8
|
+
|
|
9
|
+
This adds a new command, `astro check` which runs diagnostics on a project. The same diagnostics run within the Astro VSCode plugin! Just run:
|
|
10
|
+
|
|
11
|
+
```shell
|
|
12
|
+
astro check
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Which works a lot like `tsc` and will give you error messages, if any were found. We recommend adding this to your CI setup to prevent errors from being merged.
|
|
16
|
+
|
|
17
|
+
## 0.20.9
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- Updated dependencies [756e3769]
|
|
22
|
+
- @astrojs/renderer-react@0.2.2
|
|
23
|
+
|
|
24
|
+
## 0.20.8
|
|
25
|
+
|
|
26
|
+
### Patch Changes
|
|
27
|
+
|
|
28
|
+
- 30835635: Fixed props shadowing
|
|
29
|
+
|
|
30
|
+
## 0.20.7
|
|
31
|
+
|
|
32
|
+
### Patch Changes
|
|
33
|
+
|
|
34
|
+
- 3a0dcbe9: Fix pretty byte output in build stats
|
|
35
|
+
- 98d785af: Expose slots to components
|
|
36
|
+
|
|
3
37
|
## 0.20.6
|
|
4
38
|
|
|
5
39
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<img src="https://github.com/snowpackjs/astro/blob/main/assets/social/banner.
|
|
1
|
+
<img src="https://github.com/snowpackjs/astro/blob/main/assets/social/banner.jpg?raw=true" />
|
|
2
2
|
|
|
3
|
-
**Astro** is a _fresh but familiar_ approach to building websites. Astro combines decades of proven performance best practices with the DX improvements of the component-oriented era. Use your favorite JavaScript framework and automatically ship the bare-minimum amount of JavaScript—by default.
|
|
3
|
+
**Astro** is a _fresh but familiar_ approach to building websites. Astro combines decades of proven performance best practices with the DX improvements of the component-oriented era. Use your favorite JavaScript framework and automatically ship the bare-minimum amount of JavaScript—by default.
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
### [Announcement Post →](https://astro.build/blog/introducing-astro)
|
|
@@ -21,3 +21,29 @@ npm init astro
|
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
### [Full Documentation Site →](https://docs.astro.build/)
|
|
24
|
+
|
|
25
|
+
## Sponsors
|
|
26
|
+
|
|
27
|
+
You can sponsor Astro's development on [Open Collective][oc]. Astro is generously supported by the following companies and individuals:
|
|
28
|
+
|
|
29
|
+
### Platinum Sponsors
|
|
30
|
+
|
|
31
|
+
<table>
|
|
32
|
+
<tbody>
|
|
33
|
+
<tr>
|
|
34
|
+
<td align="center"><a href="https://www.netlify.com/" target="_blank"><img width="147" height="40" src="https://raw.githubusercontent.com/snowpackjs/astro/main/.github/assets/netlify.svg" alt="Netlify" /></a></td>
|
|
35
|
+
</tr>
|
|
36
|
+
</tbody>
|
|
37
|
+
</table>
|
|
38
|
+
|
|
39
|
+
### Sponsors
|
|
40
|
+
|
|
41
|
+
<table>
|
|
42
|
+
<tbody>
|
|
43
|
+
<tr>
|
|
44
|
+
<td align="center"><a href="https://sentry.io" target="_blank"><img width="147" height="40" src="https://raw.githubusercontent.com/snowpackjs/astro/main/.github/assets/sentry.svg" alt="Sentry" /></a></td>
|
|
45
|
+
</tr>
|
|
46
|
+
</tbody>
|
|
47
|
+
</table>
|
|
48
|
+
|
|
49
|
+
[oc]: https://opencollective.com/astrodotbuild
|
package/dist/build/stats.js
CHANGED
|
@@ -57,7 +57,7 @@ function logURLStats(logging, urlStats) {
|
|
|
57
57
|
const sep = index === 0 ? "\u250C" : index === lastIndex ? "\u2514" : "\u251C";
|
|
58
58
|
const urlPart = " " + sep + " " + url;
|
|
59
59
|
const bytes = ((_a = urlStats.get(url)) == null ? void 0 : _a.stats.map((s) => s.gzipSize).reduce((a, b) => a + b, 0)) || 0;
|
|
60
|
-
const sizePart = prettyBytes(bytes
|
|
60
|
+
const sizePart = prettyBytes(bytes);
|
|
61
61
|
log(info, urlPart, sizePart);
|
|
62
62
|
});
|
|
63
63
|
}
|
|
@@ -69,4 +69,4 @@ export {
|
|
|
69
69
|
logURLStats,
|
|
70
70
|
mapBundleStatsToURLStats
|
|
71
71
|
};
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2J1aWxkL3N0YXRzLnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBR0E7QUFDQTtBQUNBO0FBQ0E7QUFlTywwQkFBdUM7QUFDNUMsU0FBTyxJQUFJO0FBQUE7QUFHTiw2QkFBNkM7QUFDbEQsU0FBTyxJQUFJO0FBQUE7QUFHYiw4QkFBcUMsZ0JBQWdDLE1BQWMsVUFBa0I7QUFDbkcsUUFBTSxTQUFTLE1BQU0sU0FBUztBQUU5QixpQkFBZSxJQUFJLFVBQVU7QUFBQSxJQUMzQixNQUFNLE9BQU8sV0FBVztBQUFBLElBQ3hCLFVBQVU7QUFBQTtBQUFBO0FBSVAsa0NBQWtDLENBQUUsVUFBVSxTQUFTLGNBQTJGO0FBdEN6SjtBQXVDRSxXQUFTLENBQUMsU0FBUyxVQUFVLGFBQWE7QUFDeEMsYUFBUyxPQUFPLFNBQVMsUUFBUTtBQUMvQixVQUFJLFFBQVEsUUFBUSxRQUFRLEtBQUssR0FBRyxJQUFJLE1BQU0sVUFBVTtBQUN0RCx1QkFBUyxJQUFJLFNBQWIsbUJBQW1CLE1BQU0sS0FBSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTXRDLGtDQUF5QyxZQUF5QixTQUEwQztBQUMxRyxRQUFNLFdBQVc7QUFFakIsUUFBTSxRQUFRLElBQ1osT0FBTyxLQUFLLFlBQVksSUFBSSxPQUFPLE9BQU87QUFDeEMsUUFBSSxDQUFDLFFBQVE7QUFBSztBQUNsQixVQUFNLFFBQVEsTUFBTSxRQUFRLElBQzFCLENBQUMsR0FBRyxRQUFRLElBQUksSUFBSSxHQUFHLFFBQVEsSUFBSSxLQUFLLEdBQUcsUUFBUSxJQUFJLFFBQVEsSUFBSSxPQUFPLFFBQVE7QUFDaEYsVUFBSSxDQUFDLFdBQVc7QUFBTSxlQUFPO0FBQzdCLFlBQU0sT0FBTztBQUFBLFFBQ1gsTUFBTSxPQUFPLFdBQVcsV0FBVyxLQUFLO0FBQUEsUUFDeEMsVUFBVSxNQUFNLFNBQVMsV0FBVyxLQUFLO0FBQUE7QUFFM0MsYUFBTztBQUFBO0FBR1gsYUFBUyxJQUFJLElBQUk7QUFBQSxNQUNmLGdCQUFnQixJQUFJO0FBQUEsTUFDcEIsT0FBTyxNQUFNLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUFBO0FBQUE7QUFLbkMsU0FBTztBQUFBO0FBR0YscUJBQXFCLFNBQXFCLFVBQXVCO0FBQ3RFLFFBQU0sWUFBWSxDQUFDLEdBQUcsU0FBUyxRQUFRLEtBQUssQ0FBQyxHQUFHLE1BQU0sRUFBRSxjQUFjLEdBQUcsTUFBTSxDQUFFLFNBQVM7QUFDMUYsT0FBSyxTQUFTLE1BQU07QUFDcEIsUUFBTSxNQUFNLE1BQU0sU0FBUyxDQUFDLElBQUk7QUFDaEMsTUFBSSxNQUFNLFFBQVEsS0FBSyxVQUFVLFdBQVcsS0FBSyxVQUFVO0FBQzNELFFBQU0sWUFBWSxVQUFVLFNBQVM7QUFDckMsWUFBVSxRQUFRLENBQUMsS0FBSyxVQUFVO0FBaEZwQztBQWlGSSxVQUFNLE1BQU0sVUFBVSxJQUFJLFdBQU0sVUFBVSxZQUFZLFdBQU07QUFDNUQsVUFBTSxVQUFVLE1BQU0sTUFBTSxNQUFNO0FBQ2xDLFVBQU0sUUFDSixnQkFDRyxJQUFJLFNBRFAsbUJBRUksTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQ3BCLE9BQU8sQ0FBQyxHQUFHLE1BQU0sSUFBSSxHQUFHLE9BQU07QUFDbkMsVUFBTSxXQUFXLFlBQVk7QUFDN0IsUUFBSSxNQUFNLFNBQVM7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
|
package/dist/build.js
CHANGED
|
@@ -8,6 +8,7 @@ import path from "path";
|
|
|
8
8
|
import {performance} from "perf_hooks";
|
|
9
9
|
import glob from "tiny-glob";
|
|
10
10
|
import hash from "shorthash";
|
|
11
|
+
import srcsetParse from "srcset-parse";
|
|
11
12
|
import {fileURLToPath} from "url";
|
|
12
13
|
import {bundleCSS} from "./build/bundle/css.js";
|
|
13
14
|
import {bundleJS, bundleHoistedJS, collectJSImports} from "./build/bundle/js.js";
|
|
@@ -17,6 +18,7 @@ import {collectBundleStats, logURLStats, mapBundleStatsToURLStats} from "./build
|
|
|
17
18
|
import {getDistPath, stopTimer} from "./build/util.js";
|
|
18
19
|
import {debug, defaultLogDestination, defaultLogLevel, error, info, warn} from "./logger.js";
|
|
19
20
|
import {createRuntime} from "./runtime.js";
|
|
21
|
+
const matchSrcset = srcsetParse.default;
|
|
20
22
|
const defaultLogging = {
|
|
21
23
|
level: defaultLogLevel,
|
|
22
24
|
dest: defaultLogDestination
|
|
@@ -157,14 +159,16 @@ ${stack}
|
|
|
157
159
|
debug(logging, "build", `built sitemap [${stopTimer(timer.sitemap)}]`);
|
|
158
160
|
}
|
|
159
161
|
timer.write = performance.now();
|
|
160
|
-
|
|
162
|
+
for (const id of Object.keys(buildState)) {
|
|
161
163
|
const outPath = new URL(`.${id}`, astroConfig.dist);
|
|
162
164
|
const parentDir = path.dirname(fileURLToPath(outPath));
|
|
163
165
|
await fs.promises.mkdir(parentDir, {recursive: true});
|
|
164
|
-
await fs.promises.
|
|
166
|
+
const handle = await fs.promises.open(outPath, "w");
|
|
167
|
+
await fs.promises.writeFile(handle, buildState[id].contents, buildState[id].encoding);
|
|
168
|
+
await handle.close();
|
|
165
169
|
delete buildState[id];
|
|
166
170
|
delete depTree[id];
|
|
167
|
-
}
|
|
171
|
+
}
|
|
168
172
|
debug(logging, "build", `wrote files to disk [${stopTimer(timer.write)}]`);
|
|
169
173
|
if (fs.existsSync(astroConfig.public)) {
|
|
170
174
|
info(logging, "build", yellow(`! copying public folder...`));
|
|
@@ -256,11 +260,17 @@ function findDeps(html, {astroConfig, srcPath}) {
|
|
|
256
260
|
});
|
|
257
261
|
$("img[srcset]").each((_i, el) => {
|
|
258
262
|
const srcset = $(el).attr("srcset") || "";
|
|
259
|
-
const
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
263
|
+
for (const src of matchSrcset(srcset)) {
|
|
264
|
+
if (!isRemoteOrEmbedded(src.url)) {
|
|
265
|
+
pageDeps.images.add(getDistPath(src.url, {astroConfig, srcPath}));
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
$("source[srcset]").each((_i, el) => {
|
|
270
|
+
const srcset = $(el).attr("srcset") || "";
|
|
271
|
+
for (const src of matchSrcset(srcset)) {
|
|
272
|
+
if (!isRemoteOrEmbedded(src.url)) {
|
|
273
|
+
pageDeps.images.add(getDistPath(src.url, {astroConfig, srcPath}));
|
|
264
274
|
}
|
|
265
275
|
}
|
|
266
276
|
});
|
|
@@ -270,4 +280,4 @@ export {
|
|
|
270
280
|
build,
|
|
271
281
|
findDeps
|
|
272
282
|
};
|
|
273
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
283
|
+
//# sourceMappingURL=data:application/json;base64,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
|
package/dist/check.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import {AstroCheck, DiagnosticSeverity} from "@astrojs/language-server";
|
|
2
|
+
import {bold, black, bgWhite, red, cyan, yellow} from "kleur/colors";
|
|
3
|
+
import glob from "fast-glob";
|
|
4
|
+
import * as path from "path";
|
|
5
|
+
import {pathToFileURL} from "url";
|
|
6
|
+
import * as fs from "fs";
|
|
7
|
+
async function openAllDocuments(workspaceUri, filePathsToIgnore, checker) {
|
|
8
|
+
const files = await glob("**/*.astro", {
|
|
9
|
+
cwd: workspaceUri.pathname,
|
|
10
|
+
ignore: ["node_modules/**"].concat(filePathsToIgnore.map((ignore) => `${ignore}/**`))
|
|
11
|
+
});
|
|
12
|
+
const absFilePaths = files.map((f) => path.resolve(workspaceUri.pathname, f));
|
|
13
|
+
for (const absFilePath of absFilePaths) {
|
|
14
|
+
const text = fs.readFileSync(absFilePath, "utf-8");
|
|
15
|
+
checker.upsertDocument({
|
|
16
|
+
uri: pathToFileURL(absFilePath).toString(),
|
|
17
|
+
text
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function offsetAt({line, character}, text) {
|
|
22
|
+
let i = 0;
|
|
23
|
+
let l = 0;
|
|
24
|
+
let c = 0;
|
|
25
|
+
while (i < text.length) {
|
|
26
|
+
if (l === line && c === character) {
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
let char = text[i];
|
|
30
|
+
switch (char) {
|
|
31
|
+
case "\n": {
|
|
32
|
+
l++;
|
|
33
|
+
c = 0;
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
default: {
|
|
37
|
+
c++;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
i++;
|
|
42
|
+
}
|
|
43
|
+
return i;
|
|
44
|
+
}
|
|
45
|
+
function pad(str, len) {
|
|
46
|
+
return Array.from({length: len}, () => str).join("");
|
|
47
|
+
}
|
|
48
|
+
async function run() {
|
|
49
|
+
}
|
|
50
|
+
async function check(astroConfig) {
|
|
51
|
+
const root = astroConfig.projectRoot;
|
|
52
|
+
let checker = new AstroCheck(root.toString());
|
|
53
|
+
await openAllDocuments(root, [], checker);
|
|
54
|
+
let diagnostics = await checker.getDiagnostics();
|
|
55
|
+
let result = {
|
|
56
|
+
errors: 0,
|
|
57
|
+
warnings: 0
|
|
58
|
+
};
|
|
59
|
+
diagnostics.forEach((diag) => {
|
|
60
|
+
diag.diagnostics.forEach((d) => {
|
|
61
|
+
switch (d.severity) {
|
|
62
|
+
case DiagnosticSeverity.Error: {
|
|
63
|
+
console.error(`${bold(cyan(path.relative(root.pathname, diag.filePath)))}:${bold(yellow(d.range.start.line))}:${bold(yellow(d.range.start.character))} - ${d.message}`);
|
|
64
|
+
let startOffset = offsetAt({line: d.range.start.line, character: 0}, diag.text);
|
|
65
|
+
let endOffset = offsetAt({line: d.range.start.line + 1, character: 0}, diag.text);
|
|
66
|
+
let str = diag.text.substring(startOffset, endOffset - 1);
|
|
67
|
+
const lineNumStr = d.range.start.line.toString();
|
|
68
|
+
const lineNumLen = lineNumStr.length;
|
|
69
|
+
console.error(`${bgWhite(black(lineNumStr))} ${str}`);
|
|
70
|
+
let tildes = pad("~", d.range.end.character - d.range.start.character);
|
|
71
|
+
let spaces = pad(" ", d.range.start.character + lineNumLen - 1);
|
|
72
|
+
console.error(` ${spaces}${bold(red(tildes))}
|
|
73
|
+
`);
|
|
74
|
+
result.errors++;
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
case DiagnosticSeverity.Warning: {
|
|
78
|
+
result.warnings++;
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
if (result.errors) {
|
|
85
|
+
console.error(`Found ${result.errors} errors.`);
|
|
86
|
+
}
|
|
87
|
+
const exitCode = result.errors ? 1 : 0;
|
|
88
|
+
return exitCode;
|
|
89
|
+
}
|
|
90
|
+
export {
|
|
91
|
+
check,
|
|
92
|
+
run
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,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
|
package/dist/cli.js
CHANGED
|
@@ -7,6 +7,7 @@ import {formatConfigError, loadConfig} from "./config.js";
|
|
|
7
7
|
import devServer from "./dev.js";
|
|
8
8
|
import {preview} from "./preview.js";
|
|
9
9
|
import {reload} from "./reload.js";
|
|
10
|
+
import {check} from "./check.js";
|
|
10
11
|
const {readFile} = fsPromises;
|
|
11
12
|
const buildAndExit = async (astroConfig) => {
|
|
12
13
|
const ret = await build(astroConfig);
|
|
@@ -16,6 +17,10 @@ const reloadAndExit = async () => {
|
|
|
16
17
|
const ret = await reload();
|
|
17
18
|
process.exit(ret);
|
|
18
19
|
};
|
|
20
|
+
const checkAndExit = async (astroConfig) => {
|
|
21
|
+
const ret = await check(astroConfig);
|
|
22
|
+
process.exit(ret);
|
|
23
|
+
};
|
|
19
24
|
function resolveArgs(flags) {
|
|
20
25
|
const options = {
|
|
21
26
|
projectRoot: typeof flags.projectRoot === "string" ? flags.projectRoot : void 0,
|
|
@@ -37,6 +42,8 @@ function resolveArgs(flags) {
|
|
|
37
42
|
return {cmd: "build", options};
|
|
38
43
|
case "preview":
|
|
39
44
|
return {cmd: "preview", options};
|
|
45
|
+
case "check":
|
|
46
|
+
return {cmd: "check", options};
|
|
40
47
|
default:
|
|
41
48
|
if (flags.reload) {
|
|
42
49
|
return {cmd: "reload", options};
|
|
@@ -51,6 +58,7 @@ function printHelp() {
|
|
|
51
58
|
astro dev Run Astro in development mode.
|
|
52
59
|
astro build Build a pre-compiled production version of your site.
|
|
53
60
|
astro preview Preview your build locally before deploying.
|
|
61
|
+
astro check Check your project for errors.
|
|
54
62
|
|
|
55
63
|
${colors.bold("Flags:")}
|
|
56
64
|
--config <path> Specify the path to the Astro config file.
|
|
@@ -87,7 +95,7 @@ async function runCommand(rawRoot, cmd, options) {
|
|
|
87
95
|
if (err instanceof z.ZodError) {
|
|
88
96
|
console.log(formatConfigError(err));
|
|
89
97
|
} else {
|
|
90
|
-
console.error(colors.red(err.toString()
|
|
98
|
+
console.error(colors.red(err.toString()));
|
|
91
99
|
}
|
|
92
100
|
process.exit(1);
|
|
93
101
|
}
|
|
@@ -96,7 +104,8 @@ const cmdMap = new Map([
|
|
|
96
104
|
["build", buildAndExit],
|
|
97
105
|
["dev", devServer],
|
|
98
106
|
["preview", preview],
|
|
99
|
-
["reload", reloadAndExit]
|
|
107
|
+
["reload", reloadAndExit],
|
|
108
|
+
["check", checkAndExit]
|
|
100
109
|
]);
|
|
101
110
|
async function cli(args) {
|
|
102
111
|
const flags = yargs(args);
|
|
@@ -118,7 +127,8 @@ async function cli(args) {
|
|
|
118
127
|
}
|
|
119
128
|
case "build":
|
|
120
129
|
case "preview":
|
|
121
|
-
case "dev":
|
|
130
|
+
case "dev":
|
|
131
|
+
case "check": {
|
|
122
132
|
if (flags.reload) {
|
|
123
133
|
await reload();
|
|
124
134
|
}
|
|
@@ -133,4 +143,4 @@ async function cli(args) {
|
|
|
133
143
|
export {
|
|
134
144
|
cli
|
|
135
145
|
};
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,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
|
|
@@ -143,7 +143,7 @@ function generateAttributes(attrs) {
|
|
|
143
143
|
result += JSON.stringify(key) + ":" + val + ",";
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
|
-
result += `[__astroContext]
|
|
146
|
+
result += `[__astroContext]:$$props[__astroContext]`;
|
|
147
147
|
return result + "}";
|
|
148
148
|
}
|
|
149
149
|
function getComponentUrl(astroConfig, url, parentUrl) {
|
package/dist/compiler/index.js
CHANGED
|
@@ -120,26 +120,39 @@ import { __astro_hoisted_scripts } from 'astro/dist/internal/__astro_hoisted_scr
|
|
|
120
120
|
const __astroScripts = __astro_hoisted_scripts([${result.components.map((n) => `typeof ${n} !== 'undefined' && ${n}`)}], ${JSON.stringify(result.hoistedScripts)});
|
|
121
121
|
const __astroInternal = Symbol('astro.internal');
|
|
122
122
|
const __astroContext = Symbol.for('astro.context');
|
|
123
|
-
|
|
123
|
+
const __astroSlotted = Symbol.for('astro.slotted');
|
|
124
|
+
async function __render($$props, ...children) {
|
|
124
125
|
const Astro = Object.create(__TopLevelAstro, {
|
|
125
126
|
props: {
|
|
126
|
-
value: props,
|
|
127
|
+
value: $$props,
|
|
128
|
+
enumerable: true
|
|
129
|
+
},
|
|
130
|
+
slots: {
|
|
131
|
+
value: children.reduce(
|
|
132
|
+
(slots, child) => {
|
|
133
|
+
for (let name in child.$slots) {
|
|
134
|
+
slots[name] = Boolean(child.$slots[name])
|
|
135
|
+
}
|
|
136
|
+
return slots
|
|
137
|
+
},
|
|
138
|
+
{}
|
|
139
|
+
),
|
|
127
140
|
enumerable: true
|
|
128
141
|
},
|
|
129
142
|
pageCSS: {
|
|
130
|
-
value: (props[__astroContext] && props[__astroContext].pageCSS) || [],
|
|
143
|
+
value: ($$props[__astroContext] && $$props[__astroContext].pageCSS) || [],
|
|
131
144
|
enumerable: true
|
|
132
145
|
},
|
|
133
146
|
pageScripts: {
|
|
134
|
-
value: (props[__astroContext] && props[__astroContext].pageScripts) || [],
|
|
147
|
+
value: ($$props[__astroContext] && $$props[__astroContext].pageScripts) || [],
|
|
135
148
|
enumerable: true
|
|
136
149
|
},
|
|
137
150
|
isPage: {
|
|
138
|
-
value: (props[__astroInternal] && props[__astroInternal].isPage) || false,
|
|
151
|
+
value: ($$props[__astroInternal] && $$props[__astroInternal].isPage) || false,
|
|
139
152
|
enumerable: true
|
|
140
153
|
},
|
|
141
154
|
request: {
|
|
142
|
-
value: (props[__astroContext] && props[__astroContext].request) || {},
|
|
155
|
+
value: ($$props[__astroContext] && $$props[__astroContext].request) || {},
|
|
143
156
|
enumerable: true
|
|
144
157
|
},
|
|
145
158
|
});
|
|
@@ -151,7 +164,7 @@ export default { isAstroComponent: true, __render, [Symbol.for('astro.hoistedScr
|
|
|
151
164
|
|
|
152
165
|
// \`__renderPage()\`: Render the contents of the Astro module as a page. This is a special flow,
|
|
153
166
|
// triggered by loading a component directly by URL.
|
|
154
|
-
export async function __renderPage({request, children, props, css, scripts}) {
|
|
167
|
+
export async function __renderPage({request, children, props: $$props, css, scripts}) {
|
|
155
168
|
const currentChild = {
|
|
156
169
|
isAstroComponent: true,
|
|
157
170
|
layout: typeof __layout === 'undefined' ? undefined : __layout,
|
|
@@ -159,10 +172,10 @@ export async function __renderPage({request, children, props, css, scripts}) {
|
|
|
159
172
|
__render,
|
|
160
173
|
};
|
|
161
174
|
|
|
162
|
-
const isLayout = (__astroContext in props);
|
|
175
|
+
const isLayout = (__astroContext in $$props);
|
|
163
176
|
if(!isLayout) {
|
|
164
177
|
let astroRootUIDCounter = 0;
|
|
165
|
-
Object.defineProperty(props, __astroContext, {
|
|
178
|
+
Object.defineProperty($$props, __astroContext, {
|
|
166
179
|
value: {
|
|
167
180
|
pageCSS: css,
|
|
168
181
|
request,
|
|
@@ -174,7 +187,7 @@ export async function __renderPage({request, children, props, css, scripts}) {
|
|
|
174
187
|
});
|
|
175
188
|
}
|
|
176
189
|
|
|
177
|
-
Object.defineProperty(props, __astroInternal, {
|
|
190
|
+
Object.defineProperty($$props, __astroInternal, {
|
|
178
191
|
value: {
|
|
179
192
|
isPage: !isLayout
|
|
180
193
|
},
|
|
@@ -182,13 +195,13 @@ export async function __renderPage({request, children, props, css, scripts}) {
|
|
|
182
195
|
enumerable: false
|
|
183
196
|
});
|
|
184
197
|
|
|
185
|
-
const childBodyResult = await currentChild.__render(props, children);
|
|
198
|
+
const childBodyResult = await currentChild.__render($$props, children);
|
|
186
199
|
|
|
187
200
|
// find layout, if one was given.
|
|
188
201
|
if (currentChild.layout) {
|
|
189
202
|
return currentChild.layout({
|
|
190
203
|
request,
|
|
191
|
-
props: {content: currentChild.content, [__astroContext]: props[__astroContext]},
|
|
204
|
+
props: {content: currentChild.content, [__astroContext]: $$props[__astroContext]},
|
|
192
205
|
children: [childBodyResult],
|
|
193
206
|
});
|
|
194
207
|
}
|
|
@@ -210,4 +223,4 @@ export {
|
|
|
210
223
|
convertMdToAstroSource,
|
|
211
224
|
scopeRule
|
|
212
225
|
};
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvbXBpbGVyL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQWVBLGlDQUF3QyxVQUFrQixNQUFxRDtBQUM3RyxRQUFNLENBQUUsWUFBYTtBQUdyQixRQUFNLE1BQU0sTUFBTSxVQUFVO0FBQUEsSUFDMUI7QUFBQTtBQUlGLFFBQU0sVUFBVSxLQUFLO0FBR3JCLFNBQU8sTUFBTSxRQUFRLEtBQUs7QUFBQTtBQU01QixzQ0FBNkMsVUFBa0IsQ0FBRSxXQUFrQyxNQUFrRDtBQUNuSixNQUlJLFdBQU0sOEJBQThCLFVBQVUsT0FGbkM7QUFBQSxJQURiO0FBQUEsSUFDQSxhQUFhO0FBQUEsTUFFWCxJQUZXLFNBQUUsV0FBRixJQUFhLHdCQUFiLElBQWEsQ0FBWCxZQUNaLGlCQUNELElBREM7QUFBQSxJQUZIO0FBQUEsSUFDQTtBQUFBO0FBSUYsTUFBSSxZQUFZLGFBQWEsUUFBVztBQUN0QyxVQUFNLElBQUksTUFBTTtBQUFBLE1BQXlFO0FBQUE7QUFFM0YsUUFBTSxjQUFtQixrQ0FDcEIsY0FDQTtBQUlMLFFBQU0sMEJBQTBCLEtBQUssVUFBVSxhQUFhLFFBQVEsaUJBQWlCO0FBRXJGLFNBQU87QUFBQSxFQUNQLFNBQVMsMkNBQTJDLGFBQWE7QUFBQSwyQkFDeEM7QUFBQTtBQUFBLEVBRXpCO0FBQUE7QUFPRiw4QkFDRSxVQUNBLENBQUUsZ0JBQWdCLFVBQVUsU0FDRjtBQUMxQixRQUFNLE1BQU0sTUFBTSx1QkFBdUIsVUFBVSxDQUFFLFdBQVksZUFBZSxZQUFZO0FBQzVGLFFBQU0saUJBQWlCLENBQUUsZ0JBQWdCLFVBQVU7QUFDbkQsU0FBTyxNQUFNLGtCQUFrQixLQUFLO0FBQUE7QUFJdEMsbUNBQ0UsVUFDQSxDQUFFLGdCQUFnQixVQUFVLGNBQ0Y7QUFDMUIsUUFBTSxTQUFTLEtBQUssU0FBUyxhQUFhO0FBQzFDLFVB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "astro",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.10",
|
|
4
4
|
"author": "Skypack",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -44,11 +44,12 @@
|
|
|
44
44
|
"test": "uvu test -i fixtures -i benchmark -i test-utils.js"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
+
"@astrojs/language-server": "^0.7.16",
|
|
47
48
|
"@astrojs/markdown-support": "0.3.1",
|
|
48
49
|
"@astrojs/parser": "0.20.2",
|
|
49
50
|
"@astrojs/prism": "0.2.2",
|
|
50
51
|
"@astrojs/renderer-preact": "0.2.2",
|
|
51
|
-
"@astrojs/renderer-react": "0.2.
|
|
52
|
+
"@astrojs/renderer-react": "0.2.2",
|
|
52
53
|
"@astrojs/renderer-svelte": "0.1.2",
|
|
53
54
|
"@astrojs/renderer-vue": "0.1.8",
|
|
54
55
|
"@babel/code-frame": "^7.12.13",
|
|
@@ -97,6 +98,7 @@
|
|
|
97
98
|
"shorthash": "^0.0.2",
|
|
98
99
|
"slash": "^4.0.0",
|
|
99
100
|
"snowpack": "^3.8.6",
|
|
101
|
+
"srcset-parse": "^1.1.0",
|
|
100
102
|
"string-width": "^5.0.0",
|
|
101
103
|
"supports-esm": "^1.0.0",
|
|
102
104
|
"tiny-glob": "^0.2.8",
|