astro 0.24.1 → 0.24.2

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/config.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ type AstroUserConfig = import('./dist/types/@types/astro').AstroUserConfig;
2
+
3
+ /**
4
+ * See the full Astro Configuration API Documentation
5
+ * https://astro.build/config
6
+ */
7
+ export function defineConfig(config: AstroUserConfig): AstroUserConfig;
package/config.mjs ADDED
@@ -0,0 +1,3 @@
1
+ export function defineConfig(config) {
2
+ return config;
3
+ }
package/dist/cli/index.js CHANGED
@@ -39,7 +39,7 @@ function printHelp() {
39
39
  console.log();
40
40
  }
41
41
  function headline(name, tagline) {
42
- console.log(` ${colors.bgGreen(colors.black(` ${name} `))} ${colors.green(`v${"0.24.1"}`)} ${tagline}`);
42
+ console.log(` ${colors.bgGreen(colors.black(` ${name} `))} ${colors.green(`v${"0.24.2"}`)} ${tagline}`);
43
43
  }
44
44
  function title(label) {
45
45
  console.log(` ${colors.bgWhite(colors.black(` ${label} `))}`);
@@ -65,7 +65,7 @@ function printHelp() {
65
65
  }
66
66
  }
67
67
  async function printVersion() {
68
- const version = "0.24.1";
68
+ const version = "0.24.2";
69
69
  console.log();
70
70
  console.log(` ${colors.bgGreen(colors.black(` astro `))} ${colors.green(`v${version}`)}`);
71
71
  }
