@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.
@@ -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, "&#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
+ };
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";
@@ -112,8 +116,7 @@ function markoPlugin(opts = {}) {
112
116
  name: "marko-vite:pre",
113
117
  enforce: "pre",
114
118
  async config(config, env) {
115
- var _a2, _b, _c, _d, _e;
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 = (_a2 = config.optimizeDeps) != null ? _a2 : config.optimizeDeps = {};
149
- (_b = optimizeDeps.include) != null ? _b : optimizeDeps.include = [];
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
- (_c = optimizeDeps.exclude) != null ? _c : optimizeDeps.exclude = [];
154
+ optimizeDeps.exclude ?? (optimizeDeps.exclude = []);
152
155
  optimizeDeps.exclude = optimizeDeps.exclude.concat(domDeps.filter((dep) => import_path.default.extname(dep) === markoExt));
153
- const ssr = (_d = config.ssr) != null ? _d : config.ssr = {};
154
- (_e = ssr.external) != null ? _e : ssr.external = [];
156
+ const ssr = config.ssr ?? (config.ssr = {});
157
+ ssr.external ?? (ssr.external = []);
155
158
  ssr.external = ssr.external.concat(serverDeps);
156
- (await Promise.resolve().then(() => __toModule(require("@marko/compiler/register")))).default(__spreadProps(__spreadValues({}, ssrConfig), {
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, _importOpts, ssr) {
203
+ async resolveId(importee, importer, importOpts, ssr = importOpts.ssr) {
201
204
  var _a2;
202
- const importeeIsAbsolute = import_path.default.isAbsolute(importee);
203
- let importeeQuery = getMarkoQuery(importee);
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 (virtualFiles.has(importee)) {
210
- return importee;
211
- } else if (isMarkoFile(importee)) {
212
- if (ssr) {
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 = importeeIsAbsolute ? { id: importee } : importee[0] === "." ? {
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 != null ? serverManifest : 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
- 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-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
- 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;
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
- var _a2, _b, _c, _d, _e;
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 = (_a2 = config.optimizeDeps) != null ? _a2 : config.optimizeDeps = {};
143
- (_b = optimizeDeps.include) != null ? _b : optimizeDeps.include = [];
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
- (_c = optimizeDeps.exclude) != null ? _c : optimizeDeps.exclude = [];
118
+ optimizeDeps.exclude ?? (optimizeDeps.exclude = []);
146
119
  optimizeDeps.exclude = optimizeDeps.exclude.concat(domDeps.filter((dep) => path.extname(dep) === markoExt));
147
- const ssr = (_d = config.ssr) != null ? _d : config.ssr = {};
148
- (_e = ssr.external) != null ? _e : ssr.external = [];
120
+ const ssr = config.ssr ?? (config.ssr = {});
121
+ ssr.external ?? (ssr.external = []);
149
122
  ssr.external = ssr.external.concat(serverDeps);
150
- (await Promise.resolve().then(() => __toModule(require("@marko/compiler/register")))).default(__spreadProps(__spreadValues({}, ssrConfig), {
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, _importOpts, ssr) {
167
+ async resolveId(importee, importer, importOpts, ssr = importOpts.ssr) {
195
168
  var _a2;
196
- const importeeIsAbsolute = path.isAbsolute(importee);
197
- let importeeQuery = getMarkoQuery(importee);
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 (virtualFiles.has(importee)) {
204
- return importee;
205
- } else if (isMarkoFile(importee)) {
206
- if (ssr) {
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 = importeeIsAbsolute ? { id: importee } : importee[0] === "." ? {
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 != null ? serverManifest : 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 getServerEntryTemplate({
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 __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-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
- __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-SOEV5HRE.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",
@@ -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 != null ? parts : 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 = {});
@@ -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-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 __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-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.1.1",
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.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
+ },
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"