@marko/vite 2.2.0 → 2.2.1

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.
@@ -0,0 +1,65 @@
1
+ import {
2
+ serialize
3
+ } from "./chunk-FH7KOPG5.mjs";
4
+
5
+ // src/manifest-generator.ts
6
+ import { Parser } from "htmlparser2";
7
+ import { ElementType } from "domelementtype";
8
+ import { DomHandler } from "domhandler";
9
+ var MARKER_COMMENT = "MARKO_VITE";
10
+ function generateDocManifest(rawHtml) {
11
+ return new Promise((resolve, reject) => {
12
+ const parser = new Parser(new DomHandler(function(err, dom) {
13
+ if (err) {
14
+ return reject(err);
15
+ }
16
+ const htmlChildren = dom.find(isElement).childNodes;
17
+ const headPrepend = [];
18
+ const head = [];
19
+ const bodyPrepend = [];
20
+ const body = [];
21
+ splitNodesByMarker(htmlChildren.find((node) => isElement(node) && node.tagName === "head").childNodes, headPrepend, head);
22
+ splitNodesByMarker(htmlChildren.find((node) => isElement(node) && node.tagName === "body").childNodes, bodyPrepend, body);
23
+ resolve({
24
+ "head-prepend": serializeOrNull(headPrepend),
25
+ head: serializeOrNull(head),
26
+ "body-prepend": serializeOrNull(bodyPrepend),
27
+ body: serializeOrNull(body)
28
+ });
29
+ }));
30
+ parser.write(rawHtml);
31
+ parser.end();
32
+ });
33
+ }
34
+ function generateInputDoc(entry) {
35
+ return `<!DOCTYPE html><html><head><!--${MARKER_COMMENT}--></head><body><!--${MARKER_COMMENT}--><script async type="module" src=${JSON.stringify(entry)}><\/script></body></html>`;
36
+ }
37
+ function serializeOrNull(nodes) {
38
+ const result = serialize(nodes);
39
+ if (result.length) {
40
+ return result;
41
+ }
42
+ return null;
43
+ }
44
+ function splitNodesByMarker(nodes, before, after) {
45
+ for (let i = 0; i < nodes.length; i++) {
46
+ let node = nodes[i];
47
+ if (node.data === MARKER_COMMENT) {
48
+ i++;
49
+ for (; i < nodes.length; i++) {
50
+ node = nodes[i];
51
+ after.push(node);
52
+ }
53
+ break;
54
+ }
55
+ before.push(node);
56
+ }
57
+ }
58
+ function isElement(node) {
59
+ return node.type === ElementType.Tag;
60
+ }
61
+
62
+ export {
63
+ generateDocManifest,
64
+ generateInputDoc
65
+ };
@@ -0,0 +1,80 @@
1
+ // src/serializer.ts
2
+ import { ElementType } from "domelementtype";
3
+ var voidElements = /* @__PURE__ */ new Set([
4
+ "area",
5
+ "base",
6
+ "br",
7
+ "col",
8
+ "embed",
9
+ "hr",
10
+ "img",
11
+ "input",
12
+ "link",
13
+ "meta",
14
+ "param",
15
+ "source",
16
+ "track",
17
+ "wbr"
18
+ ]);
19
+ function serialize(nodes, parts) {
20
+ let curString = parts ? parts.pop() : "";
21
+ parts != null ? parts : parts = [];
22
+ for (const node of nodes) {
23
+ switch (node.type) {
24
+ case ElementType.Tag:
25
+ case ElementType.Style:
26
+ case ElementType.Script: {
27
+ const tag = node;
28
+ const { name } = tag;
29
+ curString += `<${name}`;
30
+ switch (tag.tagName) {
31
+ case "script":
32
+ parts.push(curString);
33
+ curString = "";
34
+ break;
35
+ case "style":
36
+ parts.push(curString);
37
+ curString = "";
38
+ break;
39
+ case "link":
40
+ if (tag.attribs.rel === "stylesheet") {
41
+ parts.push(curString);
42
+ curString = "";
43
+ }
44
+ break;
45
+ }
46
+ for (const attr of tag.attributes) {
47
+ curString += ` ${attr.value === "" ? attr.name : `${attr.name}="${attr.value.replace(/"/g, "&#39;")}"`}`;
48
+ }
49
+ curString += ">";
50
+ if (tag.children.length) {
51
+ parts.push(curString);
52
+ serialize(tag.children, parts);
53
+ curString = parts.pop();
54
+ }
55
+ if (!voidElements.has(name)) {
56
+ curString += `</${name}>`;
57
+ }
58
+ break;
59
+ }
60
+ case ElementType.Text: {
61
+ const text = node.data;
62
+ if (!/^\s*$/.test(text)) {
63
+ curString += text;
64
+ }
65
+ break;
66
+ }
67
+ case ElementType.Comment:
68
+ curString += `<!--${node.data}-->`;
69
+ break;
70
+ }
71
+ }
72
+ if (curString) {
73
+ parts.push(curString);
74
+ }
75
+ return parts;
76
+ }
77
+
78
+ export {
79
+ serialize
80
+ };
@@ -0,0 +1,22 @@
1
+ // src/server-entry-template.ts
2
+ import path from "path";
3
+ var server_entry_template_default = async (opts) => {
4
+ const fileNameStr = JSON.stringify(`./${path.basename(opts.fileName)}`);
5
+ return `import template from ${fileNameStr};
6
+ export * from ${fileNameStr};
7
+ $ const $global = out.global;
8
+ ${opts.runtimeId ? `$ $global.runtimeId = ${JSON.stringify(opts.runtimeId)};
9
+ ` : ""}$ ($global.___viteEntries || ($global.___viteEntries = [])).push(${opts.entryData});
10
+ <_vite slot="head-prepend"/>
11
+ <_vite slot="head"/>
12
+ <_vite slot="body-prepend"/>
13
+ <\${template} ...input/>
14
+ <init-components/>
15
+ <await-reorderer/>
16
+ <_vite slot="body"/>
17
+ `;
18
+ };
19
+
20
+ export {
21
+ server_entry_template_default
22
+ };
@@ -0,0 +1,49 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
26
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
27
+ }) : x)(function(x) {
28
+ if (typeof require !== "undefined")
29
+ return require.apply(this, arguments);
30
+ throw new Error('Dynamic require of "' + x + '" is not supported');
31
+ });
32
+ var __reExport = (target, module, copyDefault, desc) => {
33
+ if (module && typeof module === "object" || typeof module === "function") {
34
+ for (let key of __getOwnPropNames(module))
35
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
36
+ __defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });
37
+ }
38
+ return target;
39
+ };
40
+ var __toESM = (module, isNodeMode) => {
41
+ return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", !isNodeMode && module && module.__esModule ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module);
42
+ };
43
+
44
+ export {
45
+ __spreadValues,
46
+ __spreadProps,
47
+ __require,
48
+ __toESM
49
+ };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import * as vite from "vite";
1
+ import type * as vite from "vite";
2
2
  import type * as Compiler from "@marko/compiler";