@@ -22,7 +22,7 @@ async function dev(config, options = { logging: defaultLogOptions }) {
22
22
  const devServerAddressInfo = viteServer.httpServer.address();
23
23
  const site = config.buildOptions.site ? new URL(config.buildOptions.site) : void 0;
24
24
  info(options.logging, null, msg.devStart({ startupTime: performance.now() - devStart, config, devServerAddressInfo, site, https: !!((_a = viteUserConfig.server) == null ? void 0 : _a.https) }));
25
- const currentVersion = "0.24.1";
25
+ const currentVersion = "0.24.2";
26
26
  if (currentVersion.includes("-")) {
27
27
  warn(options.logging, null, msg.prerelease({ currentVersion }));
28
28
  }
@@ -2,6 +2,7 @@ import { bold, cyan, dim, red, grey, underline, yellow, reset } from "kleur/colo
2
2
  import { performance } from "perf_hooks";
3
3
  import { Writable } from "stream";
4
4
  import stringWidth from "string-width";
5
+ import * as readline from "readline";
5
6
  import debugPackage from "debug";
6
7
  import { format as utilFormat } from "util";
7
8
  function getLoggerLocale() {
@@ -56,9 +57,9 @@ const defaultLogDestination = new Writable({
56
57
  lines = Math.ceil(len / cols);
57
58
  }
58
59
  for (let i = 0; i < lines; i++) {
59
- dest.clearLine(0);
60
- dest.cursorTo(0);
61
- dest.moveCursor(0, -1);
60
+ readline.clearLine(dest, 0);
61
+ readline.cursorTo(dest, 0);
62
+ readline.moveCursor(dest, 0, -1);
62
63
  }
63
64
  }
64
65
  message = `${message} ${yellow(`(x${lastMessageCount})`)}`;
@@ -176,4 +177,4 @@ export {
176
177
  timerMessage,
177
178
  warn
178
179
  };
179
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvcmUvbG9nZ2VyLnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUEsMkJBQW1DO0FBQ2xDLFFBQU0sZ0JBQWdCO0FBQ3RCLE1BQUksUUFBUSxJQUFJLE1BQU07QUFDckIsVUFBTSxrQkFBa0IsUUFBUSxJQUFJLEtBQUssTUFBTSxHQUFHLEVBQUUsR0FBRyxRQUFRLE1BQU0sR0FBRztBQUd4RSxRQUFJLGdCQUFnQixTQUFTO0FBQUcsYUFBTztBQUFBO0FBQ2xDLGFBQU8sZ0JBQWdCLFVBQVUsR0FBRyxDQUFDO0FBQUEsRUFDM0M7QUFBTyxXQUFPO0FBQ2Y7QUFFQSxNQUFNLEtBQUssSUFBSSxLQUFLLGVBQWUsZ0JBQWdCLEdBQUc7QUFBQSxFQUNyRCxNQUFNO0FBQUEsRUFDTixRQUFRO0FBQUEsRUFDUixRQUFRO0FBQ1QsQ0FBQztBQUVELElBQUk7QUFDSixJQUFJLG1CQUFtQjtBQUNoQixNQUFNLHdCQUF3QixJQUFJLFNBQVM7QUFBQSxFQUNqRCxZQUFZO0FBQUEsRUFDWixNQUFNLE9BQW1CLEdBQUcsVUFBVTtBQUNyQyxRQUFJLE9BQXNCLFFBQVE7QUFDbEMsUUFBSSxPQUFPLE1BQU0sU0FBUyxPQUFPLFVBQVU7QUFDMUMsYUFBTyxRQUFRO0FBQUEsSUFDaEI7QUFFQSx5QkFBcUI7QUFDcEIsVUFBSSxTQUFTO0FBQ2IsVUFBSSxPQUFPLE1BQU07QUFDakIsVUFBSSxNQUFNO0FBRVQsa0JBQVUsSUFBSSxHQUFHLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxHQUFHO0FBQ3pDLFlBQUksTUFBTSxVQUFVLFFBQVE7QUFDM0IsaUJBQU8sS0FBSyxLQUFLLElBQUksT0FBTyxDQUFDO0FBQUEsUUFDOUIsV0FBVyxNQUFNLFVBQVUsUUFBUTtBQUNsQyxpQkFBTyxLQUFLLE9BQU8sSUFBSSxPQUFPLENBQUM7QUFBQSxRQUNoQyxXQUFXLE1BQU0sVUFBVSxTQUFTO0FBQ25DLGlCQUFP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
180
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NvcmUvbG9nZ2VyLnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQSwyQkFBbUM7QUFDbEMsUUFBTSxnQkFBZ0I7QUFDdEIsTUFBSSxRQUFRLElBQUksTUFBTTtBQUNyQixVQUFNLGtCQUFrQixRQUFRLElBQUksS0FBSyxNQUFNLEdBQUcsRUFBRSxHQUFHLFFBQVEsTUFBTSxHQUFHO0FBR3hFLFFBQUksZ0JBQWdCLFNBQVM7QUFBRyxhQUFPO0FBQUE7QUFDbEMsYUFBTyxnQkFBZ0IsVUFBVSxHQUFHLENBQUM7QUFBQSxFQUMzQztBQUFPLFdBQU87QUFDZjtBQUVBLE1BQU0sS0FBSyxJQUFJLEtBQUssZUFBZSxnQkFBZ0IsR0FBRztBQUFBLEVBQ3JELE1BQU07QUFBQSxFQUNOLFFBQVE7QUFBQSxFQUNSLFFBQVE7QUFDVCxDQUFDO0FBRUQsSUFBSTtBQUNKLElBQUksbUJBQW1CO0FBQ2hCLE1BQU0sd0JBQXdCLElBQUksU0FBUztBQUFBLEVBQ2pELFlBQVk7QUFBQSxFQUNaLE1BQU0sT0FBbUIsR0FBRyxVQUFVO0FBQ3JDLFFBQUksT0FBc0IsUUFBUTtBQUNsQyxRQUFJLE9BQU8sTUFBTSxTQUFTLE9BQU8sVUFBVTtBQUMxQyxhQUFPLFFBQVE7QUFBQSxJQUNoQjtBQUVBLHlCQUFxQjtBQUNwQixVQUFJLFNBQVM7QUFDYixVQUFJLE9BQU8sTUFBTTtBQUNqQixVQUFJLE1BQU07QUFFVCxrQkFBVSxJQUFJLEdBQUcsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLEdBQUc7QUFDekMsWUFBSSxNQUFNLFVBQVUsUUFBUTtBQUMzQixpQkFBTyxLQUFLLEtBQUssSUFBSSxPQUFPLENBQUM7QUFBQSxRQUM5QixXQUFXLE1BQU0sVUFBVSxRQUFRO0FBQ2xDLGlCQUFPLEtBQUssT0FBTyxJQUFJLE9BQU8sQ0FBQztBQUFBLFFBQ2hDLFdBQVcsTUFBTSxVQUFVLFNBQVM7QUFDbkMs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
@@ -28,7 +28,7 @@ function devStart({
28
28
  https,
29
29
  site
30
30
  }) {
31
- const version = "0.24.1";
31
+ const version = "0.24.2";
32
32
  const rootPath = site ? site.pathname : "/";
33
33
  const localPrefix = `${dim("\u2503")} Local `;
34
34
  const networkPrefix = `${dim("\u2503")} Network `;
@@ -6,11 +6,17 @@ const isCSSRequest = (request) => cssRe.test(request);
6
6
  function getStylesForURL(filePath, viteServer) {
7
7
  const css = /* @__PURE__ */ new Set();
8
8
  function crawlCSS(id, scanned = /* @__PURE__ */ new Set()) {
9
- const moduleName = viteServer.moduleGraph.idToModuleMap.get(id);
10
- if (!moduleName || !moduleName.id)
11
- return;
12
- scanned.add(moduleName.id);
13
- for (const importedModule of moduleName.importedModules) {
9
+ const relatedMods = viteServer.moduleGraph.getModulesByFile(id) ?? /* @__PURE__ */ new Set();
10
+ const importedModules = /* @__PURE__ */ new Set();
11
+ for (const relatedMod of relatedMods) {
12
+ if (id === relatedMod.id) {
13
+ scanned.add(id);
14
+ for (const importedMod of relatedMod.importedModules) {
15
+ importedModules.add(importedMod);
16
+ }
17
+ }
18
+ }
19
+ for (const importedModule of importedModules) {
14
20
  if (!importedModule.id || scanned.has(importedModule.id))
15
21
  continue;
16
22
  const ext = path.extname(importedModule.url.toLowerCase());
@@ -28,4 +34,4 @@ export {
28
34
  getStylesForURL,
29
35
  isCSSRequest
30
36
  };
31
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2NvcmUvcmVuZGVyL2Rldi9jc3MudHMiXSwKICAibWFwcGluZ3MiOiAiQUFFQTtBQUNBO0FBR08sTUFBTSxtQkFBbUIsb0JBQUksSUFBSSxDQUFDLFFBQVEsU0FBUyxZQUFZLFNBQVMsU0FBUyxTQUFTLFdBQVcsT0FBTyxDQUFDO0FBRXBILE1BQU0sUUFBUSxJQUFJLE9BQ2pCLE9BQU8sTUFBTSxLQUFLLGdCQUFnQixFQUNoQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQ3JCLEtBQUssR0FBRyxXQUNYO0FBQ08sTUFBTSxlQUFlLENBQUMsWUFBNkIsTUFBTSxLQUFLLE9BQU87QUFNckUseUJBQXlCLFVBQWUsWUFBNkM7QUFDM0YsUUFBTSxNQUFNLG9CQUFJLElBQVk7QUFHNUIsb0JBQWtCLElBQVksVUFBVSxvQkFBSSxJQUFZLEdBQUc7QUFHMUQsVUFBTSxhQUFhLFdBQVcsWUFBWSxjQUFjLElBQUksRUFBRTtBQUM5RCxRQUFJLENBQUMsY0FBYyxDQUFDLFdBQVc7QUFBSTtBQUVuQyxZQUFRLElBQUksV0FBVyxFQUFFO0FBR3pCLGVBQVcsa0JBQWtCLFdBQVcsaUJBQWlCO0FBQ3hELFVBQUksQ0FBQyxlQUFlLE1BQU0sUUFBUSxJQUFJLGVBQWUsRUFBRTtBQUFHO0FBQzFELFlBQU0sTUFBTSxLQUFLLFFBQVEsZUFBZSxJQUFJLFlBQVksQ0FBQztBQUN6RCxVQUFJLGlCQUFpQixJQUFJLEdBQUcsR0FBRztBQUM5QixZQUFJLElBQUksZUFBZSxHQUFHO0FBQUEsTUFDM0I7QUFDQSxlQUFTLGVBQWUsSUFBSSxPQUFPO0FBQUEsSUFDcEM7QUFBQSxFQUNEO0FBRUEsV0FBUyxPQUFPLFFBQVEsQ0FBQztBQUV6QixTQUFPO0FBQ1I7IiwKICAibmFtZXMiOiBbXQp9Cg==
37
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2NvcmUvcmVuZGVyL2Rldi9jc3MudHMiXSwKICAibWFwcGluZ3MiOiAiQUFFQTtBQUNBO0FBR08sTUFBTSxtQkFBbUIsb0JBQUksSUFBSSxDQUFDLFFBQVEsU0FBUyxZQUFZLFNBQVMsU0FBUyxTQUFTLFdBQVcsT0FBTyxDQUFDO0FBRXBILE1BQU0sUUFBUSxJQUFJLE9BQ2pCLE9BQU8sTUFBTSxLQUFLLGdCQUFnQixFQUNoQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQ3JCLEtBQUssR0FBRyxXQUNYO0FBQ08sTUFBTSxlQUFlLENBQUMsWUFBNkIsTUFBTSxLQUFLLE9BQU87QUFNckUseUJBQXlCLFVBQWUsWUFBNkM7QUFDM0YsUUFBTSxNQUFNLG9CQUFJLElBQVk7QUFHNUIsb0JBQWtCLElBQVksVUFBVSxvQkFBSSxJQUFZLEdBQUc7QUFHMUQsVUFBTSxjQUFjLFdBQVcsWUFBWSxpQkFBaUIsRUFBRSxLQUFLLG9CQUFJLElBQUk7QUFDM0UsVUFBTSxrQkFBa0Isb0JBQUksSUFBcUI7QUFFakQsZUFBVyxjQUFjLGFBQWE7QUFDckMsVUFBSSxPQUFPLFdBQVcsSUFBSTtBQUN6QixnQkFBUSxJQUFJLEVBQUU7QUFDZCxtQkFBVyxlQUFlLFdBQVcsaUJBQWlCO0FBQ3JELDBCQUFnQixJQUFJLFdBQVc7QUFBQSxRQUNoQztBQUFBLE1BQ0Q7QUFBQSxJQUNEO0FBR0EsZUFBVyxrQkFBa0IsaUJBQWlCO0FBQzdDLFVBQUksQ0FBQyxlQUFlLE1BQU0sUUFBUSxJQUFJLGVBQWUsRUFBRTtBQUFHO0FBQzFELFlBQU0sTUFBTSxLQUFLLFFBQVEsZUFBZSxJQUFJLFlBQVksQ0FBQztBQUN6RCxVQUFJLGlCQUFpQixJQUFJLEdBQUcsR0FBRztBQUM5QixZQUFJLElBQUksZUFBZSxHQUFHO0FBQUEsTUFDM0I7QUFDQSxlQUFTLGVBQWUsSUFBSSxPQUFPO0FBQUEsSUFDcEM7QUFBQSxFQUNEO0FBRUEsV0FBUyxPQUFPLFFBQVEsQ0FBQztBQUV6QixTQUFPO0FBQ1I7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,16 +1,19 @@
1
- const entities = { '"': "quot", "&": "amp", "'": "apos", "<": "lt", ">": "gt" };
2
- const escapeHTML = (str) => str.replace(/["'&<>]/g, (char) => "&" + entities[char] + ";");
3
- class UnescapedString extends String {
1
+ import { escape } from "html-escaper";
2
+ const escapeHTML = escape;
3
+ class HTMLString extends String {
4
4
  }
5
- const unescapeHTML = (value) => {
5
+ const markHTMLString = (value) => {
6
+ if (value instanceof HTMLString) {
7
+ return value;
8
+ }
6
9
  if (typeof value === "string") {
7
- return new UnescapedString(value);
10
+ return new HTMLString(value);
8
11
  }
9
12
  return value;
10
13
  };
11
14
  export {
12
- UnescapedString,
15
+ HTMLString,
13
16
  escapeHTML,
14
- unescapeHTML
17
+ markHTMLString
15
18
  };
16
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3J1bnRpbWUvc2VydmVyL2VzY2FwZS50cyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE1BQU0sV0FBVyxFQUFFLEtBQUssUUFBUSxLQUFLLE9BQU8sS0FBSyxRQUFRLEtBQUssTUFBTSxLQUFLLEtBQUs7QUFHdkUsTUFBTSxhQUFhLENBQUMsUUFBZ0IsSUFBSSxRQUFRLFlBQVksQ0FBQyxTQUFpQixNQUFNLFNBQVMsUUFBaUMsR0FBRztBQU1qSSxNQUFNLHdCQUF3QixPQUFPO0FBQUM7QUFNdEMsTUFBTSxlQUFlLENBQUMsVUFBZTtBQUczQyxNQUFJLE9BQU8sVUFBVSxVQUFVO0FBQzlCLFdBQU8sSUFBSSxnQkFBZ0IsS0FBSztBQUFBLEVBQ2pDO0FBR0EsU0FBTztBQUNSOyIsCiAgIm5hbWVzIjogW10KfQo=
19
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3J1bnRpbWUvc2VydmVyL2VzY2FwZS50cyJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBR08sTUFBTSxhQUFhO0FBTW5CLE1BQU0sbUJBQW1CLE9BQU87QUFBQztBQU9qQyxNQUFNLGlCQUFpQixDQUFDLFVBQWU7QUFFN0MsTUFBSSxpQkFBaUIsWUFBWTtBQUNoQyxXQUFPO0FBQUEsRUFDUjtBQUlBLE1BQUksT0FBTyxVQUFVLFVBQVU7QUFDOUIsV0FBTyxJQUFJLFdBQVcsS0FBSztBQUFBLEVBQzVCO0FBR0EsU0FBTztBQUNSOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -32,26 +32,27 @@ var __objRest = (source, exclude) => {
32
32
  import shorthash from "shorthash";
33
33
  import { extractDirectives, generateHydrateScript } from "./hydration.js";
34
34
  import { serializeListValue } from "./util.js";
35
- import { escapeHTML, UnescapedString, unescapeHTML } from "./escape.js";
35
+ import { escapeHTML, HTMLString, markHTMLString } from "./escape.js";
36
36
  import { createMetadata } from "./metadata.js";
37
- import { unescapeHTML as unescapeHTML2 } from "./escape.js";
37
+ import { markHTMLString as markHTMLString2 } from "./escape.js";
38
+ import { markHTMLString as markHTMLString3 } from "./escape.js";
38
39
  const voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;
39
40
  const htmlBooleanAttributes = /^(allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;
40
41
  const htmlEnumAttributes = /^(contenteditable|draggable|spellcheck|value)$/i;
41
42
  const svgEnumAttributes = /^(autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;
42
43
  async function _render(child) {
43
44
  child = await child;
44
- if (child instanceof UnescapedString) {
45
+ if (child instanceof HTMLString) {
45
46
  return child;
46
47
  } else if (Array.isArray(child)) {
47
- return unescapeHTML((await Promise.all(child.map((value) => _render(value)))).join(""));
48
+ return markHTMLString((await Promise.all(child.map((value) => _render(value)))).join(""));
48
49
  } else if (typeof child === "function") {
49
50
  return _render(child());
50
51
  } else if (typeof child === "string") {
51
- return escapeHTML(child);
52
+ return markHTMLString(escapeHTML(child));
52
53
  } else if (!child && child !== 0) {
53
54
  } else if (child instanceof AstroComponent || Object.prototype.toString.call(child) === "[object AstroComponent]") {
54
- return unescapeHTML(await renderAstroComponent(child));
55
+ return markHTMLString(await renderAstroComponent(child));
55
56
  } else {
56
57
  return child;
57
58
  }
@@ -69,7 +70,7 @@ class AstroComponent {
69
70
  for (let i = 0; i < htmlParts.length; i++) {
70
71
  const html = htmlParts[i];
71
72
  const expression = expressions[i];
72
- yield unescapeHTML(html);
73
+ yield markHTMLString(html);
73
74
  yield _render(expression);
74
75
  }
75
76
  }
@@ -116,11 +117,11 @@ async function renderComponent(result, displayName, Component, _props, slots = {
116
117
  if (children == null) {
117
118
  return children;
118
119
  }
119
- return unescapeHTML(children);
120
+ return markHTMLString(children);
120
121
  }
121
122
  if (Component && Component.isAstroComponentFactory) {
122
123
  const output = await renderToString(result, Component, _props, slots);
123
- return unescapeHTML(output);
124
+ return markHTMLString(output);
124
125
  }
125
126
  if (Component === null && !_props["client:only"]) {
126
127
  throw new Error(`Unable to render ${displayName} because it is ${Component}!
@@ -211,7 +212,7 @@ If you're still stuck, please open an issue on GitHub or join us at https://astr
211
212
  }
212
213
  }
213
214
  if (!html && typeof Component === "string") {
214
- html = await renderAstroComponent(await render`<${Component}${spreadAttributes(props)}${unescapeHTML((children == null || children == "") && voidElementNames.test(Component) ? `/>` : `>${children}</${Component}>`)}`);
215
+ html = await renderAstroComponent(await render`<${Component}${spreadAttributes(props)}${markHTMLString((children == null || children == "") && voidElementNames.test(Component) ? `/>` : `>${children}</${Component}>`)}`);
215
216
  }
216
217
  if ((_b = renderer == null ? void 0 : renderer.polyfills) == null ? void 0 : _b.length) {
217
218
  for (const src of renderer.polyfills) {
@@ -222,14 +223,14 @@ If you're still stuck, please open an issue on GitHub or join us at https://astr
222
223
  }
223
224
  }
224
225
  if (!hydration) {
225
- return unescapeHTML(html.replace(/\<\/?astro-fragment\>/g, ""));
226
+ return markHTMLString(html.replace(/\<\/?astro-fragment\>/g, ""));
226
227
  }
227
228
  const astroId = shorthash.unique(`<!--${metadata.componentExport.value}:${metadata.componentUrl}-->
228
229
  ${html}`);
229
230
  result.scripts.add(await generateHydrateScript({ renderer, result, astroId, props }, metadata));
230
231
  const needsAstroTemplate = children && !/<\/?astro-fragment\>/.test(html);
231
232
  const template = needsAstroTemplate ? `<template data-astro-template>${children}</template>` : "";
232
- return unescapeHTML(`<astro-root uid="${astroId}"${needsAstroTemplate ? " tmpl" : ""}>${html ?? ""}${template}</astro-root>`);
233
+ return markHTMLString(`<astro-root uid="${astroId}"${needsAstroTemplate ? " tmpl" : ""}>${html ?? ""}${template}</astro-root>`);
233
234
  }
234
235
  function createFetchContentFn(url, site) {
235
236
  let sitePathname = site.pathname;
@@ -278,7 +279,7 @@ function addAttribute(value, key, shouldEscape = true) {
278
279
  }
279
280
  if (value === false) {
280
281
  if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {
281
- return unescapeHTML(` ${key}="false"`);
282
+ return markHTMLString(` ${key}="false"`);
282
283
  }
283
284
  return "";
284
285
  }
@@ -289,12 +290,12 @@ Make sure to use the static attribute syntax (\`${key}={value}\`) instead of the
289
290
  return "";
290
291
  }
291
292
  if (key === "class:list") {
292
- return unescapeHTML(` ${key.slice(0, -5)}="${toAttributeString(serializeListValue(value))}"`);
293
+ return markHTMLString(` ${key.slice(0, -5)}="${toAttributeString(serializeListValue(value))}"`);
293
294
  }
294
295
  if (value === true && (key.startsWith("data-") || htmlBooleanAttributes.test(key))) {
295
- return unescapeHTML(` ${key}`);
296
+ return markHTMLString(` ${key}`);
296
297
  } else {
297
- return unescapeHTML(` ${key}="${toAttributeString(value, shouldEscape)}"`);
298
+ return markHTMLString(` ${key}="${toAttributeString(value, shouldEscape)}"`);
298
299
  }
299
300
  }
300
301
  function spreadAttributes(values, shouldEscape = true) {
@@ -302,7 +303,7 @@ function spreadAttributes(values, shouldEscape = true) {
302
303
  for (const [key, value] of Object.entries(values)) {
303
304
  output += addAttribute(value, key, shouldEscape);
304
305
  }
305
- return unescapeHTML(output);
306
+ return markHTMLString(output);
306
307
  }
307
308
  function defineStyleVars(selector, vars) {
308
309
  let output = "\n";
@@ -310,7 +311,7 @@ function defineStyleVars(selector, vars) {
310
311
  output += ` --${key}: ${value};
311
312
  `;
312
313
  }
313
- return unescapeHTML(`${selector} {${output}}`);
314
+ return markHTMLString(`${selector} {${output}}`);
314
315
  }
315
316
  function defineScriptVars(vars) {
316
317
  let output = "";
@@ -318,7 +319,7 @@ function defineScriptVars(vars) {
318
319
  output += `let ${key} = ${JSON.stringify(value)};
319
320
  `;
320
321
  }
321
- return unescapeHTML(output);
322
+ return markHTMLString(output);
322
323
  }
323
324
  async function renderEndpoint(mod, params) {
324
325
  const method = "get";
@@ -363,7 +364,7 @@ async function renderHead(result) {
363
364
  styles.push(renderElement("style", { props: { "astro-style": true }, children: "astro-root, astro-fragment { display: contents; }" }));
364
365
  }
365
366
  const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement("link", link, false));
366
- return unescapeHTML(links.join("\n") + styles.join("\n") + scripts.join("\n") + "\n<!--astro:head:injected-->");
367
+ return markHTMLString(links.join("\n") + styles.join("\n") + scripts.join("\n") + "\n<!--astro:head:injected-->");
367
368
  }
368
369
  async function renderAstroComponent(component) {
369
370
  let template = [];
@@ -372,7 +373,7 @@ async function renderAstroComponent(component) {
372
373
  template.push(value);
373
374
  }
374
375
  }
375
- return unescapeHTML(await _render(template));
376
+ return markHTMLString(await _render(template));
376
377
  }
377
378
  function componentIsHTMLElement(Component) {
378
379
  return typeof HTMLElement !== "undefined" && HTMLElement.isPrototypeOf(Component);
@@ -383,7 +384,7 @@ async function renderHTMLElement(result, constructor, props, slots) {
383
384
  for (const attr in props) {
384
385
  attrHTML += ` ${attr}="${toAttributeString(await props[attr])}"`;
385
386
  }
386
- return unescapeHTML(`<${name}${attrHTML}>${await renderSlot(result, slots == null ? void 0 : slots.default)}</${name}>`);
387
+ return markHTMLString(`<${name}${attrHTML}>${await renderSlot(result, slots == null ? void 0 : slots.default)}</${name}>`);
387
388
  }
388
389
  function getHTMLElementName(constructor) {
389
390
  const definedName = customElements.getName(constructor);
@@ -419,6 +420,7 @@ export {
419
420
  createMetadata,
420
421
  defineScriptVars,
421
422
  defineStyleVars,
423
+ markHTMLString2 as markHTMLString,
422
424
  render,
423
425
  renderAstroComponent,
424
426
  renderComponent,
@@ -428,6 +430,6 @@ export {
428
430
  renderSlot,
429
431
  renderToString,
430
432
  spreadAttributes,
431
- unescapeHTML2 as unescapeHTML
433
+ markHTMLString3 as unescapeHTML
432
434
  };
433
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3J1bnRpbWUvc2VydmVyL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUVBLE1BQU0sbUJBQW1CO0FBQ3pCLE1BQU0sd0JBQ0w7QUFDRCxNQUFNLHFCQUFxQjtBQUUzQixNQUFNLG9CQUFvQjtBQVMxQix1QkFBdUIsT0FBMEI7QUFDaEQsVUFBUSxNQUFNO0FBQ2QsTUFBSSxpQkFBaUIsaUJBQWlCO0FBQ3JDLFdBQU87QUFBQSxFQUNSLFdBQVcsTUFBTSxRQUFRLEtBQUssR0FBRztBQUNoQyxXQUFPLGFBQWMsT0FBTSxRQUFRLElBQUksTUFBTSxJQUFJLENBQUMsVUFBVSxRQUFRLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUM7QUFBQSxFQUN2RixXQUFXLE9BQU8sVUFBVSxZQUFZO0FBSXZDLFdBQU8sUUFBUSxNQUFNLENBQUM7QUFBQSxFQUN2QixXQUFXLE9BQU8sVUFBVSxVQUFVO0FBQ3JDLFdBQU8sV0FBVyxLQUFLO0FBQUEsRUFDeEIsV0FBVyxDQUFDLFNBQVMsVUFBVSxHQUFHO0FBQUEsRUFFbEMsV0FHUyxpQkFBaUIsa0JBQWtCLE9BQU8sVUFBVSxTQUFTLEtBQUssS0FBSyxNQUFNLDJCQUEyQjtBQUNoSCxXQUFPLGFBQWEsTUFBTSxxQkFBcUIsS0FBSyxDQUFDO0FBQUEsRUFDdEQsT0FBTztBQUNOLFdBQU87QUFBQSxFQUNSO0FBQ0Q7QUFJTyxNQUFNLGVBQWU7QUFBQSxFQUkzQixZQUFZLFdBQWlDLGFBQW9CO0FBQ2hFLFNBQUssWUFBWTtBQUNqQixTQUFLLGNBQWM7QUFBQSxFQUNwQjtBQUFBLE9BRUssT0FBTyxlQUFlO0FBQzFCLFdBQU87QUFBQSxFQUNSO0FBQUEsSUFFRSxPQUFPLFlBQVk7QUFDcEIsVUFBTSxFQUFFLFdBQVcsZ0JBQWdCO0FBRW5DLGFBQVMsSUFBSSxHQUFH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
435
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3J1bnRpbWUvc2VydmVyL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFFQTtBQUVBO0FBRUEsTUFBTSxtQkFBbUI7QUFDekIsTUFBTSx3QkFDTDtBQUNELE1BQU0scUJBQXFCO0FBRTNCLE1BQU0sb0JBQW9CO0FBUzFCLHVCQUF1QixPQUEwQjtBQUNoRCxVQUFRLE1BQU07QUFDZCxNQUFJLGlCQUFpQixZQUFZO0FBQ2hDLFdBQU87QUFBQSxFQUNSLFdBQVcsTUFBTSxRQUFRLEtBQUssR0FBRztBQUNoQyxXQUFPLGVBQWdCLE9BQU0sUUFBUSxJQUFJLE1BQU0sSUFBSSxDQUFDLFVBQVUsUUFBUSxLQUFLLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDO0FBQUEsRUFDekYsV0FBVyxPQUFPLFVBQVUsWUFBWTtBQUl2QyxXQUFPLFFBQVEsTUFBTSxDQUFDO0FBQUEsRUFDdkIsV0FBVyxPQUFPLFVBQVUsVUFBVTtBQUNyQyxXQUFPLGVBQWUsV0FBVyxLQUFLLENBQUM7QUFBQSxFQUN4QyxXQUFXLENBQUMsU0FBUyxVQUFVLEdBQUc7QUFBQSxFQUVsQyxXQUdTLGlCQUFpQixrQkFBa0IsT0FBTyxVQUFVLFNBQVMsS0FBSyxLQUFLLE1BQU0sMkJBQTJCO0FBQ2hILFdBQU8sZUFBZSxNQUFNLHFCQUFxQixLQUFLLENBQUM7QUFBQSxFQUN4RCxPQUFPO0FBQ04sV0FBTztBQUFBLEVBQ1I7QUFDRDtBQUlPLE1BQU0sZUFBZTtBQUFBLEVBSTNCLFlBQVksV0FBaUMsYUFBb0I7QUFDaEUsU0FBSyxZQUFZO0FBQ2pCLFNBQUssY0FBYztBQUFBLEVBQ3BCO0FBQUEsT0FFSyxPQUFPLGVBQWU7QUFDMUIsV0FBTztBQUFBLEVBQ1I7QUFBQSxJQUVFLE9BQU8sWUFBWTtBQUNwQixVQUFNLEVBQUUsV0FBVyxnQkFBZ0I7QUFFbkMs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
@@ -1,12 +1,14 @@
1
- export declare const escapeHTML: (str: string) => string;
1
+ import { escape } from 'html-escaper';
2
+ export declare const escapeHTML: typeof escape;
2
3
  /**
3
- * RawString is a "blessed" version of String
4
- * that is not subject to escaping.
4
+ * A "blessed" extension of String that tells Astro that the string
5
+ * has already been escaped. This helps prevent double-escaping of HTML.
5
6
  */
6
- export declare class UnescapedString extends String {
7
+ export declare class HTMLString extends String {
7
8
  }
8
9
  /**
9
- * unescapeHTML marks a string as raw, unescaped HTML.
10
- * This should only be generated internally, not a public API.
10
+ * markHTMLString marks a string as raw or "already escaped" by returning
11
+ * a `HTMLString` instance. This is meant for internal use, and should not
12
+ * be returned through any public JS API.
11
13
  */
12
- export declare const unescapeHTML: (value: any) => any;
14
+ export declare const markHTMLString: (value: any) => any;
@@ -2,7 +2,8 @@ import type { EndpointHandler } from '../../@types/astro';
2
2
  import type { AstroGlobalPartial, SSRResult } from '../../@types/astro';
3
3
  export type { Metadata } from './metadata';
4
4
  export { createMetadata } from './metadata.js';
5
- export { unescapeHTML } from './escape.js';
5
+ export { markHTMLString } from './escape.js';
6
+ export { markHTMLString as unescapeHTML } from './escape.js';
6
7
  export declare class AstroComponent {
7
8
  private htmlParts;
8
9
  private expressions;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "astro",
3
- "version": "0.24.1",
3
+ "version": "0.24.2",
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",
@@ -16,6 +16,7 @@
16
16
  "exports": {
17
17
  ".": "./astro.js",
18
18
  "./env": "./env.d.ts",
19
+ "./config": "./config.mjs",
19
20
  "./internal": "./internal.js",
20
21
  "./app/node": "./dist/core/app/node.js",
21
22
  "./client/*": "./dist/runtime/client/*",
@@ -45,6 +46,8 @@
45
46
  "components",
46
47
  "dist",
47
48
  "astro.js",
49
+ "config.d.ts",
50
+ "config.mjs",
48
51
  "env.d.ts",
49
52
  "README.md",
50
53
  "vendor"
@@ -74,6 +77,7 @@
74
77
  "fast-glob": "^3.2.11",
75
78
  "fast-xml-parser": "^4.0.6",
76
79
  "html-entities": "^2.3.2",
80
+ "html-escaper": "^3.0.3",
77
81
  "htmlparser2": "^7.2.0",
78
82
  "kleur": "^4.1.4",
79
83
  "magic-string": "^0.25.9",
@@ -112,6 +116,7 @@
112
116
  "@types/connect": "^3.4.35",
113
117
  "@types/debug": "^4.1.7",
114
118
  "@types/estree": "^0.0.51",
119
+ "@types/html-escaper": "^3.0.0",
115
120
  "@types/mime": "^2.0.3",
116
121
  "@types/mocha": "^9.1.0",
117
122
  "@types/parse5": "^6.0.3",