189 lines
5.6 KiB
JavaScript
189 lines
5.6 KiB
JavaScript
var W = Object.defineProperty, D = Object.defineProperties;
|
|
var E = Object.getOwnPropertyDescriptors;
|
|
var b = Object.getOwnPropertySymbols;
|
|
var T = Object.prototype.hasOwnProperty, L = Object.prototype.propertyIsEnumerable;
|
|
var P = (t, e, s) => e in t ? W(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s, d = (t, e) => {
|
|
for (var s in e || (e = {}))
|
|
T.call(e, s) && P(t, s, e[s]);
|
|
if (b)
|
|
for (var s of b(e))
|
|
L.call(e, s) && P(t, s, e[s]);
|
|
return t;
|
|
}, j = (t, e) => D(t, E(e));
|
|
var y = (t, e, s) => new Promise((o, a) => {
|
|
var r = (n) => {
|
|
try {
|
|
u(s.next(n));
|
|
} catch (f) {
|
|
a(f);
|
|
}
|
|
}, i = (n) => {
|
|
try {
|
|
u(s.throw(n));
|
|
} catch (f) {
|
|
a(f);
|
|
}
|
|
}, u = (n) => n.done ? o(n.value) : Promise.resolve(n.value).then(r, i);
|
|
u((s = s.apply(t, e)).next());
|
|
});
|
|
import { normalizePath as k, fileURLToPath as O, isDev as z, getCodeWithWebComponent as I } from "code-inspector-core";
|
|
import h, { dirname as N } from "path";
|
|
function F(t, e) {
|
|
return y(this, null, function* () {
|
|
if (!t || !e)
|
|
return [];
|
|
const s = typeof t == "function" ? yield t() : t;
|
|
let o = [];
|
|
if (typeof s == "object" && !Array.isArray(s))
|
|
for (const a in s) {
|
|
const r = s[a], i = r.import || r;
|
|
C(o, i, e);
|
|
}
|
|
else
|
|
C(o, s, e);
|
|
return o.filter((a) => !!a);
|
|
});
|
|
}
|
|
function C(t, e, s) {
|
|
typeof e == "string" ? t.push($(e, s)) : Array.isArray(e) && t.push(
|
|
...e.map((o) => $(o, s))
|
|
);
|
|
}
|
|
function $(t, e) {
|
|
return h.isAbsolute(t) ? k(t) : t.startsWith(".") ? h.resolve(e, k(t)) : "";
|
|
}
|
|
let l = "";
|
|
typeof __dirname != "undefined" ? l = __dirname : l = N(O(import.meta.url));
|
|
let A = !0;
|
|
const H = (t, e) => {
|
|
var u, n, f;
|
|
if (!A)
|
|
return;
|
|
A = !1;
|
|
const s = (e == null ? void 0 : e.compiler) || e, o = (u = s == null ? void 0 : s.options) == null ? void 0 : u.module, a = (o == null ? void 0 : o.rules) || (o == null ? void 0 : o.loaders) || [];
|
|
let r = t.include || [];
|
|
Array.isArray(r) || (r = [r]);
|
|
let i = t.exclude || [];
|
|
Array.isArray(i) || (i = [i]), a.push(
|
|
d({
|
|
test: (n = t.match) != null ? n : /\.(vue|jsx|tsx|js|ts|mjs|mts)$/,
|
|
exclude: [...i, /node_modules/],
|
|
use: [
|
|
{
|
|
loader: h.resolve(l, "./loader.js"),
|
|
options: t
|
|
}
|
|
]
|
|
}, t.enforcePre === !1 ? {} : { enforce: "pre" }),
|
|
d({
|
|
test: (f = t.match) != null ? f : /\.html$/,
|
|
resourceQuery: /vue/,
|
|
use: [
|
|
{
|
|
loader: h.resolve(l, "./loader.js"),
|
|
options: t
|
|
}
|
|
]
|
|
}, t.enforcePre === !1 ? {} : { enforce: "pre" }),
|
|
...r.map((c) => d({
|
|
resource: {
|
|
and: [c, /\.(vue|jsx|tsx|js|ts|mjs|mts)$/]
|
|
},
|
|
use: [
|
|
{
|
|
loader: h.resolve(l, "./loader.js"),
|
|
options: t
|
|
}
|
|
]
|
|
}, t.enforcePre === !1 ? {} : { enforce: "pre" })),
|
|
j(d({}, t.injectTo ? { resource: t.injectTo } : {
|
|
test: /\.(jsx|tsx|js|ts|mjs|mts)$/,
|
|
exclude: /node_modules/
|
|
}), {
|
|
use: [
|
|
{
|
|
loader: h.resolve(l, "./inject-loader.js"),
|
|
options: t
|
|
}
|
|
],
|
|
enforce: "post"
|
|
})
|
|
);
|
|
};
|
|
function g(t, e) {
|
|
return I({
|
|
options: j(d({}, t), { importClient: "code" }),
|
|
file: "main.js",
|
|
code: "",
|
|
record: e,
|
|
inject: !0
|
|
});
|
|
}
|
|
function Q(o) {
|
|
return y(this, arguments, function* ({
|
|
options: t,
|
|
record: e,
|
|
assets: s
|
|
}) {
|
|
const a = Object.keys(s).filter((r) => /\.html$/.test(r));
|
|
if (a.length) {
|
|
const r = yield g(t, e);
|
|
a.forEach((i) => {
|
|
var n, f;
|
|
const u = (f = (n = s[i]) == null ? void 0 : n.source) == null ? void 0 : f.call(n);
|
|
if (typeof u == "string") {
|
|
const c = u.replace(
|
|
"<head>",
|
|
'<head><script type="module">\n'.concat(r, "\n<\/script>")
|
|
);
|
|
s[i] = {
|
|
source: () => c,
|
|
size: () => c.length
|
|
};
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
class V {
|
|
constructor(e) {
|
|
this.options = e;
|
|
}
|
|
apply(e) {
|
|
return y(this, null, function* () {
|
|
var o, a, r, i, u, n, f, c, x;
|
|
if (A = !0, this.options.close || !z(
|
|
this.options.dev,
|
|
((o = e == null ? void 0 : e.options) == null ? void 0 : o.mode) === "development" || process.env.NODE_ENV === "development"
|
|
))
|
|
return;
|
|
const s = {
|
|
port: 0,
|
|
entry: "",
|
|
output: this.options.output,
|
|
inputs: F(
|
|
(a = e == null ? void 0 : e.options) == null ? void 0 : a.entry,
|
|
(r = e == null ? void 0 : e.options) == null ? void 0 : r.context
|
|
)
|
|
};
|
|
if (((u = (i = e == null ? void 0 : e.options) == null ? void 0 : i.cache) == null ? void 0 : u.type) === "filesystem" && (this.options.cache ? g(this.options, s) : e.options.cache.version = "code-inspector-".concat(Date.now())), ((c = (f = (n = e == null ? void 0 : e.options) == null ? void 0 : n.experiments) == null ? void 0 : f.cache) == null ? void 0 : c.type) === "persistent" && (this.options.cache ? g(this.options, s) : e.options.experiments.cache.version = "code-inspector-".concat(Date.now())), H(j(d({}, this.options), { record: s }), e), (x = e == null ? void 0 : e.hooks) != null && x.emit) {
|
|
const _ = this.options;
|
|
e.hooks.emit.tapAsync(
|
|
"WebpackCodeInspectorPlugin",
|
|
(p, w) => y(this, null, function* () {
|
|
let v = {};
|
|
p.getAssets ? v = yield p.getAssets() : v = p.assets, yield Q({
|
|
options: _,
|
|
record: s,
|
|
assets: v
|
|
}), w();
|
|
})
|
|
);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
export {
|
|
V as default
|
|
};
|