3
3
  export interface Options {
4
4
  linked?: boolean;
package/dist/index.js CHANGED
@@ -23,33 +23,37 @@ var __spreadValues = (a, b) => {
23
23
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
24
  var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
25
  var __export = (target, all) => {
26
- __markAsModule(target);
27
26
  for (var name in all)
28
27
  __defProp(target, name, { get: all[name], enumerable: true });
29
28
  };
30
- var __reExport = (target, module2, desc) => {
29
+ var __reExport = (target, module2, copyDefault, desc) => {
31
30
  if (module2 && typeof module2 === "object" || typeof module2 === "function") {
32
31
  for (let key of __getOwnPropNames(module2))
33
- if (!__hasOwnProp.call(target, key) && key !== "default")
32
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
34
33
  __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
35
34
  }
36
35
  return target;
37
36
  };
38
- var __toModule = (module2) => {
39
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
37
+ var __toESM = (module2, isNodeMode) => {
38
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
40
39
  };
41
- __export(exports, {
40
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
41
+ return (module2, temp) => {
42
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
43
+ };
44
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
45
+ var src_exports = {};
46
+ __export(src_exports, {
42
47
  default: () => markoPlugin
43
48
  });
44
- var import_os = __toModule(require("os"));
45
- var import_fs = __toModule(require("fs"));
46
- var import_path = __toModule(require("path"));
47
- var import_crypto = __toModule(require("crypto"));
48
- var import_url = __toModule(require("url"));
49
- var import_anymatch = __toModule(require("anymatch"));
50
- var import_server_entry_template = __toModule(require("./server-entry-template"));
51
- var import_manifest_generator = __toModule(require("./manifest-generator"));
52
- const import_meta = {};
49
+ var import_os = __toESM(require("os"));
50
+ var import_fs = __toESM(require("fs"));
51
+ var import_path = __toESM(require("path"));
52
+ var import_crypto = __toESM(require("crypto"));
53
+ var import_url = require("url");
54
+ var import_anymatch = __toESM(require("anymatch"));
55
+ var import_server_entry_template = __toESM(require("./server-entry-template"));
56
+ var import_manifest_generator = require("./manifest-generator");
53
57
  const virtualFiles = /* @__PURE__ */ new Map();
54
58
  const queryReg = /\?marko-.+$/;
55
59
  const browserEntryQuery = "?marko-browser-entry";
@@ -113,7 +117,7 @@ function markoPlugin(opts = {}) {
113
117
  enforce: "pre",
114
118
  async config(config, env) {
115
119
  var _a2, _b, _c, _d, _e;
116
- compiler != null ? compiler : compiler = await Promise.resolve().then(() => __toModule(require(opts.compiler || "@marko/compiler")));
120
+ compiler != null ? compiler : compiler = await Promise.resolve().then(() => __toESM(require(opts.compiler || "@marko/compiler")));
117
121
  root = config.root || process.cwd();
118
122
  isBuild = env.command === "build";
119
123
  isSSRBuild = isBuild && linked && Boolean(config.build.ssr);
@@ -153,7 +157,7 @@ function markoPlugin(opts = {}) {
153
157
  const ssr = (_d = config.ssr) != null ? _d : config.ssr = {};
154
158
  (_e = ssr.external) != null ? _e : ssr.external = [];
155
159
  ssr.external = ssr.external.concat(serverDeps);
156
- (await Promise.resolve().then(() => __toModule(require("@marko/compiler/register")))).default(__spreadProps(__spreadValues({}, ssrConfig), {
160
+ (await Promise.resolve().then(() => __toESM(require("@marko/compiler/register")))).default(__spreadProps(__spreadValues({}, ssrConfig), {
157
161
  sourceMaps: "inline",
158
162
  modules: "cjs"
159
163
  }));
@@ -198,6 +202,7 @@ function markoPlugin(opts = {}) {
198
202
  }
199
203
  },
200
204
  async resolveId(importee, importer, importOpts, ssr = importOpts.ssr) {
205
+ var _a2;
201
206
  if (virtualFiles.has(importee)) {
202
207
  return importee;
203
208
  }
@@ -206,7 +211,7 @@ function markoPlugin(opts = {}) {
206
211
  importee = importee.slice(0, -importeeQuery.length);
207
212
  } else if (ssr && linked && importer && isMarkoFile(importee) && !isMarkoFile(importer.replace(queryReg, ""))) {
208
213
  importeeQuery = serverEntryQuery;
209
- } else if (!ssr && isBuild && importer && isMarkoFile(importee) && this.getModuleInfo(importer).isEntry) {
214
+ } else if (!ssr && isBuild && importer && isMarkoFile(importee) && ((_a2 = this.getModuleInfo(importer)) == null ? void 0 : _a2.isEntry)) {
210
215
  importeeQuery = browserEntryQuery;
211
216
  }
212
217
  if (importeeQuery) {
@@ -409,5 +414,6 @@ function isEmpty(obj) {
409
414
  }
410
415
  return true;
411
416
  }
417
+ module.exports = __toCommonJS(src_exports);
412
418
  // Annotate the CommonJS export names for ESM import in node:
413
419
  0 && (module.exports = {});
package/dist/index.mjs CHANGED
@@ -1,58 +1,34 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
- var __getProtoOf = Object.getPrototypeOf;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
- var __reExport = (target, module, desc) => {
26
- if (module && typeof module === "object" || typeof module === "function") {
27
- for (let key of __getOwnPropNames(module))
28
- if (!__hasOwnProp.call(target, key) && key !== "default")
29
- __defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });
30
- }
31
- return target;
32
- };
33
- var __toModule = (module) => {
34
- return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module);
35
- };
1
+ import {
2
+ generateDocManifest,
3
+ generateInputDoc
4
+ } from "./chunk-2DT7ETWU.mjs";
5
+ import "./chunk-FH7KOPG5.mjs";
6
+ import {
7
+ server_entry_template_default
8
+ } from "./chunk-HWRQJHCN.mjs";
9
+ import {
10
+ __require,
11
+ __spreadProps,
12
+ __spreadValues,
13
+ __toESM
14
+ } from "./chunk-KYMHIO3E.mjs";
15
+
16
+ // src/index.ts
36
17
  import os from "os";
37
18
  import fs from "fs";
38
19
  import path from "path";
39
20
  import crypto from "crypto";
40
21
  import { pathToFileURL } from "url";
41
22
  import anyMatch from "anymatch";
42
- import getServerEntryTemplate from "./server-entry-template";
43
- import {
44
- generateInputDoc,
45
- generateDocManifest
46
- } from "./manifest-generator";
47
- const virtualFiles = /* @__PURE__ */ new Map();
48
- const queryReg = /\?marko-.+$/;
49
- const browserEntryQuery = "?marko-browser-entry";
50
- const serverEntryQuery = "?marko-server-entry";
51
- const virtualFileQuery = "?marko-virtual";
52
- const markoExt = ".marko";
53
- const htmlExt = ".html";
54
- const resolveOpts = { skipSelf: true };
55
- let tempDir;
23
+ var virtualFiles = /* @__PURE__ */ new Map();
24
+ var queryReg = /\?marko-.+$/;
25
+ var browserEntryQuery = "?marko-browser-entry";
26
+ var serverEntryQuery = "?marko-server-entry";
27
+ var virtualFileQuery = "?marko-virtual";
28
+ var markoExt = ".marko";
29
+ var htmlExt = ".html";
30
+ var resolveOpts = { skipSelf: true };
31
+ var tempDir;
56
32
  function markoPlugin(opts = {}) {
57
33
  var _a;
58
34
  let compiler;
@@ -107,7 +83,7 @@ function markoPlugin(opts = {}) {
107
83
  enforce: "pre",
108
84
  async config(config, env) {
109
85
  var _a2, _b, _c, _d, _e;
110
- compiler != null ? compiler : compiler = await Promise.resolve().then(() => __toModule(require(opts.compiler || "@marko/compiler")));
86
+ compiler != null ? compiler : compiler = await Promise.resolve().then(() => __toESM(__require(opts.compiler || "@marko/compiler")));
111
87
  root = config.root || process.cwd();
112
88
  isBuild = env.command === "build";
113
89
  isSSRBuild = isBuild && linked && Boolean(config.build.ssr);
@@ -147,7 +123,7 @@ function markoPlugin(opts = {}) {
147
123
  const ssr = (_d = config.ssr) != null ? _d : config.ssr = {};
148
124
  (_e = ssr.external) != null ? _e : ssr.external = [];
149
125
  ssr.external = ssr.external.concat(serverDeps);
150
- (await Promise.resolve().then(() => __toModule(require("@marko/compiler/register")))).default(__spreadProps(__spreadValues({}, ssrConfig), {
126
+ (await Promise.resolve().then(() => __toESM(__require("@marko/compiler/register")))).default(__spreadProps(__spreadValues({}, ssrConfig), {
151
127
  sourceMaps: "inline",
152
128
  modules: "cjs"
153
129
  }));
@@ -192,6 +168,7 @@ function markoPlugin(opts = {}) {
192
168
  }
193
169
  },
194
170
  async resolveId(importee, importer, importOpts, ssr = importOpts.ssr) {
171
+ var _a2;
195
172
  if (virtualFiles.has(importee)) {
196
173
  return importee;
197
174
  }
@@ -200,7 +177,7 @@ function markoPlugin(opts = {}) {
200
177
  importee = importee.slice(0, -importeeQuery.length);
201
178
  } else if (ssr && linked && importer && isMarkoFile(importee) && !isMarkoFile(importer.replace(queryReg, ""))) {
202
179
  importeeQuery = serverEntryQuery;
203
- } else if (!ssr && isBuild && importer && isMarkoFile(importee) && this.getModuleInfo(importer).isEntry) {
180
+ } else if (!ssr && isBuild && importer && isMarkoFile(importee) && ((_a2 = this.getModuleInfo(importer)) == null ? void 0 : _a2.isEntry)) {
204
181
  importeeQuery = browserEntryQuery;
205
182
  }
206
183
  if (importeeQuery) {
@@ -236,7 +213,7 @@ function markoPlugin(opts = {}) {
236
213
  } else {
237
214
  entryData = JSON.stringify(await generateDocManifest(await devServer.transformIndexHtml("/", generateInputDoc(fileNameToURL(fileName, root)))));
238
215
  }
239
- return getServerEntryTemplate({
216
+ return server_entry_template_default({
240
217
  fileName,
241
218
  entryData,
242
219
  runtimeId
@@ -6,29 +6,34 @@ var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
8
  var __export = (target, all) => {
9
- __markAsModule(target);
10
9
  for (var name in all)
11
10
  __defProp(target, name, { get: all[name], enumerable: true });
12
11
  };
13
- var __reExport = (target, module2, desc) => {
12
+ var __reExport = (target, module2, copyDefault, desc) => {
14
13
  if (module2 && typeof module2 === "object" || typeof module2 === "function") {
15
14
  for (let key of __getOwnPropNames(module2))
16
- if (!__hasOwnProp.call(target, key) && key !== "default")
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
17
16
  __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
18
17
  }
19
18
  return target;
20
19
  };
21
- var __toModule = (module2) => {
22
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
23
22
  };
24
- __export(exports, {
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var manifest_generator_exports = {};
29
+ __export(manifest_generator_exports, {
25
30
  generateDocManifest: () => generateDocManifest,
26
31
  generateInputDoc: () => generateInputDoc
27
32
  });
28
- var import_htmlparser2 = __toModule(require("htmlparser2"));
29
- var import_domelementtype = __toModule(require("domelementtype"));
30
- var import_domhandler = __toModule(require("domhandler"));
31
- var import_serializer = __toModule(require("./serializer"));
33
+ var import_htmlparser2 = require("htmlparser2");
34
+ var import_domelementtype = require("domelementtype");
35
+ var import_domhandler = require("domhandler");
36
+ var import_serializer = __toESM(require("./serializer"));
32
37
  const MARKER_COMMENT = "MARKO_VITE";
33
38
  function generateDocManifest(rawHtml) {
34
39
  return new Promise((resolve, reject) => {
@@ -81,6 +86,7 @@ function splitNodesByMarker(nodes, before, after) {
81
86
  function isElement(node) {
82
87
  return node.type === import_domelementtype.ElementType.Tag;
83
88
  }
89
+ module.exports = __toCommonJS(manifest_generator_exports);
84
90
  // Annotate the CommonJS export names for ESM import in node:
85
91
  0 && (module.exports = {
86
92
  generateDocManifest,
@@ -1,59 +1,9 @@
1
- import { Parser } from "htmlparser2";
2
- import { ElementType } from "domelementtype";
3
- import { DomHandler } from "domhandler";
4
- import serialize from "./serializer";
5
- const MARKER_COMMENT = "MARKO_VITE";
6
- function generateDocManifest(rawHtml) {
7
- return new Promise((resolve, reject) => {
8
- const parser = new Parser(new DomHandler(function(err, dom) {
9
- if (err) {
10
- return reject(err);
11
- }
12
- const htmlChildren = dom.find(isElement).childNodes;
13
- const headPrepend = [];
14
- const head = [];
15
- const bodyPrepend = [];
16
- const body = [];
17
- splitNodesByMarker(htmlChildren.find((node) => isElement(node) && node.tagName === "head").childNodes, headPrepend, head);
18
- splitNodesByMarker(htmlChildren.find((node) => isElement(node) && node.tagName === "body").childNodes, bodyPrepend, body);
19
- resolve({
20
- "head-prepend": serializeOrNull(headPrepend),
21
- head: serializeOrNull(head),
22
- "body-prepend": serializeOrNull(bodyPrepend),
23
- body: serializeOrNull(body)
24
- });
25
- }));
26
- parser.write(rawHtml);
27
- parser.end();
28
- });
29
- }
30
- function generateInputDoc(entry) {
31
- return `<!DOCTYPE html><html><head><!--${MARKER_COMMENT}--></head><body><!--${MARKER_COMMENT}--><script async type="module" src=${JSON.stringify(entry)}><\/script></body></html>`;
32
- }
33
- function serializeOrNull(nodes) {
34
- const result = serialize(nodes);
35
- if (result.length) {
36
- return result;
37
- }
38
- return null;
39
- }
40
- function splitNodesByMarker(nodes, before, after) {
41
- for (let i = 0; i < nodes.length; i++) {
42
- let node = nodes[i];
43
- if (node.data === MARKER_COMMENT) {
44
- i++;
45
- for (; i < nodes.length; i++) {
46
- node = nodes[i];
47
- after.push(node);
48
- }
49
- break;
50
- }
51
- before.push(node);
52
- }
53
- }
54
- function isElement(node) {
55
- return node.type === ElementType.Tag;
56
- }
1
+ import {
2
+ generateDocManifest,
3
+ generateInputDoc
4
+ } from "./chunk-2DT7ETWU.mjs";
5
+ import "./chunk-FH7KOPG5.mjs";
6
+ import "./chunk-KYMHIO3E.mjs";
57
7
  export {
58
8
  generateDocManifest,
59
9
  generateInputDoc
@@ -1,11 +1,27 @@
1
1
  var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
2
5
  var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
3
6
  var __export = (target, all) => {
4
- __markAsModule(target);
5
7
  for (var name in all)
6
8
  __defProp(target, name, { get: all[name], enumerable: true });
7
9
  };
8
- __export(exports, {
10
+ var __reExport = (target, module2, copyDefault, desc) => {
11
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
12
+ for (let key of __getOwnPropNames(module2))
13
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
14
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
15
+ }
16
+ return target;
17
+ };
18
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
19
+ return (module2, temp) => {
20
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
21
+ };
22
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
23
+ var render_assets_transform_exports = {};
24
+ __export(render_assets_transform_exports, {
9
25
  default: () => render_assets_transform_default
10
26
  });
11
27
  var render_assets_transform_default = (tag, t) => {
@@ -17,5 +33,6 @@ var render_assets_transform_default = (tag, t) => {
17
33
  function renderAssetsCall(t, slot) {
18
34
  return t.callExpression(t.memberExpression(t.memberExpression(t.identifier("out"), t.identifier("global")), t.identifier("___viteRenderAssets")), [t.identifier("out"), t.stringLiteral(slot)]);
19
35
  }
36
+ module.exports = __toCommonJS(render_assets_transform_exports);
20
37
  // Annotate the CommonJS export names for ESM import in node:
21
38
  0 && (module.exports = {});
@@ -1,3 +1,6 @@
1
+ import "./chunk-KYMHIO3E.mjs";
2
+
3
+ // src/render-assets-transform.ts
1
4
  var render_assets_transform_default = (tag, t) => {
2
5
  const body = tag.get("body");
3
6
  const tagName = tag.get("name").node.value;
@@ -1,30 +1,30 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
6
  var __export = (target, all) => {
9
- __markAsModule(target);
10
7
  for (var name in all)
11
8
  __defProp(target, name, { get: all[name], enumerable: true });
12
9
  };
13
- var __reExport = (target, module2, desc) => {
10
+ var __reExport = (target, module2, copyDefault, desc) => {
14
11
  if (module2 && typeof module2 === "object" || typeof module2 === "function") {
15
12
  for (let key of __getOwnPropNames(module2))
16
- if (!__hasOwnProp.call(target, key) && key !== "default")
13
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
17
14
  __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
18
15
  }
19
16
  return target;
20
17
  };
21
- var __toModule = (module2) => {
22
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
23
- };
24
- __export(exports, {
18
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
19
+ return (module2, temp) => {
20
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
21
+ };
22
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
23
+ var serializer_exports = {};
24
+ __export(serializer_exports, {
25
25
  default: () => serialize
26
26
  });
27
- var import_domelementtype = __toModule(require("domelementtype"));
27
+ var import_domelementtype = require("domelementtype");
28
28
  const voidElements = /* @__PURE__ */ new Set([
29
29
  "area",
30
30
  "base",
@@ -99,5 +99,6 @@ function serialize(nodes, parts) {
99
99
  }
100
100
  return parts;
101
101
  }
102
+ module.exports = __toCommonJS(serializer_exports);
102
103
  // Annotate the CommonJS export names for ESM import in node:
103
104
  0 && (module.exports = {});
@@ -1,78 +1,7 @@
1
- import { ElementType } from "domelementtype";
2
- const voidElements = /* @__PURE__ */ new Set([
3
- "area",
4
- "base",
5
- "br",
6
- "col",
7
- "embed",
8
- "hr",
9
- "img",
10
- "input",
11
- "link",
12
- "meta",
13
- "param",
14
- "source",
15
- "track",
16
- "wbr"
17
- ]);
18
- function serialize(nodes, parts) {
19
- let curString = parts ? parts.pop() : "";
20
- parts != null ? parts : parts = [];
21
- for (const node of nodes) {
22
- switch (node.type) {
23
- case ElementType.Tag:
24
- case ElementType.Style:
25
- case ElementType.Script: {
26
- const tag = node;
27
- const { name } = tag;
28
- curString += `<${name}`;
29
- switch (tag.tagName) {
30
- case "script":
31
- parts.push(curString);
32
- curString = "";
33
- break;
34
- case "style":
35
- parts.push(curString);
36
- curString = "";
37
- break;
38
- case "link":
39
- if (tag.attribs.rel === "stylesheet") {
40
- parts.push(curString);
41
- curString = "";
42
- }
43
- break;
44
- }
45
- for (const attr of tag.attributes) {
46
- curString += ` ${attr.value === "" ? attr.name : `${attr.name}="${attr.value.replace(/"/g, "&#39;")}"`}`;
47
- }
48
- curString += ">";
49
- if (tag.children.length) {
50
- parts.push(curString);
51
- serialize(tag.children, parts);
52
- curString = parts.pop();
53
- }
54
- if (!voidElements.has(name)) {
55
- curString += `</${name}>`;
56
- }
57
- break;
58
- }
59
- case ElementType.Text: {
60
- const text = node.data;
61
- if (!/^\s*$/.test(text)) {
62
- curString += text;
63
- }
64
- break;
65
- }
66
- case ElementType.Comment:
67
- curString += `<!--${node.data}-->`;
68
- break;
69
- }
70
- }
71
- if (curString) {
72
- parts.push(curString);
73
- }
74
- return parts;
75
- }
1
+ import {
2
+ serialize
3
+ } from "./chunk-FH7KOPG5.mjs";
4
+ import "./chunk-KYMHIO3E.mjs";
76
5
  export {
77
6
  serialize as default
78
7
  };
@@ -6,25 +6,30 @@ var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
8
  var __export = (target, all) => {
9
- __markAsModule(target);
10
9
  for (var name in all)
11
10
  __defProp(target, name, { get: all[name], enumerable: true });
12
11
  };
13
- var __reExport = (target, module2, desc) => {
12
+ var __reExport = (target, module2, copyDefault, desc) => {
14
13
  if (module2 && typeof module2 === "object" || typeof module2 === "function") {
15
14
  for (let key of __getOwnPropNames(module2))
16
- if (!__hasOwnProp.call(target, key) && key !== "default")
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
17
16
  __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
18
17
  }
19
18
  return target;
20
19
  };
21
- var __toModule = (module2) => {
22
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
23
22
  };
24
- __export(exports, {
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var server_entry_template_exports = {};
29
+ __export(server_entry_template_exports, {
25
30
  default: () => server_entry_template_default
26
31
  });
27
- var import_path = __toModule(require("path"));
32
+ var import_path = __toESM(require("path"));
28
33
  var server_entry_template_default = async (opts) => {
29
34
  const fileNameStr = JSON.stringify(`./${import_path.default.basename(opts.fileName)}`);
30
35
  return `import template from ${fileNameStr};
@@ -41,5 +46,6 @@ ${opts.runtimeId ? `$ $global.runtimeId = ${JSON.stringify(opts.runtimeId)};
41
46
  <_vite slot="body"/>
42
47
  `;
43
48
  };
49
+ module.exports = __toCommonJS(server_entry_template_exports);
44
50
  // Annotate the CommonJS export names for ESM import in node:
45
51
  0 && (module.exports = {});
@@ -1,20 +1,7 @@
1
- import path from "path";
2
- var server_entry_template_default = async (opts) => {
3
- const fileNameStr = JSON.stringify(`./${path.basename(opts.fileName)}`);
4
- return `import template from ${fileNameStr};
5
- export * from ${fileNameStr};
6
- $ const $global = out.global;
7
- ${opts.runtimeId ? `$ $global.runtimeId = ${JSON.stringify(opts.runtimeId)};
8
- ` : ""}$ ($global.___viteEntries || ($global.___viteEntries = [])).push(${opts.entryData});
9
- <_vite slot="head-prepend"/>
10
- <_vite slot="head"/>
11
- <_vite slot="body-prepend"/>
12
- <\${template} ...input/>
13
- <init-components/>
14
- <await-reorderer/>
15
- <_vite slot="body"/>
16
- `;
17
- };
1
+ import {
2
+ server_entry_template_default
3
+ } from "./chunk-HWRQJHCN.mjs";
4
+ import "./chunk-KYMHIO3E.mjs";
18
5
  export {
19
6
  server_entry_template_default as default
20
7
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@marko/vite",
3
3
  "description": "A Marko plugin for Vite",
4
- "version": "2.2.0",
4
+ "version": "2.2.1",
5
5
  "author": "Dylan Piercey <dpiercey@ebay.com>",
6
6
  "bugs": "https://github.com/marko-js/vite/issues",
7
7
  "dependencies": {
@@ -11,30 +11,35 @@
11
11
  "htmlparser2": "^7.2.0"
12
12
  },
13
13
  "devDependencies": {
14
- "@commitlint/cli": "^15.0.0",
15
- "@commitlint/config-conventional": "^15.0.0",
16
- "@istanbuljs/nyc-config-typescript": "^1.0.2",
17
- "@marko/compiler": "^5.17.4",
14
+ "@commitlint/cli": "^16.0.1",
15
+ "@commitlint/config-conventional": "^16.0.0",
16
+ "@marko/compiler": "^5.17.6",
18
17
  "@types/mocha": "^9.0.0",
19
- "@types/node": "^16.11.11",
20
- "@typescript-eslint/eslint-plugin": "^5.5.0",
21
- "@typescript-eslint/parser": "^5.5.0",
22
- "esbuild": "^0.14.2",
23
- "esbuild-register": "^3.2.0",
24
- "eslint": "^8.4.0",
18
+ "@types/node": "^17.0.6",
19
+ "@typescript-eslint/eslint-plugin": "^5.8.1",
20
+ "@typescript-eslint/parser": "^5.8.1",
21
+ "esbuild": "^0.14.10",
22
+ "esbuild-register": "^3.3.1",
23
+ "eslint": "^8.6.0",
25
24
  "eslint-config-prettier": "^8.3.0",
26
25
  "fast-glob": "^3.2.7",
27
26
  "fixpack": "^4.0.0",
28
27
  "husky": "^7.0.4",
29
- "lint-staged": "^12.1.2",
30
- "marko": "^5.17.5",
28
+ "lint-staged": "^12.1.4",
29
+ "marko": "^5.17.6",
31
30
  "mocha": "^9.1.3",
32
31
  "mocha-snap": "^4.2.1",
33
32
  "nyc": "^15.1.0",
34
33
  "prettier": "^2.5.1",
35
34
  "semantic-release": "^18.0.1",
36
- "typescript": "^4.5.2",
37
- "vite": "^2.6.14"
35
+ "typescript": "^4.5.4",
36
+ "vite": "^2.7.10"
37
+ },
38
+ "exports": {
39
+ ".": {
40
+ "import": "./dist/index.mjs",
41
+ "default": "./dist/index.js"
42
+ }
38
43
  },
39
44
  "files": [
40
45
  "dist",
@@ -50,8 +55,8 @@
50
55
  "vite"
51
56
  ],
52
57
  "license": "MIT",
53
- "main": "dist/index.js",
54
- "module": "dist/index.mjs",
58
+ "main": "./dist/index.js",
59
+ "module": "./dist/index.mjs",
55
60
  "peerDependencies": {
56
61
  "@marko/compiler": "^5",
57
62
  "vite": "^2"