@marko/vite 2.1.1 → 2.2.3
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/dist/chunk-HWRQJHCN.mjs +22 -0
- package/dist/chunk-MPTD6LHF.mjs +65 -0
- package/dist/chunk-SOEV5HRE.mjs +24 -0
- package/dist/chunk-VL2HLMVE.mjs +80 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +45 -42
- package/dist/index.mjs +49 -77
- package/dist/manifest-generator.js +16 -10
- package/dist/manifest-generator.mjs +6 -56
- package/dist/render-assets-transform.js +19 -2
- package/dist/render-assets-transform.mjs +3 -0
- package/dist/serializer.js +12 -11
- package/dist/serializer.mjs +4 -75
- package/dist/server-entry-template.js +13 -7
- package/dist/server-entry-template.mjs +4 -17
- package/package.json +24 -17
|
@@ -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,65 @@
|
|
|
1
|
+
import {
|
|
2
|
+
serialize
|
|
3
|
+
} from "./chunk-VL2HLMVE.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,24 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
|
|
21
|
+
export {
|
|
22
|
+
__spreadValues,
|
|
23
|
+
__spreadProps
|
|
24
|
+
};
|
|
@@ -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 ?? (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, "'")}"`}`;
|
|
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
|
+
};
|
package/dist/index.d.ts
CHANGED
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
|
|
39
|
-
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default",
|
|
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
|
-
|
|
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 =
|
|
45
|
-
var import_fs =
|
|
46
|
-
var import_path =
|
|
47
|
-
var import_crypto =
|
|
48
|
-
var import_url =
|
|
49
|
-
var import_anymatch =
|
|
50
|
-
var import_server_entry_template =
|
|
51
|
-
var import_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";
|
|
@@ -112,8 +116,7 @@ function markoPlugin(opts = {}) {
|
|
|
112
116
|
name: "marko-vite:pre",
|
|
113
117
|
enforce: "pre",
|
|
114
118
|
async config(config, env) {
|
|
115
|
-
|
|
116
|
-
compiler != null ? compiler : compiler = await Promise.resolve().then(() => __toModule(require(opts.compiler || "@marko/compiler")));
|
|
119
|
+
compiler ?? (compiler = await import(opts.compiler || "@marko/compiler"));
|
|
117
120
|
root = config.root || process.cwd();
|
|
118
121
|
isBuild = env.command === "build";
|
|
119
122
|
isSSRBuild = isBuild && linked && Boolean(config.build.ssr);
|
|
@@ -145,15 +148,15 @@ function markoPlugin(opts = {}) {
|
|
|
145
148
|
}
|
|
146
149
|
const domDeps = Array.from(new Set(domRuntimeDeps.concat(taglibDeps)));
|
|
147
150
|
const serverDeps = Array.from(new Set(htmlRuntimeDeps.concat(taglibDeps)));
|
|
148
|
-
const optimizeDeps =
|
|
149
|
-
|
|
151
|
+
const optimizeDeps = config.optimizeDeps ?? (config.optimizeDeps = {});
|
|
152
|
+
optimizeDeps.include ?? (optimizeDeps.include = []);
|
|
150
153
|
optimizeDeps.include = optimizeDeps.include.concat(domDeps.filter((dep) => import_path.default.extname(dep) !== markoExt));
|
|
151
|
-
|
|
154
|
+
optimizeDeps.exclude ?? (optimizeDeps.exclude = []);
|
|
152
155
|
optimizeDeps.exclude = optimizeDeps.exclude.concat(domDeps.filter((dep) => import_path.default.extname(dep) === markoExt));
|
|
153
|
-
const ssr =
|
|
154
|
-
|
|
156
|
+
const ssr = config.ssr ?? (config.ssr = {});
|
|
157
|
+
ssr.external ?? (ssr.external = []);
|
|
155
158
|
ssr.external = ssr.external.concat(serverDeps);
|
|
156
|
-
(await
|
|
159
|
+
(await import("@marko/compiler/register")).default(__spreadProps(__spreadValues({}, ssrConfig), {
|
|
157
160
|
sourceMaps: "inline",
|
|
158
161
|
modules: "cjs"
|
|
159
162
|
}));
|
|
@@ -197,28 +200,21 @@ function markoPlugin(opts = {}) {
|
|
|
197
200
|
}
|
|
198
201
|
}
|
|
199
202
|
},
|
|
200
|
-
async resolveId(importee, importer,
|
|
203
|
+
async resolveId(importee, importer, importOpts, ssr = importOpts.ssr) {
|
|
201
204
|
var _a2;
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
if (importeeIsAbsolute && !importee.startsWith(root)) {
|
|
205
|
-
importee = (await this.resolve(importee, importer, resolveOpts)).id;
|
|
205
|
+
if (virtualFiles.has(importee)) {
|
|
206
|
+
return importee;
|
|
206
207
|
}
|
|
208
|
+
let importeeQuery = getMarkoQuery(importee);
|
|
207
209
|
if (importeeQuery) {
|
|
208
210
|
importee = importee.slice(0, -importeeQuery.length);
|
|
209
|
-
} else if (
|
|
210
|
-
|
|
211
|
-
} else if (isMarkoFile(importee)) {
|
|
212
|
-
|
|
213
|
-
if (linked && importer && !isMarkoFile(importer.replace(queryReg, ""))) {
|
|
214
|
-
importeeQuery = serverEntryQuery;
|
|
215
|
-
}
|
|
216
|
-
} else if (!importer || ((_a2 = this.getModuleInfo(importer)) == null ? void 0 : _a2.isEntry)) {
|
|
217
|
-
importeeQuery = browserEntryQuery;
|
|
218
|
-
}
|
|
211
|
+
} else if (ssr && linked && importer && isMarkoFile(importee) && !isMarkoFile(importer.replace(queryReg, ""))) {
|
|
212
|
+
importeeQuery = serverEntryQuery;
|
|
213
|
+
} else if (!ssr && isBuild && importer && isMarkoFile(importee) && ((_a2 = this.getModuleInfo(importer)) == null ? void 0 : _a2.isEntry)) {
|
|
214
|
+
importeeQuery = browserEntryQuery;
|
|
219
215
|
}
|
|
220
216
|
if (importeeQuery) {
|
|
221
|
-
const resolved =
|
|
217
|
+
const resolved = importee[0] === "." ? {
|
|
222
218
|
id: importer ? import_path.default.resolve(importer, "..", importee) : import_path.default.resolve(root, importee)
|
|
223
219
|
} : await this.resolve(importee, importer, resolveOpts);
|
|
224
220
|
if (resolved) {
|
|
@@ -241,10 +237,10 @@ function markoPlugin(opts = {}) {
|
|
|
241
237
|
if (isBuild) {
|
|
242
238
|
const relativeFileName = import_path.default.relative(root, fileName);
|
|
243
239
|
const entryId = toEntryId(relativeFileName);
|
|
244
|
-
serverManifest
|
|
240
|
+
serverManifest ?? (serverManifest = {
|
|
245
241
|
entries: {},
|
|
246
242
|
chunksNeedingAssets: []
|
|
247
|
-
};
|
|
243
|
+
});
|
|
248
244
|
serverManifest.entries[entryId] = relativeFileName;
|
|
249
245
|
entryData = JSON.stringify(entryId);
|
|
250
246
|
} else {
|
|
@@ -262,6 +258,12 @@ function markoPlugin(opts = {}) {
|
|
|
262
258
|
}
|
|
263
259
|
return virtualFiles.get(id) || null;
|
|
264
260
|
},
|
|
261
|
+
async transformIndexHtml(html) {
|
|
262
|
+
if (isBuild) {
|
|
263
|
+
return html;
|
|
264
|
+
}
|
|
265
|
+
return html.replace(/src\s*=\s*(['"])(\\.|(?!\1).)*\.marko\1/gim, (m) => m.slice(0, -1) + browserEntryQuery + m.slice(-1));
|
|
266
|
+
},
|
|
265
267
|
async transform(source, id, ssr) {
|
|
266
268
|
const query = getMarkoQuery(id);
|
|
267
269
|
if (query && !query.startsWith(virtualFileQuery)) {
|
|
@@ -273,7 +275,7 @@ function markoPlugin(opts = {}) {
|
|
|
273
275
|
if (!isMarkoFile(id)) {
|
|
274
276
|
return null;
|
|
275
277
|
}
|
|
276
|
-
const compiled = await compiler.compile(source, id, ssr ? ssrConfig : query === browserEntryQuery ? hydrateConfig : domConfig);
|
|
278
|
+
const compiled = await compiler.compile(source, id, (typeof ssr === "object" ? ssr.ssr : ssr) ? ssrConfig : query === browserEntryQuery ? hydrateConfig : domConfig);
|
|
277
279
|
const { map, meta } = compiled;
|
|
278
280
|
let { code } = compiled;
|
|
279
281
|
if (query !== browserEntryQuery && devServer) {
|
|
@@ -411,5 +413,6 @@ function isEmpty(obj) {
|
|
|
411
413
|
}
|
|
412
414
|
return true;
|
|
413
415
|
}
|
|
416
|
+
module.exports = __toCommonJS(src_exports);
|
|
414
417
|
// Annotate the CommonJS export names for ESM import in node:
|
|
415
418
|
0 && (module.exports = {});
|
package/dist/index.mjs
CHANGED
|
@@ -1,58 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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-MPTD6LHF.mjs";
|
|
5
|
+
import "./chunk-VL2HLMVE.mjs";
|
|
6
|
+
import {
|
|
7
|
+
server_entry_template_default
|
|
8
|
+
} from "./chunk-HWRQJHCN.mjs";
|
|
9
|
+
import {
|
|
10
|
+
__spreadProps,
|
|
11
|
+
__spreadValues
|
|
12
|
+
} from "./chunk-SOEV5HRE.mjs";
|
|
13
|
+
|
|
14
|
+
// src/index.ts
|
|
36
15
|
import os from "os";
|
|
37
16
|
import fs from "fs";
|
|
38
17
|
import path from "path";
|
|
39
18
|
import crypto from "crypto";
|
|
40
19
|
import { pathToFileURL } from "url";
|
|
41
20
|
import anyMatch from "anymatch";
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const virtualFileQuery = "?marko-virtual";
|
|
52
|
-
const markoExt = ".marko";
|
|
53
|
-
const htmlExt = ".html";
|
|
54
|
-
const resolveOpts = { skipSelf: true };
|
|
55
|
-
let tempDir;
|
|
21
|
+
var virtualFiles = /* @__PURE__ */ new Map();
|
|
22
|
+
var queryReg = /\?marko-.+$/;
|
|
23
|
+
var browserEntryQuery = "?marko-browser-entry";
|
|
24
|
+
var serverEntryQuery = "?marko-server-entry";
|
|
25
|
+
var virtualFileQuery = "?marko-virtual";
|
|
26
|
+
var markoExt = ".marko";
|
|
27
|
+
var htmlExt = ".html";
|
|
28
|
+
var resolveOpts = { skipSelf: true };
|
|
29
|
+
var tempDir;
|
|
56
30
|
function markoPlugin(opts = {}) {
|
|
57
31
|
var _a;
|
|
58
32
|
let compiler;
|
|
@@ -106,8 +80,7 @@ function markoPlugin(opts = {}) {
|
|
|
106
80
|
name: "marko-vite:pre",
|
|
107
81
|
enforce: "pre",
|
|
108
82
|
async config(config, env) {
|
|
109
|
-
|
|
110
|
-
compiler != null ? compiler : compiler = await Promise.resolve().then(() => __toModule(require(opts.compiler || "@marko/compiler")));
|
|
83
|
+
compiler ?? (compiler = await import(opts.compiler || "@marko/compiler"));
|
|
111
84
|
root = config.root || process.cwd();
|
|
112
85
|
isBuild = env.command === "build";
|
|
113
86
|
isSSRBuild = isBuild && linked && Boolean(config.build.ssr);
|
|
@@ -139,15 +112,15 @@ function markoPlugin(opts = {}) {
|
|
|
139
112
|
}
|
|
140
113
|
const domDeps = Array.from(new Set(domRuntimeDeps.concat(taglibDeps)));
|
|
141
114
|
const serverDeps = Array.from(new Set(htmlRuntimeDeps.concat(taglibDeps)));
|
|
142
|
-
const optimizeDeps =
|
|
143
|
-
|
|
115
|
+
const optimizeDeps = config.optimizeDeps ?? (config.optimizeDeps = {});
|
|
116
|
+
optimizeDeps.include ?? (optimizeDeps.include = []);
|
|
144
117
|
optimizeDeps.include = optimizeDeps.include.concat(domDeps.filter((dep) => path.extname(dep) !== markoExt));
|
|
145
|
-
|
|
118
|
+
optimizeDeps.exclude ?? (optimizeDeps.exclude = []);
|
|
146
119
|
optimizeDeps.exclude = optimizeDeps.exclude.concat(domDeps.filter((dep) => path.extname(dep) === markoExt));
|
|
147
|
-
const ssr =
|
|
148
|
-
|
|
120
|
+
const ssr = config.ssr ?? (config.ssr = {});
|
|
121
|
+
ssr.external ?? (ssr.external = []);
|
|
149
122
|
ssr.external = ssr.external.concat(serverDeps);
|
|
150
|
-
(await
|
|
123
|
+
(await import("@marko/compiler/register")).default(__spreadProps(__spreadValues({}, ssrConfig), {
|
|
151
124
|
sourceMaps: "inline",
|
|
152
125
|
modules: "cjs"
|
|
153
126
|
}));
|
|
@@ -191,28 +164,21 @@ function markoPlugin(opts = {}) {
|
|
|
191
164
|
}
|
|
192
165
|
}
|
|
193
166
|
},
|
|
194
|
-
async resolveId(importee, importer,
|
|
167
|
+
async resolveId(importee, importer, importOpts, ssr = importOpts.ssr) {
|
|
195
168
|
var _a2;
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
if (importeeIsAbsolute && !importee.startsWith(root)) {
|
|
199
|
-
importee = (await this.resolve(importee, importer, resolveOpts)).id;
|
|
169
|
+
if (virtualFiles.has(importee)) {
|
|
170
|
+
return importee;
|
|
200
171
|
}
|
|
172
|
+
let importeeQuery = getMarkoQuery(importee);
|
|
201
173
|
if (importeeQuery) {
|
|
202
174
|
importee = importee.slice(0, -importeeQuery.length);
|
|
203
|
-
} else if (
|
|
204
|
-
|
|
205
|
-
} else if (isMarkoFile(importee)) {
|
|
206
|
-
|
|
207
|
-
if (linked && importer && !isMarkoFile(importer.replace(queryReg, ""))) {
|
|
208
|
-
importeeQuery = serverEntryQuery;
|
|
209
|
-
}
|
|
210
|
-
} else if (!importer || ((_a2 = this.getModuleInfo(importer)) == null ? void 0 : _a2.isEntry)) {
|
|
211
|
-
importeeQuery = browserEntryQuery;
|
|
212
|
-
}
|
|
175
|
+
} else if (ssr && linked && importer && isMarkoFile(importee) && !isMarkoFile(importer.replace(queryReg, ""))) {
|
|
176
|
+
importeeQuery = serverEntryQuery;
|
|
177
|
+
} else if (!ssr && isBuild && importer && isMarkoFile(importee) && ((_a2 = this.getModuleInfo(importer)) == null ? void 0 : _a2.isEntry)) {
|
|
178
|
+
importeeQuery = browserEntryQuery;
|
|
213
179
|
}
|
|
214
180
|
if (importeeQuery) {
|
|
215
|
-
const resolved =
|
|
181
|
+
const resolved = importee[0] === "." ? {
|
|
216
182
|
id: importer ? path.resolve(importer, "..", importee) : path.resolve(root, importee)
|
|
217
183
|
} : await this.resolve(importee, importer, resolveOpts);
|
|
218
184
|
if (resolved) {
|
|
@@ -235,16 +201,16 @@ function markoPlugin(opts = {}) {
|
|
|
235
201
|
if (isBuild) {
|
|
236
202
|
const relativeFileName = path.relative(root, fileName);
|
|
237
203
|
const entryId = toEntryId(relativeFileName);
|
|
238
|
-
serverManifest
|
|
204
|
+
serverManifest ?? (serverManifest = {
|
|
239
205
|
entries: {},
|
|
240
206
|
chunksNeedingAssets: []
|
|
241
|
-
};
|
|
207
|
+
});
|
|
242
208
|
serverManifest.entries[entryId] = relativeFileName;
|
|
243
209
|
entryData = JSON.stringify(entryId);
|
|
244
210
|
} else {
|
|
245
211
|
entryData = JSON.stringify(await generateDocManifest(await devServer.transformIndexHtml("/", generateInputDoc(fileNameToURL(fileName, root)))));
|
|
246
212
|
}
|
|
247
|
-
return
|
|
213
|
+
return server_entry_template_default({
|
|
248
214
|
fileName,
|
|
249
215
|
entryData,
|
|
250
216
|
runtimeId
|
|
@@ -256,6 +222,12 @@ function markoPlugin(opts = {}) {
|
|
|
256
222
|
}
|
|
257
223
|
return virtualFiles.get(id) || null;
|
|
258
224
|
},
|
|
225
|
+
async transformIndexHtml(html) {
|
|
226
|
+
if (isBuild) {
|
|
227
|
+
return html;
|
|
228
|
+
}
|
|
229
|
+
return html.replace(/src\s*=\s*(['"])(\\.|(?!\1).)*\.marko\1/gim, (m) => m.slice(0, -1) + browserEntryQuery + m.slice(-1));
|
|
230
|
+
},
|
|
259
231
|
async transform(source, id, ssr) {
|
|
260
232
|
const query = getMarkoQuery(id);
|
|
261
233
|
if (query && !query.startsWith(virtualFileQuery)) {
|
|
@@ -267,7 +239,7 @@ function markoPlugin(opts = {}) {
|
|
|
267
239
|
if (!isMarkoFile(id)) {
|
|
268
240
|
return null;
|
|
269
241
|
}
|
|
270
|
-
const compiled = await compiler.compile(source, id, ssr ? ssrConfig : query === browserEntryQuery ? hydrateConfig : domConfig);
|
|
242
|
+
const compiled = await compiler.compile(source, id, (typeof ssr === "object" ? ssr.ssr : ssr) ? ssrConfig : query === browserEntryQuery ? hydrateConfig : domConfig);
|
|
271
243
|
const { map, meta } = compiled;
|
|
272
244
|
let { code } = compiled;
|
|
273
245
|
if (query !== browserEntryQuery && devServer) {
|
|
@@ -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
|
|
22
|
-
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default",
|
|
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
|
-
|
|
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 =
|
|
29
|
-
var import_domelementtype =
|
|
30
|
-
var import_domhandler =
|
|
31
|
-
var import_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 {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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-MPTD6LHF.mjs";
|
|
5
|
+
import "./chunk-VL2HLMVE.mjs";
|
|
6
|
+
import "./chunk-SOEV5HRE.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
|
-
|
|
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 = {});
|
package/dist/serializer.js
CHANGED
|
@@ -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
|
|
22
|
-
return
|
|
23
|
-
};
|
|
24
|
-
|
|
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 =
|
|
27
|
+
var import_domelementtype = require("domelementtype");
|
|
28
28
|
const voidElements = /* @__PURE__ */ new Set([
|
|
29
29
|
"area",
|
|
30
30
|
"base",
|
|
@@ -43,7 +43,7 @@ const voidElements = /* @__PURE__ */ new Set([
|
|
|
43
43
|
]);
|
|
44
44
|
function serialize(nodes, parts) {
|
|
45
45
|
let curString = parts ? parts.pop() : "";
|
|
46
|
-
parts
|
|
46
|
+
parts ?? (parts = []);
|
|
47
47
|
for (const node of nodes) {
|
|
48
48
|
switch (node.type) {
|
|
49
49
|
case import_domelementtype.ElementType.Tag:
|
|
@@ -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 = {});
|
package/dist/serializer.mjs
CHANGED
|
@@ -1,78 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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, "'")}"`}`;
|
|
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-VL2HLMVE.mjs";
|
|
4
|
+
import "./chunk-SOEV5HRE.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
|
|
22
|
-
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default",
|
|
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
|
-
|
|
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 =
|
|
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
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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-SOEV5HRE.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.
|
|
4
|
+
"version": "2.2.3",
|
|
5
5
|
"author": "Dylan Piercey <dpiercey@ebay.com>",
|
|
6
6
|
"bugs": "https://github.com/marko-js/vite/issues",
|
|
7
7
|
"dependencies": {
|
|
@@ -11,30 +11,37 @@
|
|
|
11
11
|
"htmlparser2": "^7.2.0"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
14
|
-
"@commitlint/cli": "^
|
|
15
|
-
"@commitlint/config-conventional": "^
|
|
16
|
-
"@
|
|
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": "^
|
|
20
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
21
|
-
"@typescript-eslint/parser": "^5.
|
|
22
|
-
"esbuild": "^0.14.
|
|
23
|
-
"esbuild-register": "^3.
|
|
24
|
-
"eslint": "^8.
|
|
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.
|
|
30
|
-
"marko": "^5.17.
|
|
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.
|
|
37
|
-
"vite": "^2.
|
|
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
|
+
},
|
|
43
|
+
"./dist/components/vite.marko": "./dist/components/vite.marko",
|
|
44
|
+
"./dist/components/vite-watch.marko": "./dist/components/vite-watch.marko"
|
|
38
45
|
},
|
|
39
46
|
"files": [
|
|
40
47
|
"dist",
|
|
@@ -50,8 +57,8 @@
|
|
|
50
57
|
"vite"
|
|
51
58
|
],
|
|
52
59
|
"license": "MIT",
|
|
53
|
-
"main": "dist/index.js",
|
|
54
|
-
"module": "dist/index.mjs",
|
|
60
|
+
"main": "./dist/index.js",
|
|
61
|
+
"module": "./dist/index.mjs",
|
|
55
62
|
"peerDependencies": {
|
|
56
63
|
"@marko/compiler": "^5",
|
|
57
64
|
"vite": "^2"
|