@rindo/core 1.17.4 → 2.5.2
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/LICENSE.md +27 -27
- package/bin/cli.ts +20 -0
- package/bin/rindo +51 -56
- package/cli/index.cjs +1263 -0
- package/cli/index.d.ts +1 -1
- package/cli/index.js +1232 -495
- package/cli/package.json +9 -4
- package/compiler/lib.d.ts +24 -0
- package/compiler/lib.dom.d.ts +20230 -0
- package/compiler/lib.dom.iterable.d.ts +351 -0
- package/compiler/lib.es2015.collection.d.ts +89 -0
- package/compiler/lib.es2015.core.d.ts +517 -0
- package/compiler/lib.es2015.d.ts +30 -0
- package/compiler/lib.es2015.generator.d.ts +79 -0
- package/compiler/lib.es2015.iterable.d.ts +505 -0
- package/compiler/lib.es2015.promise.d.ts +150 -0
- package/compiler/lib.es2015.proxy.d.ts +41 -0
- package/compiler/lib.es2015.reflect.d.ts +123 -0
- package/compiler/lib.es2015.symbol.d.ts +48 -0
- package/compiler/lib.es2015.symbol.wellknown.d.ts +324 -0
- package/compiler/lib.es2016.array.include.d.ts +118 -0
- package/compiler/lib.es2016.d.ts +22 -0
- package/compiler/lib.es2016.full.d.ts +25 -0
- package/compiler/lib.es2017.d.ts +26 -0
- package/compiler/lib.es2017.full.d.ts +25 -0
- package/compiler/lib.es2017.intl.d.ts +32 -0
- package/compiler/lib.es2017.object.d.ts +51 -0
- package/compiler/lib.es2017.sharedmemory.d.ts +137 -0
- package/compiler/lib.es2017.string.d.ts +47 -0
- package/compiler/lib.es2017.typedarrays.d.ts +55 -0
- package/compiler/lib.es2018.asyncgenerator.d.ts +79 -0
- package/compiler/lib.es2018.asynciterable.d.ts +45 -0
- package/compiler/lib.es2018.d.ts +26 -0
- package/compiler/lib.es2018.full.d.ts +25 -0
- package/compiler/lib.es2018.intl.d.ts +61 -0
- package/compiler/lib.es2018.promise.d.ts +32 -0
- package/compiler/lib.es2018.regexp.d.ts +39 -0
- package/compiler/lib.es2019.array.d.ts +85 -0
- package/compiler/lib.es2019.d.ts +25 -0
- package/compiler/lib.es2019.full.d.ts +25 -0
- package/compiler/lib.es2019.object.d.ts +35 -0
- package/compiler/lib.es2019.string.d.ts +33 -0
- package/compiler/lib.es2019.symbol.d.ts +26 -0
- package/compiler/lib.es2020.bigint.d.ts +728 -0
- package/compiler/lib.es2020.d.ts +27 -0
- package/compiler/lib.es2020.full.d.ts +25 -0
- package/compiler/lib.es2020.intl.d.ts +310 -0
- package/compiler/lib.es2020.promise.d.ts +50 -0
- package/compiler/lib.es2020.sharedmemory.d.ts +99 -0
- package/compiler/lib.es2020.string.d.ts +30 -0
- package/compiler/lib.es2020.symbol.wellknown.d.ts +39 -0
- package/compiler/lib.es5.d.ts +4435 -0
- package/compiler/lib.es6.d.ts +25 -0
- package/compiler/lib.esnext.d.ts +25 -0
- package/compiler/lib.esnext.full.d.ts +25 -0
- package/compiler/lib.esnext.intl.d.ts +32 -0
- package/compiler/lib.esnext.promise.d.ts +43 -0
- package/compiler/lib.esnext.string.d.ts +35 -0
- package/compiler/lib.esnext.weakref.d.ts +75 -0
- package/compiler/lib.scripthost.d.ts +327 -0
- package/compiler/lib.webworker.d.ts +6042 -0
- package/compiler/lib.webworker.importscripts.d.ts +26 -0
- package/compiler/lib.webworker.iterable.d.ts +166 -0
- package/compiler/package.json +3 -3
- package/compiler/rindo.d.ts +0 -16
- package/compiler/rindo.js +42738 -40541
- package/compiler/rindo.min.js +2 -15
- package/dependencies.json +73 -50
- package/dev-server/client/index.js +33 -10
- package/dev-server/client/package.json +3 -3
- package/dev-server/connector.html +3 -3
- package/dev-server/index.d.ts +3 -6
- package/dev-server/index.js +256 -252
- package/dev-server/package.json +3 -3
- package/dev-server/server-process.js +1738 -0
- package/dev-server/server-worker-thread.js +39 -0
- package/dev-server/templates/initial-load.html +160 -160
- package/dev-server/ws.js +1 -1
- package/internal/app-data/{index.cjs.js → index.cjs} +7 -5
- package/internal/app-data/index.d.ts +1 -0
- package/internal/app-data/index.js +7 -6
- package/internal/app-data/package.json +11 -5
- package/internal/client/css-shim.js +2 -2
- package/internal/client/dom.js +1 -1
- package/internal/client/index.js +193 -119
- package/internal/client/package.json +4 -3
- package/internal/client/{patch.js → patch-browser.js} +8 -24
- package/internal/client/patch-esm.js +23 -0
- package/internal/client/polyfills/css-shim.js +1 -1
- package/internal/client/polyfills/index.js +34 -34
- package/internal/client/shadow-css.js +9 -3
- package/internal/hydrate/index.js +305 -281
- package/internal/hydrate/package.json +2 -2
- package/internal/hydrate/runner.d.ts +24 -12
- package/internal/hydrate/runner.js +153 -124
- package/internal/hydrate/shadow-css.js +24 -24
- package/internal/package.json +5 -4
- package/internal/rindo-core/index.cjs +1 -0
- package/internal/rindo-core/index.d.ts +51 -2
- package/internal/rindo-core/index.js +15 -1
- package/internal/rindo-ext-modules.d.ts +41 -39
- package/internal/rindo-private.d.ts +93 -148
- package/internal/rindo-public-compiler.d.ts +231 -155
- package/internal/rindo-public-runtime.d.ts +42 -39
- package/internal/testing/index.js +144 -121
- package/internal/testing/package.json +2 -2
- package/internal/testing/shadow-css.js +24 -24
- package/mock-doc/index.cjs +4610 -0
- package/mock-doc/index.d.ts +12 -1
- package/mock-doc/index.js +177 -67
- package/mock-doc/package.json +11 -5
- package/package.json +132 -133
- package/readme.md +21 -95
- package/screenshot/compare/build/app.js +33 -33
- package/screenshot/compare/build/p-f4745c2f.entry.js +1 -1
- package/screenshot/connector-base.d.ts +1 -1
- package/screenshot/connector-local.d.ts +1 -1
- package/screenshot/index.js +63 -46
- package/screenshot/package.json +10 -3
- package/screenshot/pixel-match.js +54 -57
- package/screenshot/screenshot-compare.d.ts +1 -1
- package/screenshot/screenshot-fs.d.ts +1 -1
- package/sys/deno/index.js +1785 -0
- package/sys/deno/node-compat.js +2654 -0
- package/sys/deno/worker.js +44 -0
- package/sys/node/autoprefixer.js +8 -1
- package/sys/node/glob.js +1 -1
- package/sys/node/graceful-fs.js +1 -1
- package/sys/node/index.d.ts +1 -1
- package/sys/node/index.js +689 -705
- package/sys/node/node-fetch.js +1 -1
- package/sys/node/package.json +3 -3
- package/sys/node/prompts.js +1 -1
- package/sys/node/worker.js +38 -19
- package/testing/index.d.ts +3 -3
- package/testing/index.js +863 -749
- package/testing/jest/jest-config.d.ts +2 -89
- package/testing/jest/jest-environment.d.ts +1 -1
- package/testing/jest/jest-runner.d.ts +1 -1
- package/testing/jest/jest-screenshot.d.ts +1 -1
- package/testing/jest-preset.js +32 -32
- package/testing/matchers/events.d.ts +1 -1
- package/testing/matchers/screenshot.d.ts +1 -1
- package/testing/mock-fetch.d.ts +1 -1
- package/testing/mocks.d.ts +1 -1
- package/testing/package.json +3 -3
- package/testing/puppeteer/index.d.ts +1 -1
- package/testing/puppeteer/puppeteer-browser.d.ts +2 -2
- package/testing/puppeteer/puppeteer-declarations.d.ts +11 -11
- package/testing/puppeteer/puppeteer-element.d.ts +3 -3
- package/testing/puppeteer/puppeteer-emulate.d.ts +1 -1
- package/testing/puppeteer/puppeteer-events.d.ts +3 -3
- package/testing/puppeteer/puppeteer-page.d.ts +1 -1
- package/testing/puppeteer/puppeteer-screenshot.d.ts +2 -2
- package/testing/reset-build-conditionals.d.ts +1 -1
- package/testing/spec-page.d.ts +1 -1
- package/testing/test-transpile.d.ts +1 -1
- package/testing/testing-logger.d.ts +1 -1
- package/testing/testing-utils.d.ts +1 -1
- package/testing/testing.d.ts +1 -1
- package/cli/index.cjs.js +0 -524
- package/dev-server/content-type-db.json +0 -1
- package/dev-server/server-worker.js +0 -1570
- package/mock-doc/index.cjs.js +0 -4500
package/cli/index.cjs.js
DELETED
|
@@ -1,524 +0,0 @@
|
|
|
1
|
-
function _interopNamespace(e) {
|
|
2
|
-
if (e && e.__esModule) return e;
|
|
3
|
-
var t = {};
|
|
4
|
-
return e && Object.keys(e).forEach((function(s) {
|
|
5
|
-
var n = Object.getOwnPropertyDescriptor(e, s);
|
|
6
|
-
Object.defineProperty(t, s, n.get ? n : {
|
|
7
|
-
enumerable: !0,
|
|
8
|
-
get: function() {
|
|
9
|
-
return e[s];
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
})), t.default = e, t;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
Object.defineProperty(exports, "__esModule", {
|
|
16
|
-
value: !0
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
const IS_NODE_ENV = !("undefined" == typeof global || "function" != typeof require || !global.process || "string" != typeof __filename || global.origin && "string" == typeof global.origin), dashToPascalCase = e => (e => e.toLowerCase())(e).split("-").map(e => e.charAt(0).toUpperCase() + e.slice(1)).join(""), isFunction = e => "function" == typeof e, isString = e => "string" == typeof e, hasError = e => null != e && 0 !== e.length && e.some(e => "error" === e.level && "runtime" !== e.type), shouldIgnoreError = e => e === TASK_CANCELED_MSG, TASK_CANCELED_MSG = "task canceled", normalizePath = e => {
|
|
20
|
-
if ("string" != typeof e) throw new Error("invalid path to normalize");
|
|
21
|
-
e = normalizeSlashes(e.trim());
|
|
22
|
-
const t = pathComponents(e, getRootLength(e)), s = reducePathComponents(t), n = s[0], r = s[1], o = n + s.slice(1).join("/");
|
|
23
|
-
return "" === o ? "." : "" === n && r && e.includes("/") && !r.startsWith(".") && !r.startsWith("@") ? "./" + o : o;
|
|
24
|
-
}, normalizeSlashes = e => e.replace(backslashRegExp, "/"), backslashRegExp = /\\/g, reducePathComponents = e => {
|
|
25
|
-
if (!Array.isArray(e) || 0 === e.length) return [];
|
|
26
|
-
const t = [ e[0] ];
|
|
27
|
-
for (let s = 1; s < e.length; s++) {
|
|
28
|
-
const n = e[s];
|
|
29
|
-
if (n && "." !== n) {
|
|
30
|
-
if (".." === n) if (t.length > 1) {
|
|
31
|
-
if (".." !== t[t.length - 1]) {
|
|
32
|
-
t.pop();
|
|
33
|
-
continue;
|
|
34
|
-
}
|
|
35
|
-
} else if (t[0]) continue;
|
|
36
|
-
t.push(n);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return t;
|
|
40
|
-
}, getRootLength = e => {
|
|
41
|
-
const t = getEncodedRootLength(e);
|
|
42
|
-
return t < 0 ? ~t : t;
|
|
43
|
-
}, getEncodedRootLength = e => {
|
|
44
|
-
if (!e) return 0;
|
|
45
|
-
const t = e.charCodeAt(0);
|
|
46
|
-
if (47 === t || 92 === t) {
|
|
47
|
-
if (e.charCodeAt(1) !== t) return 1;
|
|
48
|
-
const s = e.indexOf(47 === t ? "/" : "\\", 2);
|
|
49
|
-
return s < 0 ? e.length : s + 1;
|
|
50
|
-
}
|
|
51
|
-
if (isVolumeCharacter(t) && 58 === e.charCodeAt(1)) {
|
|
52
|
-
const t = e.charCodeAt(2);
|
|
53
|
-
if (47 === t || 92 === t) return 3;
|
|
54
|
-
if (2 === e.length) return 2;
|
|
55
|
-
}
|
|
56
|
-
const s = e.indexOf("://");
|
|
57
|
-
if (-1 !== s) {
|
|
58
|
-
const t = s + "://".length, n = e.indexOf("/", t);
|
|
59
|
-
if (-1 !== n) {
|
|
60
|
-
const r = e.slice(0, s), o = e.slice(t, n);
|
|
61
|
-
if ("file" === r && ("" === o || "localhost" === o) && isVolumeCharacter(e.charCodeAt(n + 1))) {
|
|
62
|
-
const t = getFileUrlVolumeSeparatorEnd(e, n + 2);
|
|
63
|
-
if (-1 !== t) {
|
|
64
|
-
if (47 === e.charCodeAt(t)) return ~(t + 1);
|
|
65
|
-
if (t === e.length) return ~t;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return ~(n + 1);
|
|
69
|
-
}
|
|
70
|
-
return ~e.length;
|
|
71
|
-
}
|
|
72
|
-
return 0;
|
|
73
|
-
}, isVolumeCharacter = e => e >= 97 && e <= 122 || e >= 65 && e <= 90, getFileUrlVolumeSeparatorEnd = (e, t) => {
|
|
74
|
-
const s = e.charCodeAt(t);
|
|
75
|
-
if (58 === s) return t + 1;
|
|
76
|
-
if (37 === s && 51 === e.charCodeAt(t + 1)) {
|
|
77
|
-
const s = e.charCodeAt(t + 2);
|
|
78
|
-
if (97 === s || 65 === s) return t + 3;
|
|
79
|
-
}
|
|
80
|
-
return -1;
|
|
81
|
-
}, pathComponents = (e, t) => {
|
|
82
|
-
const s = e.substring(0, t), n = e.substring(t).split("/"), r = n.length;
|
|
83
|
-
return r > 0 && !n[r - 1] && n.pop(), [ s, ...n ];
|
|
84
|
-
}, parseFlags = (e, t) => {
|
|
85
|
-
const s = {
|
|
86
|
-
task: null,
|
|
87
|
-
args: [],
|
|
88
|
-
knownArgs: [],
|
|
89
|
-
unknownArgs: null
|
|
90
|
-
};
|
|
91
|
-
if (s.args = e.slice(), s.args.length > 0 && s.args[0] && !s.args[0].startsWith("-") && (s.task = s.args[0]),
|
|
92
|
-
parseArgs(s, s.args, s.knownArgs), t && "node" === t.name) {
|
|
93
|
-
const e = getNpmConfigEnvArgs(t);
|
|
94
|
-
parseArgs(s, e, s.knownArgs), e.forEach(e => {
|
|
95
|
-
s.args.includes(e) || s.args.push(e);
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
if (null != s.task) {
|
|
99
|
-
const e = s.args.indexOf(s.task);
|
|
100
|
-
e > -1 && s.args.splice(e, 1);
|
|
101
|
-
}
|
|
102
|
-
return s.unknownArgs = s.args.filter(e => !s.knownArgs.includes(e)), s;
|
|
103
|
-
}, parseArgs = (e, t, s) => {
|
|
104
|
-
ARG_OPTS.boolean.forEach(n => {
|
|
105
|
-
const r = ARG_OPTS.alias[n], o = configCase(n);
|
|
106
|
-
"boolean" != typeof e[o] && (e[o] = null), t.forEach(t => {
|
|
107
|
-
t === "--" + n || t === "--" + o ? (e[o] = !0, s.push(t)) : t === "--no-" + n || t === "--no" + dashToPascalCase(n) ? (e[o] = !1,
|
|
108
|
-
s.push(t)) : r && t === "-" + r && (e[o] = !0, s.push(t));
|
|
109
|
-
});
|
|
110
|
-
}), ARG_OPTS.string.forEach(n => {
|
|
111
|
-
const r = ARG_OPTS.alias[n], o = configCase(n);
|
|
112
|
-
"string" != typeof e[o] && (e[o] = null);
|
|
113
|
-
for (let i = 0; i < t.length; i++) {
|
|
114
|
-
const a = t[i];
|
|
115
|
-
if (a.startsWith(`--${n}=`)) {
|
|
116
|
-
const t = a.split("=");
|
|
117
|
-
t.shift(), e[o] = t.join("="), s.push(a);
|
|
118
|
-
} else if (a === "--" + n) e[o] = t[i + 1], s.push(a), s.push(t[i + 1]); else if (a === "--" + o) e[o] = t[i + 1],
|
|
119
|
-
s.push(a), s.push(t[i + 1]); else if (a.startsWith(`--${o}=`)) {
|
|
120
|
-
const t = a.split("=");
|
|
121
|
-
t.shift(), e[o] = t.join("="), s.push(a);
|
|
122
|
-
} else if (r) if (a.startsWith(`-${r}=`)) {
|
|
123
|
-
const t = a.split("=");
|
|
124
|
-
t.shift(), e[o] = t.join("="), s.push(a);
|
|
125
|
-
} else a === "-" + r && (e[o] = t[i + 1], s.push(t[i + 1]));
|
|
126
|
-
}
|
|
127
|
-
}), ARG_OPTS.number.forEach(n => {
|
|
128
|
-
const r = ARG_OPTS.alias[n], o = configCase(n);
|
|
129
|
-
"number" != typeof e[o] && (e[o] = null);
|
|
130
|
-
for (let i = 0; i < t.length; i++) {
|
|
131
|
-
const a = t[i];
|
|
132
|
-
if (a.startsWith(`--${n}=`)) {
|
|
133
|
-
const t = a.split("=");
|
|
134
|
-
t.shift(), e[o] = parseInt(t.join(""), 10), s.push(a);
|
|
135
|
-
} else if (a === "--" + n) e[o] = parseInt(t[i + 1], 10), s.push(t[i + 1]); else if (a.startsWith(`--${o}=`)) {
|
|
136
|
-
const t = a.split("=");
|
|
137
|
-
t.shift(), e[o] = parseInt(t.join(""), 10), s.push(a);
|
|
138
|
-
} else if (a === "--" + o) e[o] = parseInt(t[i + 1], 10), s.push(t[i + 1]); else if (r) if (a.startsWith(`-${r}=`)) {
|
|
139
|
-
const t = a.split("=");
|
|
140
|
-
t.shift(), e[o] = parseInt(t.join(""), 10), s.push(a);
|
|
141
|
-
} else a === "-" + r && (e[o] = parseInt(t[i + 1], 10), s.push(t[i + 1]));
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
}, configCase = e => (e = dashToPascalCase(e)).charAt(0).toLowerCase() + e.substr(1), ARG_OPTS = {
|
|
145
|
-
boolean: [ "build", "cache", "check-version", "ci", "compare", "debug", "dev", "devtools", "docs", "e2e", "es5", "esm", "headless", "help", "log", "open", "prerender", "prerender-external", "prod", "profile", "service-worker", "screenshot", "serve", "skip-node-check", "spec", "stats", "update-screenshot", "verbose", "version", "watch" ],
|
|
146
|
-
number: [ "max-workers", "port" ],
|
|
147
|
-
string: [ "address", "config", "docs-json", "emulate", "log-level", "root", "screenshot-connector" ],
|
|
148
|
-
alias: {
|
|
149
|
-
config: "c",
|
|
150
|
-
help: "h",
|
|
151
|
-
port: "p",
|
|
152
|
-
version: "v"
|
|
153
|
-
}
|
|
154
|
-
}, getNpmConfigEnvArgs = e => {
|
|
155
|
-
let t = [];
|
|
156
|
-
try {
|
|
157
|
-
const s = e.getEnvironmentVar("npm_config_argv");
|
|
158
|
-
s && (t = JSON.parse(s).original, "run" === t[0] && (t = t.slice(2)));
|
|
159
|
-
} catch (e) {}
|
|
160
|
-
return t;
|
|
161
|
-
}, dependencies = [ {
|
|
162
|
-
name: "@rindo/core",
|
|
163
|
-
version: "0.0.0-dev.20221104122636",
|
|
164
|
-
main: "compiler/rindo.js",
|
|
165
|
-
resources: [ "internal/index.js", "internal/index.d.ts", "internal/package.json", "internal/rindo-core/index.js", "internal/rindo-core/index.d.ts", "internal/rindo-ext-modules.d.ts", "internal/rindo-private.d.ts", "internal/rindo-public-compiler.d.ts", "internal/rindo-public-docs.d.ts", "internal/rindo-public-runtime.d.ts", "internal/client/css-shim.js", "internal/client/dom.js", "internal/client/index.js", "internal/client/patch.js", "internal/client/shadow-css.js", "internal/client/package.json", "internal/hydrate/index.js", "internal/hydrate/runner.js", "internal/hydrate/shadow-css.js", "internal/hydrate/package.json", "mock-doc/index.js", "mock-doc/package.json", "package.json" ]
|
|
166
|
-
}, {
|
|
167
|
-
name: "typescript",
|
|
168
|
-
version: "3.9.7",
|
|
169
|
-
main: "lib/typescript.js",
|
|
170
|
-
resources: [ "lib/lib.dom.d.ts", "lib/lib.es2015.d.ts", "lib/lib.es5.d.ts", "lib/lib.es2015.core.d.ts", "lib/lib.es2015.collection.d.ts", "lib/lib.es2015.generator.d.ts", "lib/lib.es2015.iterable.d.ts", "lib/lib.es2015.symbol.d.ts", "lib/lib.es2015.promise.d.ts", "lib/lib.es2015.proxy.d.ts", "lib/lib.es2015.reflect.d.ts", "lib/lib.es2015.symbol.wellknown.d.ts", "lib/lib.es2016.d.ts", "lib/lib.es2016.array.include.d.ts", "lib/lib.es2017.d.ts", "lib/lib.es2017.typedarrays.d.ts", "lib/lib.es2017.intl.d.ts", "lib/lib.es2017.object.d.ts", "lib/lib.es2017.sharedmemory.d.ts", "lib/lib.es2017.string.d.ts", "lib/lib.es2018.d.ts", "lib/lib.es2018.asyncgenerator.d.ts", "lib/lib.es2018.asynciterable.d.ts", "lib/lib.es2018.promise.d.ts", "lib/lib.es2018.regexp.d.ts", "lib/lib.es2018.intl.d.ts", "lib/lib.esnext.intl.d.ts", "lib/lib.es2020.bigint.d.ts", "package.json" ]
|
|
171
|
-
}, {
|
|
172
|
-
name: "rollup",
|
|
173
|
-
version: "2.23.0",
|
|
174
|
-
main: "dist/rollup.browser.es.js"
|
|
175
|
-
}, {
|
|
176
|
-
name: "terser",
|
|
177
|
-
version: "4.8.0",
|
|
178
|
-
main: "dist/bundle.min.js"
|
|
179
|
-
} ], startupCompilerLog = (e, t) => {
|
|
180
|
-
if (!0 === t.suppressLogs) return;
|
|
181
|
-
const {logger: s} = t, n = "debug" === s.getLevel(), r = e.version.includes("-"), o = e.version.includes("-dev.");
|
|
182
|
-
r && !o && s.warn(s.yellow("This is a prerelease build, undocumented changes might happen at any time. Technical support is not available for prereleases, but any assistance testing is appreciated.")),
|
|
183
|
-
t.devMode && !n && (t.buildEs5 && s.warn("Generating ES5 during development is a very task expensive, initial and incremental builds will be much slower. Drop the '--es5' flag and use a modern browser for development."),
|
|
184
|
-
t.enableCache || s.warn("Disabling cache during development will slow down incremental builds."));
|
|
185
|
-
}, runPrerenderTask = async (e, t, s, n, r) => {
|
|
186
|
-
const o = [];
|
|
187
|
-
try {
|
|
188
|
-
const i = await e.createPrerenderer(t), a = await i.start({
|
|
189
|
-
hydrateAppFilePath: s,
|
|
190
|
-
componentGraph: n,
|
|
191
|
-
srcIndexHtmlPath: r
|
|
192
|
-
});
|
|
193
|
-
o.push(...a.diagnostics);
|
|
194
|
-
} catch (e) {
|
|
195
|
-
((e, t, s) => {
|
|
196
|
-
const n = {
|
|
197
|
-
level: "error",
|
|
198
|
-
type: "build",
|
|
199
|
-
header: "Build Error",
|
|
200
|
-
messageText: "build error",
|
|
201
|
-
relFilePath: null,
|
|
202
|
-
absFilePath: null,
|
|
203
|
-
lines: []
|
|
204
|
-
};
|
|
205
|
-
isString(void 0) ? n.messageText = void 0 : null != t && (null != t.stack ? n.messageText = t.stack.toString() : null != t.message ? n.messageText = t.message.toString() : n.messageText = t.toString()),
|
|
206
|
-
null == e || shouldIgnoreError(n.messageText) || e.push(n);
|
|
207
|
-
})(o, e);
|
|
208
|
-
}
|
|
209
|
-
return o;
|
|
210
|
-
}, startCheckVersion = async (e, t) => e.devMode && !e.flags.ci && !t.includes("-dev.") && isFunction(e.sys.checkVersion) ? e.sys.checkVersion(e.logger, t) : null, printCheckVersionResults = async e => {
|
|
211
|
-
if (e) {
|
|
212
|
-
const t = await e;
|
|
213
|
-
isFunction(t) && t();
|
|
214
|
-
}
|
|
215
|
-
}, isOutputTargetDocs = e => e.type === DOCS || e.type === DOCS_README || e.type === DOCS_JSON || e.type === DOCS_CUSTOM || e.type === DOCS_VSCODE, DOCS = "docs", DOCS_CUSTOM = "docs-custom", DOCS_JSON = "docs-json", DOCS_README = "docs-readme", DOCS_VSCODE = "docs-vscode", chooseFilesToGenerate = async () => {
|
|
216
|
-
const {prompt: e} = await Promise.resolve().then((function() {
|
|
217
|
-
return _interopNamespace(require("../sys/node/prompts.js"));
|
|
218
|
-
}));
|
|
219
|
-
return (await e({
|
|
220
|
-
name: "filesToGenerate",
|
|
221
|
-
type: "multiselect",
|
|
222
|
-
message: "Which additional files do you want to generate?",
|
|
223
|
-
choices: [ {
|
|
224
|
-
value: "css",
|
|
225
|
-
title: "Stylesheet (.css)",
|
|
226
|
-
selected: !0
|
|
227
|
-
}, {
|
|
228
|
-
value: "spec.tsx",
|
|
229
|
-
title: "Spec Test (.spec.tsx)",
|
|
230
|
-
selected: !0
|
|
231
|
-
}, {
|
|
232
|
-
value: "e2e.ts",
|
|
233
|
-
title: "E2E Test (.e2e.ts)",
|
|
234
|
-
selected: !0
|
|
235
|
-
} ]
|
|
236
|
-
})).filesToGenerate;
|
|
237
|
-
}, isTest = e => "e2e.ts" === e || "spec.tsx" === e, getBoilerplateByExtension = (e, t, s) => {
|
|
238
|
-
switch (t) {
|
|
239
|
-
case "tsx":
|
|
240
|
-
return getComponentBoilerplate(e, s);
|
|
241
|
-
|
|
242
|
-
case "css":
|
|
243
|
-
return getStyleUrlBoilerplate();
|
|
244
|
-
|
|
245
|
-
case "spec.tsx":
|
|
246
|
-
return getSpecTestBoilerplate(e);
|
|
247
|
-
|
|
248
|
-
case "e2e.ts":
|
|
249
|
-
return getE2eTestBoilerplate(e);
|
|
250
|
-
|
|
251
|
-
default:
|
|
252
|
-
throw new Error(`Unkown extension "${t}".`);
|
|
253
|
-
}
|
|
254
|
-
}, getComponentBoilerplate = (e, t) => {
|
|
255
|
-
const s = [ "{" ];
|
|
256
|
-
return s.push(` tag: '${e}',`), t && s.push(` styleUrl: '${e}.css',`), s.push(" shadow: true,"),
|
|
257
|
-
s.push("}"), `import { Component, Host, h } from '@rindo/core';\n\n@Component(${s.join("\n")})\nexport class ${toPascalCase(e)} {\n\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n\n}\n`;
|
|
258
|
-
}, getStyleUrlBoilerplate = () => ":host {\n display: block;\n}\n", getSpecTestBoilerplate = e => `import { newSpecPage } from '@rindo/core/testing';\nimport { ${toPascalCase(e)} } from '../${e}';\n\ndescribe('${e}', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [${toPascalCase(e)}],\n html: \`<${e}></${e}>\`,\n });\n expect(page.root).toEqualHtml(\`\n <${e}>\n <mock:shadow-root>\n <slot></slot>\n </mock:shadow-root>\n </${e}>\n \`);\n });\n});\n`, getE2eTestBoilerplate = e => `import { newE2EPage } from '@rindo/core/testing';\n\ndescribe('${e}', () => {\n it('renders', async () => {\n const page = await newE2EPage();\n await page.setContent('<${e}></${e}>');\n\n const element = await page.find('${e}');\n expect(element).toHaveClass('hydrated');\n });\n});\n`, toPascalCase = e => e.split("-").reduce((e, t) => e + t[0].toUpperCase() + t.substr(1), ""), taskHelp = (e, t) => {
|
|
259
|
-
const s = t.dim("windows" === e.details.platform ? ">" : "$");
|
|
260
|
-
console.log(`\n ${t.bold("Build:")} ${t.dim("Build components for development or production.")}\n\n ${s} ${t.green("rindo build [--dev] [--watch] [--prerender] [--debug]")}\n\n ${t.cyan("--dev")} ${t.dim(".............")} Development build\n ${t.cyan("--watch")} ${t.dim("...........")} Rebuild when files update\n ${t.cyan("--serve")} ${t.dim("...........")} Start the dev-server\n ${t.cyan("--prerender")} ${t.dim(".......")} Prerender the application\n ${t.cyan("--docs")} ${t.dim("............")} Generate component readme.md docs\n ${t.cyan("--config")} ${t.dim("..........")} Set rindo config file\n ${t.cyan("--stats")} ${t.dim("...........")} Write rindo-stats.json file\n ${t.cyan("--log")} ${t.dim(".............")} Write rindo-build.log file\n ${t.cyan("--debug")} ${t.dim("...........")} Set the log level to debug\n\n\n ${t.bold("Test:")} ${t.dim("Run unit and end-to-end tests.")}\n\n ${s} ${t.green("rindo test [--spec] [--e2e]")}\n\n ${t.cyan("--spec")} ${t.dim("............")} Run unit tests with Jest\n ${t.cyan("--e2e")} ${t.dim(".............")} Run e2e tests with Puppeteer\n\n\n ${t.bold("Generate:")} ${t.dim("Bootstrap components.")}\n\n ${s} ${t.green("rindo generate")} or ${t.green("rindo g")}\n\n\n ${t.bold("Examples:")}\n\n ${s} ${t.green("rindo build --dev --watch --serve")}\n ${s} ${t.green("rindo build --prerender")}\n ${s} ${t.green("rindo test --spec --e2e")}\n ${s} ${t.green("rindo generate")}\n ${s} ${t.green("rindo g my-component")}\n\n`);
|
|
261
|
-
}, runTask = async (e, t, s) => {
|
|
262
|
-
switch (t.flags = t.flags || {}, t.outputTargets = t.outputTargets || [], s) {
|
|
263
|
-
case "build":
|
|
264
|
-
await (async (e, t) => {
|
|
265
|
-
if (t.flags.watch) return void await (async (e, t) => {
|
|
266
|
-
let s = null, n = 0;
|
|
267
|
-
try {
|
|
268
|
-
startupCompilerLog(e, t);
|
|
269
|
-
const r = startCheckVersion(t, e.version), o = await e.createCompiler(t), i = await o.createWatcher();
|
|
270
|
-
if (t.flags.serve) {
|
|
271
|
-
const e = t.sys.getDevServerExecutingPath(), {start: n} = await t.sys.dynamicImport(e);
|
|
272
|
-
s = await n(t.devServer, t.logger, i);
|
|
273
|
-
}
|
|
274
|
-
t.sys.onProcessInterrupt(() => {
|
|
275
|
-
t.logger.debug("close watch"), o && o.destroy();
|
|
276
|
-
});
|
|
277
|
-
const a = i.on("buildFinish", async () => {
|
|
278
|
-
a(), printCheckVersionResults(r);
|
|
279
|
-
});
|
|
280
|
-
if (s) {
|
|
281
|
-
const e = i.on("buildFinish", () => {
|
|
282
|
-
e(), t.logger.info(t.logger.cyan(s.browserUrl) + "\n");
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
t.flags.prerender && i.on("buildFinish", async s => {
|
|
286
|
-
if (!s.hasError) {
|
|
287
|
-
const n = await runPrerenderTask(e, t, s.hydrateAppFilePath, s.componentGraph, null);
|
|
288
|
-
t.logger.printDiagnostics(n);
|
|
289
|
-
}
|
|
290
|
-
});
|
|
291
|
-
const l = await i.start();
|
|
292
|
-
l.exitCode > 0 && (n = l.exitCode);
|
|
293
|
-
} catch (e) {
|
|
294
|
-
n = 1, t.logger.error(e);
|
|
295
|
-
}
|
|
296
|
-
s && await s.close(), n > 0 && t.sys.exit(n);
|
|
297
|
-
})(e, t);
|
|
298
|
-
let s = 0;
|
|
299
|
-
try {
|
|
300
|
-
startupCompilerLog(e, t);
|
|
301
|
-
const n = startCheckVersion(t, e.version), r = await e.createCompiler(t), o = await r.build();
|
|
302
|
-
if (await r.destroy(), o.hasError) s = 1; else if (t.flags.prerender) {
|
|
303
|
-
const n = await runPrerenderTask(e, t, o.hydrateAppFilePath, o.componentGraph, null);
|
|
304
|
-
t.logger.printDiagnostics(n), n.some(e => "error" === e.level) && (s = 1);
|
|
305
|
-
}
|
|
306
|
-
await printCheckVersionResults(n);
|
|
307
|
-
} catch (e) {
|
|
308
|
-
s = 1, t.logger.error(e);
|
|
309
|
-
}
|
|
310
|
-
s > 0 && t.sys.exit(s);
|
|
311
|
-
})(e, t);
|
|
312
|
-
break;
|
|
313
|
-
|
|
314
|
-
case "docs":
|
|
315
|
-
await (async (e, t) => {
|
|
316
|
-
t.devServer = null, t.outputTargets = t.outputTargets.filter(isOutputTargetDocs),
|
|
317
|
-
t.devMode = !0, startupCompilerLog(e, t);
|
|
318
|
-
const s = await e.createCompiler(t);
|
|
319
|
-
await s.build(), await s.destroy();
|
|
320
|
-
})(e, t);
|
|
321
|
-
break;
|
|
322
|
-
|
|
323
|
-
case "help":
|
|
324
|
-
taskHelp(t.sys, t.logger);
|
|
325
|
-
break;
|
|
326
|
-
|
|
327
|
-
case "generate":
|
|
328
|
-
case "g":
|
|
329
|
-
await (async (e, t) => {
|
|
330
|
-
IS_NODE_ENV || (t.logger.error('"generate" command is currently only implemented for a NodeJS environment'),
|
|
331
|
-
t.sys.exit(1));
|
|
332
|
-
const s = e.path;
|
|
333
|
-
t.configPath || (t.logger.error("Please run this command in your root directory (i. e. the one containing rindo.config.ts)."),
|
|
334
|
-
t.sys.exit(1));
|
|
335
|
-
const n = t.srcDir;
|
|
336
|
-
n || (t.logger.error("Rindo's srcDir was not specified."), t.sys.exit(1));
|
|
337
|
-
const {prompt: r} = await Promise.resolve().then((function() {
|
|
338
|
-
return _interopNamespace(require("../sys/node/prompts.js"));
|
|
339
|
-
})), o = t.flags.unknownArgs.find(e => !e.startsWith("-")) || (await r({
|
|
340
|
-
name: "tagName",
|
|
341
|
-
type: "text",
|
|
342
|
-
message: "Component tag name (dash-case):"
|
|
343
|
-
})).tagName, {dir: i, base: a} = s.parse(o), l = (e => {
|
|
344
|
-
if (e !== e.trim()) return "Tag can not contain white spaces";
|
|
345
|
-
if (e !== e.toLowerCase()) return "Tag can not contain upper case characters";
|
|
346
|
-
if ("string" != typeof e) return `Tag "${e}" must be a string type`;
|
|
347
|
-
if (0 === e.length) return "Received empty tag value";
|
|
348
|
-
if (e.indexOf(" ") > -1) return `"${e}" tag cannot contain a space`;
|
|
349
|
-
if (e.indexOf(",") > -1) return `"${e}" tag cannot be used for multiple tags`;
|
|
350
|
-
const t = e.replace(/\w|-/g, "");
|
|
351
|
-
return "" !== t ? `"${e}" tag contains invalid characters: ${t}` : -1 === e.indexOf("-") ? `"${e}" tag must contain a dash (-) to work as a valid web component` : e.indexOf("--") > -1 ? `"${e}" tag cannot contain multiple dashes (--) next to each other` : 0 === e.indexOf("-") ? `"${e}" tag cannot start with a dash (-)` : e.lastIndexOf("-") === e.length - 1 ? `"${e}" tag cannot end with a dash (-)` : void 0;
|
|
352
|
-
})(a);
|
|
353
|
-
l && (t.logger.error(l), t.sys.exit(1));
|
|
354
|
-
const c = [ "tsx", ...await chooseFilesToGenerate() ], d = c.some(isTest) ? "test" : "", g = s.join(n, "components", i, a);
|
|
355
|
-
await t.sys.mkdir(s.join(g, d), {
|
|
356
|
-
recursive: !0
|
|
357
|
-
});
|
|
358
|
-
const p = await Promise.all(c.map(s => (async (e, t, s, n, r, o) => {
|
|
359
|
-
isTest(r) && (s = e.path.join(s, "test"));
|
|
360
|
-
const i = e.path.join(s, `${n}.${r}`), a = getBoilerplateByExtension(n, r, o);
|
|
361
|
-
return await t.sys.writeFile(i, a), i;
|
|
362
|
-
})(e, t, g, a, s, c.includes("css")))).catch(e => t.logger.error(e));
|
|
363
|
-
if (!p) return t.sys.exit(1);
|
|
364
|
-
console.log(), console.log(`${t.logger.gray("$")} rindo generate ${o}`), console.log(),
|
|
365
|
-
console.log(t.logger.bold("The following files have been generated:"));
|
|
366
|
-
const u = t.rootDir;
|
|
367
|
-
p.map(e => console.log(" - " + s.relative(u, e)));
|
|
368
|
-
})(e, t);
|
|
369
|
-
break;
|
|
370
|
-
|
|
371
|
-
case "prerender":
|
|
372
|
-
await (async (e, t) => {
|
|
373
|
-
startupCompilerLog(e, t);
|
|
374
|
-
const s = t.flags.unknownArgs[0];
|
|
375
|
-
"string" != typeof s && (t.logger.error("Missing hydrate app script path"), t.sys.exit(1));
|
|
376
|
-
const n = t.srcIndexHtml, r = await runPrerenderTask(e, t, s, null, n);
|
|
377
|
-
t.logger.printDiagnostics(r), r.some(e => "error" === e.level) && t.sys.exit(1);
|
|
378
|
-
})(e, t);
|
|
379
|
-
break;
|
|
380
|
-
|
|
381
|
-
case "serve":
|
|
382
|
-
await (async e => {
|
|
383
|
-
e.suppressLogs = !0, e.flags.serve = !0, e.devServer.openBrowser = e.flags.open,
|
|
384
|
-
e.devServer.reloadStrategy = null, e.devServer.initialLoadUrl = "/", e.devServer.websocket = !1,
|
|
385
|
-
e.maxConcurrentWorkers = 1, e.devServer.root = isString(e.flags.root) ? e.flags.root : e.sys.getCurrentDirectory();
|
|
386
|
-
const t = e.sys.getDevServerExecutingPath(), {start: s} = await e.sys.dynamicImport(t), n = await s(e.devServer, e.logger);
|
|
387
|
-
console.log(`${e.logger.cyan(" Root:")} ${n.root}`), console.log(`${e.logger.cyan(" Address:")} ${n.address}`),
|
|
388
|
-
console.log(`${e.logger.cyan(" Port:")} ${n.port}`), console.log(`${e.logger.cyan(" Server:")} ${n.browserUrl}`),
|
|
389
|
-
console.log(""), e.sys.onProcessInterrupt(() => {
|
|
390
|
-
n && (e.logger.debug("dev server close: " + n.browserUrl), n.close());
|
|
391
|
-
});
|
|
392
|
-
})(t);
|
|
393
|
-
break;
|
|
394
|
-
|
|
395
|
-
case "test":
|
|
396
|
-
await (async e => {
|
|
397
|
-
IS_NODE_ENV || (e.logger.error('"test" command is currently only implemented for a NodeJS environment'),
|
|
398
|
-
e.sys.exit(1));
|
|
399
|
-
try {
|
|
400
|
-
const t = {
|
|
401
|
-
e2e: !!e.flags.e2e,
|
|
402
|
-
screenshot: !!e.flags.screenshot,
|
|
403
|
-
spec: !!e.flags.spec,
|
|
404
|
-
updateScreenshot: !!e.flags.updateScreenshot
|
|
405
|
-
}, s = [ "@types/jest", "jest", "jest-cli" ];
|
|
406
|
-
if (t.e2e) {
|
|
407
|
-
const n = e.testing.browserExecutablePath ? "puppeteer-core" : "puppeteer";
|
|
408
|
-
s.push("@types/puppeteer", n), t.screenshot && e.logger.warn(e.logger.yellow("EXPERIMENTAL: screenshot visual diff testing is currently under heavy development and has not reached a stable status. However, any assistance testing would be appreciated."));
|
|
409
|
-
}
|
|
410
|
-
await e.sys.lazyRequire.ensure(e.logger, e.rootDir, s);
|
|
411
|
-
const {createTesting: n} = await Promise.resolve().then((function() {
|
|
412
|
-
return _interopNamespace(require("../testing/index.js"));
|
|
413
|
-
})), r = await n(e), o = await r.run(t);
|
|
414
|
-
await r.destroy(), o || e.sys.exit(1);
|
|
415
|
-
} catch (t) {
|
|
416
|
-
e.logger.error(t), e.sys.exit(1);
|
|
417
|
-
}
|
|
418
|
-
})(t);
|
|
419
|
-
break;
|
|
420
|
-
|
|
421
|
-
case "version":
|
|
422
|
-
console.log(e.version);
|
|
423
|
-
break;
|
|
424
|
-
|
|
425
|
-
default:
|
|
426
|
-
t.logger.error(t.logger.emoji("❌ ") + "Invalid rindo command, please see the options below:"),
|
|
427
|
-
taskHelp(t.sys, t.logger), t.sys.exit(1);
|
|
428
|
-
}
|
|
429
|
-
};
|
|
430
|
-
|
|
431
|
-
exports.parseFlags = parseFlags, exports.run = async e => {
|
|
432
|
-
const {args: t, logger: s, sys: n} = e;
|
|
433
|
-
try {
|
|
434
|
-
const e = parseFlags(t, n), r = e.task;
|
|
435
|
-
if ((e.debug || e.verbose) && s.setLevel("debug"), e.ci && s.enableColors(!1), isFunction(n.applyGlobalPatch) && n.applyGlobalPatch(n.getCurrentDirectory()),
|
|
436
|
-
"help" === r || e.help) return void taskHelp(n, s);
|
|
437
|
-
((e, t) => {
|
|
438
|
-
"info" !== t && "serve" !== t && "version" !== t && e.info(e.cyan("@rindo/core"));
|
|
439
|
-
})(s, r);
|
|
440
|
-
const o = await (async e => {
|
|
441
|
-
const t = e.sys, s = t.getCurrentDirectory(), n = {
|
|
442
|
-
configPath: null,
|
|
443
|
-
rootDir: normalizePath(s),
|
|
444
|
-
diagnostics: []
|
|
445
|
-
};
|
|
446
|
-
let r = e.configPath;
|
|
447
|
-
r = isString(r) ? t.platformPath.isAbsolute(r) ? normalizePath(e.configPath) : normalizePath(t.platformPath.join(s, r)) : n.rootDir;
|
|
448
|
-
const o = await t.stat(r);
|
|
449
|
-
if (!o) {
|
|
450
|
-
const e = (e => {
|
|
451
|
-
const t = {
|
|
452
|
-
level: "error",
|
|
453
|
-
type: "build",
|
|
454
|
-
header: "Build Error",
|
|
455
|
-
messageText: "build error",
|
|
456
|
-
relFilePath: null,
|
|
457
|
-
absFilePath: null,
|
|
458
|
-
lines: []
|
|
459
|
-
};
|
|
460
|
-
return e && e.push(t), t;
|
|
461
|
-
})(n.diagnostics);
|
|
462
|
-
return e.absFilePath = r, e.header = "Invalid config path", e.messageText = `Config path "${r}" not found`,
|
|
463
|
-
n;
|
|
464
|
-
}
|
|
465
|
-
if (o.isFile()) n.configPath = r, n.rootDir = t.platformPath.dirname(r); else if (o.isDirectory()) for (const e of [ "rindo.config.ts", "rindo.config.js" ]) {
|
|
466
|
-
const s = t.platformPath.join(r, e), o = await t.stat(s);
|
|
467
|
-
if (o && o.isFile()) {
|
|
468
|
-
n.configPath = s, n.rootDir = t.platformPath.dirname(s);
|
|
469
|
-
break;
|
|
470
|
-
}
|
|
471
|
-
}
|
|
472
|
-
return n;
|
|
473
|
-
})({
|
|
474
|
-
sys: n,
|
|
475
|
-
configPath: e.config
|
|
476
|
-
});
|
|
477
|
-
hasError(o.diagnostics) && (s.printDiagnostics(o.diagnostics), n.exit(1));
|
|
478
|
-
const i = await n.ensureDependencies({
|
|
479
|
-
rootDir: o.rootDir,
|
|
480
|
-
logger: s,
|
|
481
|
-
dependencies
|
|
482
|
-
});
|
|
483
|
-
hasError(i.diagnostics) && (s.printDiagnostics(i.diagnostics), n.exit(1));
|
|
484
|
-
const a = await (async e => (await e.dynamicImport(e.getCompilerExecutingPath()),
|
|
485
|
-
globalThis.rindo))(n);
|
|
486
|
-
if ("version" === r || e.version) return void console.log(a.version);
|
|
487
|
-
if (((e, t, s) => {
|
|
488
|
-
if ("info" === t || "serve" === t || "version" === t) return;
|
|
489
|
-
let n;
|
|
490
|
-
n = s.version.includes("-dev.") ? e.yellow("[LOCAL DEV]") : e.cyan("v" + s.version),
|
|
491
|
-
n += e.emoji(" " + s.vermoji), e.info(n);
|
|
492
|
-
})(s, r, a), ((e, t, s, n) => {
|
|
493
|
-
const r = e.details, o = `${e.name} ${e.version}`, i = `${r.platform}, ${r.cpuModel}`, a = `cpus: ${e.hardwareConcurrency}, freemem: ${Math.round(r.freemem() / 1e6)}MB, totalmem: ${Math.round(r.totalmem / 1e6)}MB`;
|
|
494
|
-
"debug" === t.getLevel() ? (t.debug(o), t.debug(i), t.debug(a), t.debug("compiler: " + e.getCompilerExecutingPath()),
|
|
495
|
-
t.debug("build: " + n.buildId)) : s.ci && (t.info(o), t.info(i), t.info(a));
|
|
496
|
-
})(n, s, e, a), "info" === r) return void ((e, t, s) => {
|
|
497
|
-
const n = t.details, r = e.versions;
|
|
498
|
-
console.log(""), console.log(`${s.cyan(" System:")} ${t.name} ${t.version}`),
|
|
499
|
-
console.log(`${s.cyan(" Plaform:")} ${n.platform} (${n.release})`), console.log(`${s.cyan(" CPU Model:")} ${n.cpuModel} (${t.hardwareConcurrency} cpu${1 !== t.hardwareConcurrency ? "s" : ""})`),
|
|
500
|
-
console.log(`${s.cyan(" Compiler:")} ${t.getCompilerExecutingPath()}`), console.log(`${s.cyan(" Build:")} ${e.buildId}`),
|
|
501
|
-
console.log(`${s.cyan(" Rindo:")} ${e.version}${s.emoji(" " + e.vermoji)}`),
|
|
502
|
-
console.log(`${s.cyan(" TypeScript:")} ${r.typescript}`), console.log(`${s.cyan(" Rollup:")} ${r.rollup}`),
|
|
503
|
-
console.log(`${s.cyan(" Terser:")} ${r.terser}`), console.log("");
|
|
504
|
-
})(a, n, s);
|
|
505
|
-
const l = await a.loadConfig({
|
|
506
|
-
config: {
|
|
507
|
-
flags: e
|
|
508
|
-
},
|
|
509
|
-
configPath: o.configPath,
|
|
510
|
-
logger: s,
|
|
511
|
-
sys: n,
|
|
512
|
-
typescriptPath: i.typescriptPath
|
|
513
|
-
});
|
|
514
|
-
l.diagnostics.length > 0 && (s.printDiagnostics(l.diagnostics), hasError(l.diagnostics) && n.exit(1)),
|
|
515
|
-
isFunction(n.applyGlobalPatch) && n.applyGlobalPatch(l.config.rootDir), await n.ensureResources({
|
|
516
|
-
rootDir: l.config.rootDir,
|
|
517
|
-
logger: s,
|
|
518
|
-
dependencies
|
|
519
|
-
}), await runTask(a, l.config, r);
|
|
520
|
-
} catch (e) {
|
|
521
|
-
shouldIgnoreError(e) || (s.error(`uncaught cli error: ${e}${"debug" === s.getLevel() ? e.stack : ""}`),
|
|
522
|
-
n.exit(1));
|
|
523
|
-
}
|
|
524
|
-
}, exports.runTask = runTask;
|