@marko/vite 2.2.6 → 2.2.9
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/index.js +50 -55
- package/dist/index.mjs +50 -55
- package/package.json +30 -22
package/dist/index.js
CHANGED
|
@@ -55,6 +55,7 @@ var import_url = require("url");
|
|
|
55
55
|
var import_server_entry_template = __toESM(require("./server-entry-template"));
|
|
56
56
|
var import_manifest_generator = require("./manifest-generator");
|
|
57
57
|
const import_meta = {};
|
|
58
|
+
const normalizePath = import_path.default.sep === "\\" ? (id) => id.replace(/\\/g, "/") : (id) => id;
|
|
58
59
|
const virtualFiles = /* @__PURE__ */ new Map();
|
|
59
60
|
const queryReg = /\?marko-.+$/;
|
|
60
61
|
const browserEntryQuery = "?marko-browser-entry";
|
|
@@ -89,8 +90,8 @@ function markoPlugin(opts = {}) {
|
|
|
89
90
|
});
|
|
90
91
|
const domConfig = __spreadProps(__spreadValues({}, baseConfig), {
|
|
91
92
|
resolveVirtualDependency(from, dep) {
|
|
92
|
-
const query = `${virtualFileQuery}&id=${dep.virtualPath}`;
|
|
93
|
-
const id = from + query;
|
|
93
|
+
const query = `${virtualFileQuery}&id=${encodeURIComponent(dep.virtualPath)}`;
|
|
94
|
+
const id = normalizePath(from) + query;
|
|
94
95
|
if (devServer) {
|
|
95
96
|
const prev = virtualFiles.get(id);
|
|
96
97
|
if (prev && prev.code !== dep.code) {
|
|
@@ -106,6 +107,7 @@ function markoPlugin(opts = {}) {
|
|
|
106
107
|
output: "hydrate"
|
|
107
108
|
});
|
|
108
109
|
let root;
|
|
110
|
+
let devEntryFile;
|
|
109
111
|
let isBuild = false;
|
|
110
112
|
let isSSRBuild = false;
|
|
111
113
|
let devServer;
|
|
@@ -119,42 +121,41 @@ function markoPlugin(opts = {}) {
|
|
|
119
121
|
enforce: "pre",
|
|
120
122
|
async config(config, env) {
|
|
121
123
|
compiler ?? (compiler = await import(opts.compiler || "@marko/compiler"));
|
|
122
|
-
root = config.root || process.cwd();
|
|
124
|
+
root = normalizePath(config.root || process.cwd());
|
|
125
|
+
devEntryFile = import_path.default.join(root, "index.html");
|
|
123
126
|
isBuild = env.command === "build";
|
|
124
127
|
isSSRBuild = isBuild && linked && Boolean(config.build.ssr);
|
|
125
128
|
if (!registeredTag) {
|
|
126
129
|
const transformer = import_path.default.resolve(thisFile, "../render-assets-transform");
|
|
127
|
-
registeredTag = import_path.default.resolve(thisFile, "../components", isBuild ? "vite.marko" : "vite-watch.marko");
|
|
130
|
+
registeredTag = normalizePath(import_path.default.resolve(thisFile, "../components", isBuild ? "vite.marko" : "vite-watch.marko"));
|
|
128
131
|
compiler.taglib.register("@marko/vite", {
|
|
129
132
|
"<_vite>": { template: registeredTag },
|
|
130
133
|
"<head>": { transformer },
|
|
131
134
|
"<body>": { transformer }
|
|
132
135
|
});
|
|
133
136
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
const entry = tag.template || tag.renderer;
|
|
145
|
-
if (entry) {
|
|
146
|
-
taglibDeps.push(entry.replace(/^.*?[\\/]node_modules[\\/]/, ""));
|
|
147
|
-
}
|
|
137
|
+
const lookup = compiler.taglib.buildLookup(root);
|
|
138
|
+
const taglibDeps = [];
|
|
139
|
+
for (const name in lookup.taglibsById) {
|
|
140
|
+
const taglib = lookup.taglibsById[name];
|
|
141
|
+
if (/[\\/]node_modules[\\/](?!@marko[\\/])/.test(taglib.dirname)) {
|
|
142
|
+
for (const tagName in taglib.tags) {
|
|
143
|
+
const tag = taglib.tags[tagName];
|
|
144
|
+
const entry = tag.template || tag.renderer;
|
|
145
|
+
if (entry) {
|
|
146
|
+
taglibDeps.push(entry.replace(/^.*?[\\/]node_modules[\\/]/, ""));
|
|
148
147
|
}
|
|
149
148
|
}
|
|
150
149
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
150
|
+
}
|
|
151
|
+
const domDeps = Array.from(new Set(compiler.getRuntimeEntryFiles("dom", opts.translator).concat(taglibDeps)));
|
|
152
|
+
const optimizeDeps = config.optimizeDeps ?? (config.optimizeDeps = {});
|
|
153
|
+
optimizeDeps.include ?? (optimizeDeps.include = []);
|
|
154
|
+
optimizeDeps.include = optimizeDeps.include.concat(domDeps.filter((dep) => import_path.default.extname(dep) !== markoExt));
|
|
155
|
+
optimizeDeps.exclude ?? (optimizeDeps.exclude = []);
|
|
156
|
+
optimizeDeps.exclude = optimizeDeps.exclude.concat(domDeps.filter((dep) => import_path.default.extname(dep) === markoExt));
|
|
157
|
+
if (!isBuild) {
|
|
158
|
+
const serverDeps = Array.from(new Set(compiler.getRuntimeEntryFiles("html", opts.translator).concat(taglibDeps)));
|
|
158
159
|
const ssr = config.ssr ?? (config.ssr = {});
|
|
159
160
|
ssr.external ?? (ssr.external = []);
|
|
160
161
|
ssr.external = ssr.external.concat(serverDeps);
|
|
@@ -210,14 +211,14 @@ function markoPlugin(opts = {}) {
|
|
|
210
211
|
let importeeQuery = getMarkoQuery(importee);
|
|
211
212
|
if (importeeQuery) {
|
|
212
213
|
importee = importee.slice(0, -importeeQuery.length);
|
|
213
|
-
} else if (ssr && linked && importer && isMarkoFile(importee) && !isMarkoFile(importer.replace(queryReg, ""))) {
|
|
214
|
+
} else if (ssr && linked && importer && importer !== devEntryFile && isMarkoFile(importee) && !isMarkoFile(importer.replace(queryReg, ""))) {
|
|
214
215
|
importeeQuery = serverEntryQuery;
|
|
215
216
|
} else if (!ssr && isBuild && importer && isMarkoFile(importee) && ((_a2 = this.getModuleInfo(importer)) == null ? void 0 : _a2.isEntry)) {
|
|
216
217
|
importeeQuery = browserEntryQuery;
|
|
217
218
|
}
|
|
218
219
|
if (importeeQuery) {
|
|
219
220
|
const resolved = importee[0] === "." ? {
|
|
220
|
-
id: importer ? import_path.default.resolve(importer, "..", importee) : import_path.default.resolve(root, importee)
|
|
221
|
+
id: normalizePath(importer ? import_path.default.resolve(importer, "..", importee) : import_path.default.resolve(root, importee))
|
|
221
222
|
} : await this.resolve(importee, importer, resolveOpts);
|
|
222
223
|
if (resolved) {
|
|
223
224
|
resolved.id += importeeQuery;
|
|
@@ -227,36 +228,30 @@ function markoPlugin(opts = {}) {
|
|
|
227
228
|
return null;
|
|
228
229
|
},
|
|
229
230
|
async load(id) {
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
const relativeFileName = import_path.default.relative(root, fileName);
|
|
241
|
-
const entryId = toEntryId(relativeFileName);
|
|
242
|
-
serverManifest ?? (serverManifest = {
|
|
243
|
-
entries: {},
|
|
244
|
-
chunksNeedingAssets: []
|
|
245
|
-
});
|
|
246
|
-
serverManifest.entries[entryId] = relativeFileName;
|
|
247
|
-
entryData = JSON.stringify(entryId);
|
|
248
|
-
} else {
|
|
249
|
-
entryData = JSON.stringify(await (0, import_manifest_generator.generateDocManifest)(await devServer.transformIndexHtml("/", (0, import_manifest_generator.generateInputDoc)(fileNameToURL(fileName, root)))));
|
|
250
|
-
}
|
|
251
|
-
return (0, import_server_entry_template.default)({
|
|
252
|
-
fileName,
|
|
253
|
-
entryData,
|
|
254
|
-
runtimeId
|
|
231
|
+
switch (getMarkoQuery(id)) {
|
|
232
|
+
case serverEntryQuery: {
|
|
233
|
+
const fileName = id.slice(0, -serverEntryQuery.length);
|
|
234
|
+
let entryData;
|
|
235
|
+
if (isBuild) {
|
|
236
|
+
const relativeFileName = import_path.default.posix.relative(root, fileName);
|
|
237
|
+
const entryId = toEntryId(relativeFileName);
|
|
238
|
+
serverManifest ?? (serverManifest = {
|
|
239
|
+
entries: {},
|
|
240
|
+
chunksNeedingAssets: []
|
|
255
241
|
});
|
|
242
|
+
serverManifest.entries[entryId] = relativeFileName;
|
|
243
|
+
entryData = JSON.stringify(entryId);
|
|
244
|
+
} else {
|
|
245
|
+
entryData = JSON.stringify(await (0, import_manifest_generator.generateDocManifest)(await devServer.transformIndexHtml("/", (0, import_manifest_generator.generateInputDoc)(fileNameToURL(fileName, root)))));
|
|
256
246
|
}
|
|
257
|
-
|
|
258
|
-
|
|
247
|
+
return (0, import_server_entry_template.default)({
|
|
248
|
+
fileName,
|
|
249
|
+
entryData,
|
|
250
|
+
runtimeId
|
|
251
|
+
});
|
|
259
252
|
}
|
|
253
|
+
case browserEntryQuery:
|
|
254
|
+
return import_fs.default.promises.readFile(id.slice(0, -browserEntryQuery.length), "utf-8");
|
|
260
255
|
}
|
|
261
256
|
return virtualFiles.get(id) || null;
|
|
262
257
|
},
|
|
@@ -362,7 +357,7 @@ function isMarkoFile(id) {
|
|
|
362
357
|
function toHTMLEntries(root, serverEntries) {
|
|
363
358
|
const result = [];
|
|
364
359
|
for (const id in serverEntries) {
|
|
365
|
-
const markoFile = import_path.default.join(root, serverEntries[id]);
|
|
360
|
+
const markoFile = import_path.default.posix.join(root, serverEntries[id]);
|
|
366
361
|
const htmlFile = markoFile + htmlExt;
|
|
367
362
|
virtualFiles.set(htmlFile, {
|
|
368
363
|
code: (0, import_manifest_generator.generateInputDoc)(markoFile)
|
package/dist/index.mjs
CHANGED
|
@@ -18,6 +18,7 @@ import path from "path";
|
|
|
18
18
|
import crypto from "crypto";
|
|
19
19
|
import anyMatch from "anymatch";
|
|
20
20
|
import { pathToFileURL, fileURLToPath } from "url";
|
|
21
|
+
var normalizePath = path.sep === "\\" ? (id) => id.replace(/\\/g, "/") : (id) => id;
|
|
21
22
|
var virtualFiles = /* @__PURE__ */ new Map();
|
|
22
23
|
var queryReg = /\?marko-.+$/;
|
|
23
24
|
var browserEntryQuery = "?marko-browser-entry";
|
|
@@ -52,8 +53,8 @@ function markoPlugin(opts = {}) {
|
|
|
52
53
|
});
|
|
53
54
|
const domConfig = __spreadProps(__spreadValues({}, baseConfig), {
|
|
54
55
|
resolveVirtualDependency(from, dep) {
|
|
55
|
-
const query = `${virtualFileQuery}&id=${dep.virtualPath}`;
|
|
56
|
-
const id = from + query;
|
|
56
|
+
const query = `${virtualFileQuery}&id=${encodeURIComponent(dep.virtualPath)}`;
|
|
57
|
+
const id = normalizePath(from) + query;
|
|
57
58
|
if (devServer) {
|
|
58
59
|
const prev = virtualFiles.get(id);
|
|
59
60
|
if (prev && prev.code !== dep.code) {
|
|
@@ -69,6 +70,7 @@ function markoPlugin(opts = {}) {
|
|
|
69
70
|
output: "hydrate"
|
|
70
71
|
});
|
|
71
72
|
let root;
|
|
73
|
+
let devEntryFile;
|
|
72
74
|
let isBuild = false;
|
|
73
75
|
let isSSRBuild = false;
|
|
74
76
|
let devServer;
|
|
@@ -82,42 +84,41 @@ function markoPlugin(opts = {}) {
|
|
|
82
84
|
enforce: "pre",
|
|
83
85
|
async config(config, env) {
|
|
84
86
|
compiler ?? (compiler = await import(opts.compiler || "@marko/compiler"));
|
|
85
|
-
root = config.root || process.cwd();
|
|
87
|
+
root = normalizePath(config.root || process.cwd());
|
|
88
|
+
devEntryFile = path.join(root, "index.html");
|
|
86
89
|
isBuild = env.command === "build";
|
|
87
90
|
isSSRBuild = isBuild && linked && Boolean(config.build.ssr);
|
|
88
91
|
if (!registeredTag) {
|
|
89
92
|
const transformer = path.resolve(thisFile, "../render-assets-transform");
|
|
90
|
-
registeredTag = path.resolve(thisFile, "../components", isBuild ? "vite.marko" : "vite-watch.marko");
|
|
93
|
+
registeredTag = normalizePath(path.resolve(thisFile, "../components", isBuild ? "vite.marko" : "vite-watch.marko"));
|
|
91
94
|
compiler.taglib.register("@marko/vite", {
|
|
92
95
|
"<_vite>": { template: registeredTag },
|
|
93
96
|
"<head>": { transformer },
|
|
94
97
|
"<body>": { transformer }
|
|
95
98
|
});
|
|
96
99
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
const entry = tag.template || tag.renderer;
|
|
108
|
-
if (entry) {
|
|
109
|
-
taglibDeps.push(entry.replace(/^.*?[\\/]node_modules[\\/]/, ""));
|
|
110
|
-
}
|
|
100
|
+
const lookup = compiler.taglib.buildLookup(root);
|
|
101
|
+
const taglibDeps = [];
|
|
102
|
+
for (const name in lookup.taglibsById) {
|
|
103
|
+
const taglib = lookup.taglibsById[name];
|
|
104
|
+
if (/[\\/]node_modules[\\/](?!@marko[\\/])/.test(taglib.dirname)) {
|
|
105
|
+
for (const tagName in taglib.tags) {
|
|
106
|
+
const tag = taglib.tags[tagName];
|
|
107
|
+
const entry = tag.template || tag.renderer;
|
|
108
|
+
if (entry) {
|
|
109
|
+
taglibDeps.push(entry.replace(/^.*?[\\/]node_modules[\\/]/, ""));
|
|
111
110
|
}
|
|
112
111
|
}
|
|
113
112
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
113
|
+
}
|
|
114
|
+
const domDeps = Array.from(new Set(compiler.getRuntimeEntryFiles("dom", opts.translator).concat(taglibDeps)));
|
|
115
|
+
const optimizeDeps = config.optimizeDeps ?? (config.optimizeDeps = {});
|
|
116
|
+
optimizeDeps.include ?? (optimizeDeps.include = []);
|
|
117
|
+
optimizeDeps.include = optimizeDeps.include.concat(domDeps.filter((dep) => path.extname(dep) !== markoExt));
|
|
118
|
+
optimizeDeps.exclude ?? (optimizeDeps.exclude = []);
|
|
119
|
+
optimizeDeps.exclude = optimizeDeps.exclude.concat(domDeps.filter((dep) => path.extname(dep) === markoExt));
|
|
120
|
+
if (!isBuild) {
|
|
121
|
+
const serverDeps = Array.from(new Set(compiler.getRuntimeEntryFiles("html", opts.translator).concat(taglibDeps)));
|
|
121
122
|
const ssr = config.ssr ?? (config.ssr = {});
|
|
122
123
|
ssr.external ?? (ssr.external = []);
|
|
123
124
|
ssr.external = ssr.external.concat(serverDeps);
|
|
@@ -173,14 +174,14 @@ function markoPlugin(opts = {}) {
|
|
|
173
174
|
let importeeQuery = getMarkoQuery(importee);
|
|
174
175
|
if (importeeQuery) {
|
|
175
176
|
importee = importee.slice(0, -importeeQuery.length);
|
|
176
|
-
} else if (ssr && linked && importer && isMarkoFile(importee) && !isMarkoFile(importer.replace(queryReg, ""))) {
|
|
177
|
+
} else if (ssr && linked && importer && importer !== devEntryFile && isMarkoFile(importee) && !isMarkoFile(importer.replace(queryReg, ""))) {
|
|
177
178
|
importeeQuery = serverEntryQuery;
|
|
178
179
|
} else if (!ssr && isBuild && importer && isMarkoFile(importee) && ((_a2 = this.getModuleInfo(importer)) == null ? void 0 : _a2.isEntry)) {
|
|
179
180
|
importeeQuery = browserEntryQuery;
|
|
180
181
|
}
|
|
181
182
|
if (importeeQuery) {
|
|
182
183
|
const resolved = importee[0] === "." ? {
|
|
183
|
-
id: importer ? path.resolve(importer, "..", importee) : path.resolve(root, importee)
|
|
184
|
+
id: normalizePath(importer ? path.resolve(importer, "..", importee) : path.resolve(root, importee))
|
|
184
185
|
} : await this.resolve(importee, importer, resolveOpts);
|
|
185
186
|
if (resolved) {
|
|
186
187
|
resolved.id += importeeQuery;
|
|
@@ -190,36 +191,30 @@ function markoPlugin(opts = {}) {
|
|
|
190
191
|
return null;
|
|
191
192
|
},
|
|
192
193
|
async load(id) {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
const relativeFileName = path.relative(root, fileName);
|
|
204
|
-
const entryId = toEntryId(relativeFileName);
|
|
205
|
-
serverManifest ?? (serverManifest = {
|
|
206
|
-
entries: {},
|
|
207
|
-
chunksNeedingAssets: []
|
|
208
|
-
});
|
|
209
|
-
serverManifest.entries[entryId] = relativeFileName;
|
|
210
|
-
entryData = JSON.stringify(entryId);
|
|
211
|
-
} else {
|
|
212
|
-
entryData = JSON.stringify(await generateDocManifest(await devServer.transformIndexHtml("/", generateInputDoc(fileNameToURL(fileName, root)))));
|
|
213
|
-
}
|
|
214
|
-
return server_entry_template_default({
|
|
215
|
-
fileName,
|
|
216
|
-
entryData,
|
|
217
|
-
runtimeId
|
|
194
|
+
switch (getMarkoQuery(id)) {
|
|
195
|
+
case serverEntryQuery: {
|
|
196
|
+
const fileName = id.slice(0, -serverEntryQuery.length);
|
|
197
|
+
let entryData;
|
|
198
|
+
if (isBuild) {
|
|
199
|
+
const relativeFileName = path.posix.relative(root, fileName);
|
|
200
|
+
const entryId = toEntryId(relativeFileName);
|
|
201
|
+
serverManifest ?? (serverManifest = {
|
|
202
|
+
entries: {},
|
|
203
|
+
chunksNeedingAssets: []
|
|
218
204
|
});
|
|
205
|
+
serverManifest.entries[entryId] = relativeFileName;
|
|
206
|
+
entryData = JSON.stringify(entryId);
|
|
207
|
+
} else {
|
|
208
|
+
entryData = JSON.stringify(await generateDocManifest(await devServer.transformIndexHtml("/", generateInputDoc(fileNameToURL(fileName, root)))));
|
|
219
209
|
}
|
|
220
|
-
|
|
221
|
-
|
|
210
|
+
return server_entry_template_default({
|
|
211
|
+
fileName,
|
|
212
|
+
entryData,
|
|
213
|
+
runtimeId
|
|
214
|
+
});
|
|
222
215
|
}
|
|
216
|
+
case browserEntryQuery:
|
|
217
|
+
return fs.promises.readFile(id.slice(0, -browserEntryQuery.length), "utf-8");
|
|
223
218
|
}
|
|
224
219
|
return virtualFiles.get(id) || null;
|
|
225
220
|
},
|
|
@@ -325,7 +320,7 @@ function isMarkoFile(id) {
|
|
|
325
320
|
function toHTMLEntries(root, serverEntries) {
|
|
326
321
|
const result = [];
|
|
327
322
|
for (const id in serverEntries) {
|
|
328
|
-
const markoFile = path.join(root, serverEntries[id]);
|
|
323
|
+
const markoFile = path.posix.join(root, serverEntries[id]);
|
|
329
324
|
const htmlFile = markoFile + htmlExt;
|
|
330
325
|
virtualFiles.set(htmlFile, {
|
|
331
326
|
code: generateInputDoc(markoFile)
|
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.
|
|
4
|
+
"version": "2.2.9",
|
|
5
5
|
"author": "Dylan Piercey <dpiercey@ebay.com>",
|
|
6
6
|
"bugs": "https://github.com/marko-js/vite/issues",
|
|
7
7
|
"dependencies": {
|
|
@@ -11,29 +11,37 @@
|
|
|
11
11
|
"htmlparser2": "^7.2.0"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
14
|
-
"@commitlint/cli": "^16.
|
|
15
|
-
"@commitlint/config-conventional": "^16.
|
|
16
|
-
"@marko/compiler": "^5.
|
|
17
|
-
"@
|
|
18
|
-
"@
|
|
19
|
-
"@
|
|
20
|
-
"@
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"eslint": "^
|
|
24
|
-
"eslint
|
|
25
|
-
"
|
|
14
|
+
"@commitlint/cli": "^16.2.1",
|
|
15
|
+
"@commitlint/config-conventional": "^16.2.1",
|
|
16
|
+
"@marko/compiler": "^5.19.1",
|
|
17
|
+
"@marko/fixture-snapshots": "^2.1.6",
|
|
18
|
+
"@marko/testing-library": "^6.0.0",
|
|
19
|
+
"@types/jsdom": "^16.2.14",
|
|
20
|
+
"@types/mocha": "^9.1.0",
|
|
21
|
+
"@types/node": "^17.0.21",
|
|
22
|
+
"@types/serve-handler": "^6.1.1",
|
|
23
|
+
"@typescript-eslint/eslint-plugin": "^5.14.0",
|
|
24
|
+
"@typescript-eslint/parser": "^5.14.0",
|
|
25
|
+
"cross-env": "^7.0.3",
|
|
26
|
+
"esbuild": "^0.14.25",
|
|
27
|
+
"esbuild-register": "^3.3.2",
|
|
28
|
+
"eslint": "^8.10.0",
|
|
29
|
+
"eslint-config-prettier": "^8.5.0",
|
|
30
|
+
"fast-glob": "^3.2.11",
|
|
26
31
|
"fixpack": "^4.0.0",
|
|
27
32
|
"husky": "^7.0.4",
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"mocha
|
|
33
|
+
"jsdom": "^19.0.0",
|
|
34
|
+
"lint-staged": "^12.3.5",
|
|
35
|
+
"marko": "^5.19.0",
|
|
36
|
+
"mocha": "^9.2.1",
|
|
37
|
+
"mocha-snap": "^4.3.0",
|
|
32
38
|
"nyc": "^15.1.0",
|
|
39
|
+
"playwright": "^1.19.2",
|
|
33
40
|
"prettier": "^2.5.1",
|
|
34
|
-
"semantic-release": "^
|
|
35
|
-
"
|
|
36
|
-
"
|
|
41
|
+
"semantic-release": "^19.0.2",
|
|
42
|
+
"serve-handler": "^6.1.3",
|
|
43
|
+
"typescript": "^4.6.2",
|
|
44
|
+
"vite": "^2.8.6"
|
|
37
45
|
},
|
|
38
46
|
"exports": {
|
|
39
47
|
".": {
|
|
@@ -73,8 +81,8 @@
|
|
|
73
81
|
"format": "npm run lint:eslint -- --fix && npm run lint:prettier -- --write && (fixpack || true)",
|
|
74
82
|
"lint": "tsc -b && npm run lint:eslint && npm run lint:prettier -- -l && fixpack",
|
|
75
83
|
"lint:eslint": "eslint -f visualstudio .",
|
|
76
|
-
"lint:prettier": "prettier
|
|
77
|
-
"mocha": "NODE_ENV=test mocha
|
|
84
|
+
"lint:prettier": "prettier \"./**/*{.ts,.js,.json,.md,.yml,rc}\"",
|
|
85
|
+
"mocha": "cross-env NODE_ENV=test mocha \"./src/**/__tests__/*.test.ts\"",
|
|
78
86
|
"prepare": "husky install",
|
|
79
87
|
"prepublishOnly": "npm run build",
|
|
80
88
|
"release": "semantic-release",
|