@marko/vite 2.3.6 → 2.3.8
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 +25 -16
- package/dist/index.mjs +25 -16
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -102,7 +102,7 @@ function markoPlugin(opts = {}) {
|
|
|
102
102
|
let devServer;
|
|
103
103
|
let registeredTag = false;
|
|
104
104
|
let serverManifest;
|
|
105
|
-
const
|
|
105
|
+
const entrySources = /* @__PURE__ */ new Map();
|
|
106
106
|
const transformWatchFiles = /* @__PURE__ */ new Map();
|
|
107
107
|
const transformOptionalFiles = /* @__PURE__ */ new Map();
|
|
108
108
|
return [
|
|
@@ -169,7 +169,7 @@ function markoPlugin(opts = {}) {
|
|
|
169
169
|
devServer = _server;
|
|
170
170
|
devServer.watcher.on("all", (type, filename) => {
|
|
171
171
|
if (type === "unlink") {
|
|
172
|
-
|
|
172
|
+
entrySources.delete(filename);
|
|
173
173
|
}
|
|
174
174
|
for (const [id, files] of transformWatchFiles) {
|
|
175
175
|
if ((0, import_anymatch.default)(files, filename)) {
|
|
@@ -197,6 +197,9 @@ function markoPlugin(opts = {}) {
|
|
|
197
197
|
try {
|
|
198
198
|
serverManifest = JSON.parse(await import_fs.default.promises.readFile(serverMetaFile, "utf-8"));
|
|
199
199
|
inputOptions.input = toHTMLEntries(root, serverManifest.entries);
|
|
200
|
+
for (const entry in serverManifest.entrySources) {
|
|
201
|
+
entrySources.set(import_path.default.resolve(root, entry), serverManifest.entrySources[entry]);
|
|
202
|
+
}
|
|
200
203
|
} catch (err) {
|
|
201
204
|
this.error(`You must run the "ssr" build before the "browser" build.`);
|
|
202
205
|
}
|
|
@@ -227,6 +230,18 @@ function markoPlugin(opts = {}) {
|
|
|
227
230
|
}
|
|
228
231
|
return resolved;
|
|
229
232
|
}
|
|
233
|
+
if (importer) {
|
|
234
|
+
const importerQuery = getMarkoQuery(importer);
|
|
235
|
+
if (importerQuery) {
|
|
236
|
+
importer = importer.slice(0, -importerQuery.length);
|
|
237
|
+
if (importee[0] === ".") {
|
|
238
|
+
const resolved = import_path.default.resolve(importer, "..", importee);
|
|
239
|
+
if (resolved === importer)
|
|
240
|
+
return resolved;
|
|
241
|
+
}
|
|
242
|
+
return this.resolve(importee, importer, resolveOpts);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
230
245
|
return null;
|
|
231
246
|
},
|
|
232
247
|
async load(id) {
|
|
@@ -234,17 +249,18 @@ function markoPlugin(opts = {}) {
|
|
|
234
249
|
case serverEntryQuery: {
|
|
235
250
|
const fileName = id.slice(0, -serverEntryQuery.length);
|
|
236
251
|
let entryData;
|
|
252
|
+
entrySources.set(fileName, "");
|
|
237
253
|
if (isBuild) {
|
|
238
254
|
const relativeFileName = import_path.default.posix.relative(root, fileName);
|
|
239
255
|
const entryId = toEntryId(relativeFileName);
|
|
240
256
|
serverManifest ?? (serverManifest = {
|
|
241
257
|
entries: {},
|
|
258
|
+
entrySources: {},
|
|
242
259
|
chunksNeedingAssets: []
|
|
243
260
|
});
|
|
244
261
|
serverManifest.entries[entryId] = relativeFileName;
|
|
245
262
|
entryData = JSON.stringify(entryId);
|
|
246
263
|
} else {
|
|
247
|
-
devEntryFileSources.set(fileName, "");
|
|
248
264
|
entryData = JSON.stringify(await (0, import_manifest_generator.generateDocManifest)(await devServer.transformIndexHtml("/", (0, import_manifest_generator.generateInputDoc)(fileNameToURL(fileName, root)))));
|
|
249
265
|
}
|
|
250
266
|
return (0, import_server_entry_template.default)({
|
|
@@ -254,17 +270,7 @@ function markoPlugin(opts = {}) {
|
|
|
254
270
|
});
|
|
255
271
|
}
|
|
256
272
|
case browserEntryQuery: {
|
|
257
|
-
|
|
258
|
-
if (isBuild) {
|
|
259
|
-
const {
|
|
260
|
-
meta: { source }
|
|
261
|
-
} = await this.load({
|
|
262
|
-
id: realId,
|
|
263
|
-
resolveDependencies: false
|
|
264
|
-
});
|
|
265
|
-
return source;
|
|
266
|
-
}
|
|
267
|
-
return devEntryFileSources.get(realId);
|
|
273
|
+
return entrySources.get(id.slice(0, -browserEntryQuery.length));
|
|
268
274
|
}
|
|
269
275
|
}
|
|
270
276
|
return virtualFiles.get(id) || null;
|
|
@@ -286,8 +292,11 @@ function markoPlugin(opts = {}) {
|
|
|
286
292
|
if (!isMarkoFile(id)) {
|
|
287
293
|
return null;
|
|
288
294
|
}
|
|
289
|
-
if (ssr &&
|
|
290
|
-
|
|
295
|
+
if (ssr && entrySources.has(id)) {
|
|
296
|
+
entrySources.set(id, source);
|
|
297
|
+
if (serverManifest) {
|
|
298
|
+
serverManifest.entrySources[import_path.default.relative(root, id)] = source;
|
|
299
|
+
}
|
|
291
300
|
}
|
|
292
301
|
const compiled = await compiler.compile(source, id, (typeof ssr === "object" ? ssr.ssr : ssr) ? ssrConfig : query === browserEntryQuery ? hydrateConfig : domConfig);
|
|
293
302
|
const { map, meta } = compiled;
|
package/dist/index.mjs
CHANGED
|
@@ -85,7 +85,7 @@ function markoPlugin(opts = {}) {
|
|
|
85
85
|
let devServer;
|
|
86
86
|
let registeredTag = false;
|
|
87
87
|
let serverManifest;
|
|
88
|
-
const
|
|
88
|
+
const entrySources = /* @__PURE__ */ new Map();
|
|
89
89
|
const transformWatchFiles = /* @__PURE__ */ new Map();
|
|
90
90
|
const transformOptionalFiles = /* @__PURE__ */ new Map();
|
|
91
91
|
return [
|
|
@@ -152,7 +152,7 @@ function markoPlugin(opts = {}) {
|
|
|
152
152
|
devServer = _server;
|
|
153
153
|
devServer.watcher.on("all", (type, filename) => {
|
|
154
154
|
if (type === "unlink") {
|
|
155
|
-
|
|
155
|
+
entrySources.delete(filename);
|
|
156
156
|
}
|
|
157
157
|
for (const [id, files] of transformWatchFiles) {
|
|
158
158
|
if (anyMatch(files, filename)) {
|
|
@@ -180,6 +180,9 @@ function markoPlugin(opts = {}) {
|
|
|
180
180
|
try {
|
|
181
181
|
serverManifest = JSON.parse(await fs.promises.readFile(serverMetaFile, "utf-8"));
|
|
182
182
|
inputOptions.input = toHTMLEntries(root, serverManifest.entries);
|
|
183
|
+
for (const entry in serverManifest.entrySources) {
|
|
184
|
+
entrySources.set(path.resolve(root, entry), serverManifest.entrySources[entry]);
|
|
185
|
+
}
|
|
183
186
|
} catch (err) {
|
|
184
187
|
this.error(`You must run the "ssr" build before the "browser" build.`);
|
|
185
188
|
}
|
|
@@ -210,6 +213,18 @@ function markoPlugin(opts = {}) {
|
|
|
210
213
|
}
|
|
211
214
|
return resolved;
|
|
212
215
|
}
|
|
216
|
+
if (importer) {
|
|
217
|
+
const importerQuery = getMarkoQuery(importer);
|
|
218
|
+
if (importerQuery) {
|
|
219
|
+
importer = importer.slice(0, -importerQuery.length);
|
|
220
|
+
if (importee[0] === ".") {
|
|
221
|
+
const resolved = path.resolve(importer, "..", importee);
|
|
222
|
+
if (resolved === importer)
|
|
223
|
+
return resolved;
|
|
224
|
+
}
|
|
225
|
+
return this.resolve(importee, importer, resolveOpts);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
213
228
|
return null;
|
|
214
229
|
},
|
|
215
230
|
async load(id) {
|
|
@@ -217,17 +232,18 @@ function markoPlugin(opts = {}) {
|
|
|
217
232
|
case serverEntryQuery: {
|
|
218
233
|
const fileName = id.slice(0, -serverEntryQuery.length);
|
|
219
234
|
let entryData;
|
|
235
|
+
entrySources.set(fileName, "");
|
|
220
236
|
if (isBuild) {
|
|
221
237
|
const relativeFileName = path.posix.relative(root, fileName);
|
|
222
238
|
const entryId = toEntryId(relativeFileName);
|
|
223
239
|
serverManifest ?? (serverManifest = {
|
|
224
240
|
entries: {},
|
|
241
|
+
entrySources: {},
|
|
225
242
|
chunksNeedingAssets: []
|
|
226
243
|
});
|
|
227
244
|
serverManifest.entries[entryId] = relativeFileName;
|
|
228
245
|
entryData = JSON.stringify(entryId);
|
|
229
246
|
} else {
|
|
230
|
-
devEntryFileSources.set(fileName, "");
|
|
231
247
|
entryData = JSON.stringify(await generateDocManifest(await devServer.transformIndexHtml("/", generateInputDoc(fileNameToURL(fileName, root)))));
|
|
232
248
|
}
|
|
233
249
|
return server_entry_template_default({
|
|
@@ -237,17 +253,7 @@ function markoPlugin(opts = {}) {
|
|
|
237
253
|
});
|
|
238
254
|
}
|
|
239
255
|
case browserEntryQuery: {
|
|
240
|
-
|
|
241
|
-
if (isBuild) {
|
|
242
|
-
const {
|
|
243
|
-
meta: { source }
|
|
244
|
-
} = await this.load({
|
|
245
|
-
id: realId,
|
|
246
|
-
resolveDependencies: false
|
|
247
|
-
});
|
|
248
|
-
return source;
|
|
249
|
-
}
|
|
250
|
-
return devEntryFileSources.get(realId);
|
|
256
|
+
return entrySources.get(id.slice(0, -browserEntryQuery.length));
|
|
251
257
|
}
|
|
252
258
|
}
|
|
253
259
|
return virtualFiles.get(id) || null;
|
|
@@ -269,8 +275,11 @@ function markoPlugin(opts = {}) {
|
|
|
269
275
|
if (!isMarkoFile(id)) {
|
|
270
276
|
return null;
|
|
271
277
|
}
|
|
272
|
-
if (ssr &&
|
|
273
|
-
|
|
278
|
+
if (ssr && entrySources.has(id)) {
|
|
279
|
+
entrySources.set(id, source);
|
|
280
|
+
if (serverManifest) {
|
|
281
|
+
serverManifest.entrySources[path.relative(root, id)] = source;
|
|
282
|
+
}
|
|
274
283
|
}
|
|
275
284
|
const compiled = await compiler.compile(source, id, (typeof ssr === "object" ? ssr.ssr : ssr) ? ssrConfig : query === browserEntryQuery ? hydrateConfig : domConfig);
|
|
276
285
|
const { map, meta } = compiled;
|