@_tc/template-core 0.2.9 → 0.2.10-bate.1
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/cjs/bundler/utils.js +1 -1
- package/esm/bundler/utils.js +168 -82
- package/package.json +1 -1
package/cjs/bundler/utils.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../_virtual/_rolldown/runtime.js`),t=require(`../packages/common/log/index.js`),n=require(`../packages/utils/path.js`);require(`../packages/utils/index.js`);const r=require(`./state.js`);let i=require(`fs`),a=require(`path`);a=e.__toESM(a);let o=require(`glob`);o=e.__toESM(o);let s=require(`vite`),c=require(`@tailwindcss/vite`);c=e.__toESM(c);let l=require(`module`),u=require(`url`);var d=typeof __filename==`string`?__filename:(0,u.fileURLToPath)({}.url),f=a.default.dirname(d),p=process.cwd(),m=(0,l.createRequire)(d),h=a.default.resolve(f,`../../`),g=a.default.resolve(f,`../`),_=a.default.resolve(h,`./fe/frontend`),v=a.default.resolve(p,`.`),y=a.default.resolve(v,`./frontend`),b=e=>a.default.dirname(m.resolve(`${e}/package.json`)),x=a.default.join(v,`.tc-entry-html`),S=`<!-- {{InsertScript}} -->`,C={head:`<!-- TC_HEAD_SLOT -->`,bodyBeforeRoot:`<!-- TC_BODY_BEFORE_ROOT_SLOT -->`,bodyAfterRoot:`<!-- TC_BODY_AFTER_ROOT_SLOT -->`},w=[`head`,`body-before-root`,`body-after-root`],T=()=>({head:``,"body-before-root":``,"body-after-root":``}),E=e=>e.trim().replace(/<!--(?!\s*(?:tc-slot:|\/tc-slot:))[\s\S]*?-->/g,``).replace(/>\s+</g,`><`),D=e=>{let t=[],n=e.replace(/<(script|style|textarea|pre)\b[\s\S]*?<\/\1>/gi,e=>{let n=`__TC_HTML_PRESERVED_${t.length}__`;return t.push(e),n}).replace(/<!--(?!\s*(?:tc-slot:|\/tc-slot:|\{\{InsertScript\}\}|TC_))[\s\S]*?-->/g,``).replace(/>\s+</g,`><`).trim();return t.reduce((e,t,n)=>e.replace(`__TC_HTML_PRESERVED_${n}__`,t),n)},O=e=>e.split(a.default.sep).join(`/`),k=e=>{let t=O(e);return t.startsWith(`.`)||t.startsWith(`/`)?t:`./${t}`},A=e=>/<html[\s>]/i.test(e)&&e.includes(`window['_basePath']`)&&/<div\s+id=["']root["']\s*><\/div>/i.test(e),j=e=>{let n=T(),r=(0,i.readFileSync)(e,`utf-8`),a=/<!--\s*tc-slot:([\w-]+)\s*-->([\s\S]*?)<!--\s*\/tc-slot:\1\s*-->/g,o=!1,s=r;if(r.replace(a,(t,r,i)=>{if(o=!0,!w.includes(r))throw Error(`Invalid html slot "${r}" in ${e}. Allowed slots: ${w.join(`, `)}.`);return n[r]+=i.trim()?`${i}\n`:``,s=s.replace(t,``),t}),s.trim()){if(A(r))return t.logYellow(`ignored legacy generated entry html: ${e}`),T();throw Error([`Invalid custom entry html: ${e}.`,`Custom entry html can only contain tc-slot blocks, for example:`,`<!-- tc-slot:head -->`,`<meta name="description" content="..." />`,`<!-- /tc-slot:head -->`].join(`
|
|
2
2
|
`))}return o&&t.logYellow(`using custom entry html slots: ${e}`),n},M=(e,t)=>{let r=a.default.basename(e),s=[a.default.join(e,`${t}.html`),a.default.join(e,`${r}.html`)].find(e=>(0,i.existsSync)(e));if(s)return s;if(o.sync(n.resolve(e,`*.html`)).length)throw Error([`Entry html filename is not supported in ${e}.`,`Use ${t}.html or ${r}.html as a tc-slot file.`].join(`
|
|
3
|
-
`))},N=(e,t)=>e.replace(C.head,E(t.head)).replace(C.bodyBeforeRoot,E(t[`body-before-root`])).replace(C.bodyAfterRoot,E(t[`body-after-root`])),P=(e=new Date)=>{let t=(e,t=2)=>e.toString().padStart(t,`0`);return[e.getFullYear(),t(e.getMonth()+1),t(e.getDate()),t(e.getHours())].join(`/`)+`:${t(e.getMinutes())}:${t(e.getSeconds())}:${t(e.getMilliseconds(),3)}`},F=(e,t,n,r)=>{let o=a.default.join(x,`${n}.html`),s=k(a.default.relative(a.default.dirname(o),t));return(0,i.writeFileSync)(o,N(e,r).replace(S,`<script type="module" src="${s}"><\/script>`)),o};function I(){t.logWhite(`frameFEPath: `+_),t.logWhite(`runFEPath: `+y);let e=[_,y].reduce((e,t)=>{let r=[`js`,`jsx`,`ts`,`tsx`].map(e=>n.resolve(t,`/**`,`/*.`+e)),i=o.sync(r).filter(e=>e.includes(`.entry.`)).filter(e=>!e.includes(`.d.ts`));return[...e,...i]},[]),r={};if(!e.length)return r;(0,i.rmSync)(x,{recursive:!0,force:!0}),(0,i.mkdirSync)(x,{recursive:!0});let s=(0,i.readFileSync)(a.default.resolve(g,`./app/view/entry.tpl`),`utf-8`);for(let t=0;t<e.length;t++){let n=e[t],i=a.default.resolve(n,`../`),o=M(i,a.default.basename(n).replace(/\.entry\.[^.]+$/,``)),c=o?a.default.basename(o,`.html`):i.split(a.default.sep).at(-1);r[c]=F(s,n,c,o?j(o):T())}return r}function L(){let e=r.buildFESharedState.options.output??`frame`;return e!==`frame`&&t.logRed(`Please pay attention to the build output.`),e===`run`?a.default.join(v,`./app/public/dist`):typeof e==`function`?e():a.default.join(g,`./app/public/dist`)}var R=async e=>{let n=(await import(`chokidar`)).watch(y,{ignored:/(^|[\/\\])\../,persistent:!0,ignoreInitial:!0}),r=!1;n.on(`change`,async n=>{if(!r){r=!0,t.logYellow(`changed: ${n}`);try{await e?.()}catch(e){t.logRed(e)}finally{r=!1}}}),t.logYellow(`watching ${y}/...`)};function z(){return{name:`flatten-html`,apply:`build`,closeBundle(){let e=L(),t=P();(0,i.writeFileSync)(n.resolve(e,`./FEBuildKey`),t)}}}function B(e=`.html`){let n=[...new Set(Array.isArray(e)?e:[e])];return{name:`flatten-html`,apply:`build`,closeBundle(){let e=L();if(!(0,i.existsSync)(e))return;let s=r.buildFESharedState.options.minifyHtml??!1,c=o.sync(`**/*.html`,{cwd:e,dot:!0});for(let t of c){let r=a.default.join(e,t),o=(0,i.readFileSync)(r,`utf-8`),c=s?D(o):o,l=a.default.basename(t,`.html`),u=`.entry`;l.indexOf(u)===-1&&(l+=u);for(let t of n){let n=l+t,o=a.default.join(e,n);r===o?s&&(0,i.writeFileSync)(o,c):(0,i.writeFileSync)(o,c)}n.some(t=>r===a.default.join(e,l+t))||(0,i.unlinkSync)(r)}let l=[...new Set(c.map(e=>a.default.dirname(e)))].sort().reverse(),u=e=>{if(!((0,i.existsSync)(e)?(0,i.readdirSync)(e):[1]).length){(0,i.rmdirSync)(e);let t=e.split(a.default.sep).slice(0,-1);t.length&&u(t.join(a.default.sep))}};for(let t of l)t&&t!==`.`&&u(a.default.join(e,t));let d=n.flatMap(t=>o.sync(`**/*`+t,{cwd:e,dot:!0}));for(let e of d)t.logYellow(`final file path -----> `+e)}}}function V(e){let t=[``,`.ts`,`.tsx`,`.js`,`.jsx`];return e.reduce((e,[n,r,o=y,s=`./defaultAlias`])=>{let c=t.map(e=>a.default.resolve(o,r+e)).find(e=>(0,i.existsSync)(e)),l=a.default.resolve(f,s);return c&&(l=c),e[n]=l,e},{})}var H=(
|
|
3
|
+
`))},N=(e,t)=>e.replace(C.head,E(t.head)).replace(C.bodyBeforeRoot,E(t[`body-before-root`])).replace(C.bodyAfterRoot,E(t[`body-after-root`])),P=(e=new Date)=>{let t=(e,t=2)=>e.toString().padStart(t,`0`);return[e.getFullYear(),t(e.getMonth()+1),t(e.getDate()),t(e.getHours())].join(`/`)+`:${t(e.getMinutes())}:${t(e.getSeconds())}:${t(e.getMilliseconds(),3)}`},F=(e,t,n,r)=>{let o=a.default.join(x,`${n}.html`),s=k(a.default.relative(a.default.dirname(o),t));return(0,i.writeFileSync)(o,N(e,r).replace(S,`<script type="module" src="${s}"><\/script>`)),o};function I(){t.logWhite(`frameFEPath: `+_),t.logWhite(`runFEPath: `+y);let e=[_,y].reduce((e,t)=>{let r=[`js`,`jsx`,`ts`,`tsx`].map(e=>n.resolve(t,`/**`,`/*.`+e)),i=o.sync(r).filter(e=>e.includes(`.entry.`)).filter(e=>!e.includes(`.d.ts`));return[...e,...i]},[]),r={};if(!e.length)return r;(0,i.rmSync)(x,{recursive:!0,force:!0}),(0,i.mkdirSync)(x,{recursive:!0});let s=(0,i.readFileSync)(a.default.resolve(g,`./app/view/entry.tpl`),`utf-8`);for(let t=0;t<e.length;t++){let n=e[t],i=a.default.resolve(n,`../`),o=M(i,a.default.basename(n).replace(/\.entry\.[^.]+$/,``)),c=o?a.default.basename(o,`.html`):i.split(a.default.sep).at(-1);r[c]=F(s,n,c,o?j(o):T())}return r}function L(){let e=r.buildFESharedState.options.output??`frame`;return e!==`frame`&&t.logRed(`Please pay attention to the build output.`),e===`run`?a.default.join(v,`./app/public/dist`):typeof e==`function`?e():a.default.join(g,`./app/public/dist`)}var R=async e=>{let n=(await import(`chokidar`)).watch(y,{ignored:/(^|[\/\\])\../,persistent:!0,ignoreInitial:!0}),r=!1;n.on(`change`,async n=>{if(!r){r=!0,t.logYellow(`changed: ${n}`);try{await e?.()}catch(e){t.logRed(e)}finally{r=!1}}}),t.logYellow(`watching ${y}/...`)};function z(){return{name:`flatten-html`,apply:`build`,closeBundle(){let e=L(),t=P();(0,i.writeFileSync)(n.resolve(e,`./FEBuildKey`),t)}}}function B(e=`.html`){let n=[...new Set(Array.isArray(e)?e:[e])];return{name:`flatten-html`,apply:`build`,closeBundle(){let e=L();if(!(0,i.existsSync)(e))return;let s=r.buildFESharedState.options.minifyHtml??!1,c=o.sync(`**/*.html`,{cwd:e,dot:!0});for(let t of c){let r=a.default.join(e,t),o=(0,i.readFileSync)(r,`utf-8`),c=s?D(o):o,l=a.default.basename(t,`.html`),u=`.entry`;l.indexOf(u)===-1&&(l+=u);for(let t of n){let n=l+t,o=a.default.join(e,n);r===o?s&&(0,i.writeFileSync)(o,c):(0,i.writeFileSync)(o,c)}n.some(t=>r===a.default.join(e,l+t))||(0,i.unlinkSync)(r)}let l=[...new Set(c.map(e=>a.default.dirname(e)))].sort().reverse(),u=e=>{if(!((0,i.existsSync)(e)?(0,i.readdirSync)(e):[1]).length){(0,i.rmdirSync)(e);let t=e.split(a.default.sep).slice(0,-1);t.length&&u(t.join(a.default.sep))}};for(let t of l)t&&t!==`.`&&u(a.default.join(e,t));let d=n.flatMap(t=>o.sync(`**/*`+t,{cwd:e,dot:!0}));for(let e of d)t.logYellow(`final file path -----> `+e)}}}function V(e){let t=[``,`.ts`,`.tsx`,`.js`,`.jsx`];return e.reduce((e,[n,r,o=y,s=`./defaultAlias`])=>{let c=t.map(e=>a.default.resolve(o,r+e)).find(e=>(0,i.existsSync)(e)),l=a.default.resolve(f,s);return c&&(l=c),e[n]=l,e},{})}var H=e=>`_${e}_tcC`,U=e=>O(e),W=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),G=e=>U(e).includes(`/node_modules/`),K=(e,t)=>{let n=U(e),r=t.split(`/`).map(W).join(`/`);return RegExp(`/node_modules/(?:\\.pnpm/[^/]+/node_modules/)?${r}(?:/|$)`).test(n)},q=(e,t)=>t.some(t=>K(e,t)),J=(e,...t)=>{let n=U(e),r=t.map(W).join(`/`);return RegExp(`(?:^|/)${r}(?:/|$)`).test(n)},Y=(e,t)=>t.some(t=>J(e,...t)),X=async(e,n)=>{try{await(0,s.build)({configFile:!1,base:`/dist`,plugins:[(await import(`@vitejs/plugin-react`)).default(),B([`.tpl`]),z(),(0,c.default)()],build:{outDir:L(),emptyOutDir:!0,sourcemap:n===`dev`?`inline`:`hidden`,rolldownOptions:{input:e,output:{codeSplitting:{groups:[{name:H(`react-dom`),test:e=>K(e,`react-dom`),maxSize:25e4,priority:100},{name:H(`react-router`),test:e=>q(e,[`react-router`,`react-router-dom`]),maxSize:25e4,priority:95},{name:H(`react`),test:e=>K(e,`react`),maxSize:2e5,priority:90},{name:H(`form-validator`),test:e=>q(e,[`ajv`,`rc-field-form`]),maxSize:25e4,priority:80},{name:H(`ui-vendor`),test:e=>q(e,[`date-fns`,`lucide-react`,`xlsx`]),maxSize:35e4,priority:70},{name:H(`state-utils`),test:e=>q(e,[`clsx`,`immer`,`tailwind-merge`,`zustand`]),maxSize:18e4,priority:60},{name:H(`tc-ui`),test:e=>Y(e,[[`packages`,`react`,`ui`],[`fe`,`packages`,`react`,`ui`]]),maxSize:25e4,minShareCount:2,priority:50},{name:H(`tc-hooks`),test:e=>Y(e,[[`packages`,`react`,`hooks`],[`fe`,`packages`,`react`,`hooks`]]),maxSize:12e4,minShareCount:2,priority:45},{name:H(`tc-common`),test:e=>Y(e,[[`packages`,`common`],[`fe`,`packages`,`common`]]),maxSize:16e4,minShareCount:2,priority:40},{name:H(`tc-schema-page`),test:e=>Y(e,[[`frontend`,`src`,`defaultPages`,`SchemaPage`],[`fe`,`frontend`,`src`,`defaultPages`,`SchemaPage`]]),maxSize:2e5,minShareCount:2,priority:35},{name:H(`tc-pages`),test:e=>Y(e,[[`frontend`,`src`,`defaultPages`],[`fe`,`frontend`,`src`,`defaultPages`]]),maxSize:18e4,minShareCount:2,priority:30},{name:H(`vendor`),test:G,maxSize:5e5,minShareCount:2,priority:1}]}}}},resolve:{alias:{react:b(`react`),"react-dom":b(`react-dom`),"@tc/ui-react/hooks":a.default.resolve(f,`../../fe/packages/react/hooks/`),"@tc/ui-react":a.default.resolve(f,`../../fe/packages/react/ui/`),...V([[`@tc/scalability/SchemaForm/frameData`,`./extended/SchemaForm/data`,_],[`@tc/scalability/SchemaForm/data`,`./extended/SchemaForm/data`],[`@tc/scalability/SchemaPage/CallCom/data`,`./extended/SchemaPage/CallCom/data`],[`@tc/scalability/SchemaPage/SchemaTable/data`,`./extended/SchemaPage/SchemaTable/data`],[`@tc/scalability/dash/customRoutes`,`./extended/dash/customRoutes`],[`@tc/scalability/dash/init`,`./extended/dash/init`],[`@tc/scalability/dash/components`,`./extended/dash/components`],[`@tc/scalability/dash/routeGuard`,`./extended/dash/routeGuard`,void 0,`./defaultRouteGuard`]])}}}),t.logJoinColorized(t.colorize(`builded`,`green`),t.colorize(` -> `,`white`),t.colorize(`time: `,`cyan`),t.colorize(new Date,`pink`))}catch(e){if(t.logRed(e),n!==`dev`)throw e}};exports.VBuildFE=X,exports.entries=I,exports.generateBuildKeyPlugin=z,exports.outDir=L,exports.watchFiles=R;
|
package/esm/bundler/utils.js
CHANGED
|
@@ -5,39 +5,39 @@ import { buildFESharedState as o } from "./state.js";
|
|
|
5
5
|
import { existsSync as s, mkdirSync as c, readFileSync as l, readdirSync as u, rmSync as d, rmdirSync as f, unlinkSync as p, writeFileSync as m } from "fs";
|
|
6
6
|
import h from "path";
|
|
7
7
|
import * as g from "glob";
|
|
8
|
-
import { build as
|
|
9
|
-
import
|
|
10
|
-
import { createRequire as
|
|
11
|
-
import { fileURLToPath as
|
|
8
|
+
import { build as ee } from "vite";
|
|
9
|
+
import te from "@tailwindcss/vite";
|
|
10
|
+
import { createRequire as _ } from "module";
|
|
11
|
+
import { fileURLToPath as v } from "url";
|
|
12
12
|
//#region bundler/utils.ts
|
|
13
|
-
var
|
|
13
|
+
var y = typeof __filename == "string" ? __filename : v(import.meta.url), b = h.dirname(y), x = process.cwd(), ne = _(y), re = h.resolve(b, "../../"), S = h.resolve(b, "../"), C = h.resolve(re, "./fe/frontend"), w = h.resolve(x, "."), T = h.resolve(w, "./frontend"), E = (e) => h.dirname(ne.resolve(`${e}/package.json`)), D = h.join(w, ".tc-entry-html"), O = "<!-- {{InsertScript}} -->", k = {
|
|
14
14
|
head: "<!-- TC_HEAD_SLOT -->",
|
|
15
15
|
bodyBeforeRoot: "<!-- TC_BODY_BEFORE_ROOT_SLOT -->",
|
|
16
16
|
bodyAfterRoot: "<!-- TC_BODY_AFTER_ROOT_SLOT -->"
|
|
17
|
-
},
|
|
17
|
+
}, A = [
|
|
18
18
|
"head",
|
|
19
19
|
"body-before-root",
|
|
20
20
|
"body-after-root"
|
|
21
|
-
],
|
|
21
|
+
], j = () => ({
|
|
22
22
|
head: "",
|
|
23
23
|
"body-before-root": "",
|
|
24
24
|
"body-after-root": ""
|
|
25
|
-
}),
|
|
25
|
+
}), M = (e) => e.trim().replace(/<!--(?!\s*(?:tc-slot:|\/tc-slot:))[\s\S]*?-->/g, "").replace(/>\s+</g, "><"), N = (e) => {
|
|
26
26
|
let t = [], n = e.replace(/<(script|style|textarea|pre)\b[\s\S]*?<\/\1>/gi, (e) => {
|
|
27
27
|
let n = `__TC_HTML_PRESERVED_${t.length}__`;
|
|
28
28
|
return t.push(e), n;
|
|
29
29
|
}).replace(/<!--(?!\s*(?:tc-slot:|\/tc-slot:|\{\{InsertScript\}\}|TC_))[\s\S]*?-->/g, "").replace(/>\s+</g, "><").trim();
|
|
30
30
|
return t.reduce((e, t, n) => e.replace(`__TC_HTML_PRESERVED_${n}__`, t), n);
|
|
31
|
-
},
|
|
32
|
-
let t =
|
|
31
|
+
}, P = (e) => e.split(h.sep).join("/"), F = (e) => {
|
|
32
|
+
let t = P(e);
|
|
33
33
|
return t.startsWith(".") || t.startsWith("/") ? t : `./${t}`;
|
|
34
|
-
},
|
|
35
|
-
let t =
|
|
34
|
+
}, I = (e) => /<html[\s>]/i.test(e) && e.includes("window['_basePath']") && /<div\s+id=["']root["']\s*><\/div>/i.test(e), L = (e) => {
|
|
35
|
+
let t = j(), n = l(e, "utf-8"), r = /<!--\s*tc-slot:([\w-]+)\s*-->([\s\S]*?)<!--\s*\/tc-slot:\1\s*-->/g, a = !1, o = n;
|
|
36
36
|
if (n.replace(r, (n, r, i) => {
|
|
37
|
-
if (a = !0, !
|
|
37
|
+
if (a = !0, !A.includes(r)) throw Error(`Invalid html slot "${r}" in ${e}. Allowed slots: ${A.join(", ")}.`);
|
|
38
38
|
return t[r] += i.trim() ? `${i}\n` : "", o = o.replace(n, ""), n;
|
|
39
39
|
}), o.trim()) {
|
|
40
|
-
if (
|
|
40
|
+
if (I(n)) return i(`ignored legacy generated entry html: ${e}`), j();
|
|
41
41
|
throw Error([
|
|
42
42
|
`Invalid custom entry html: ${e}.`,
|
|
43
43
|
"Custom entry html can only contain tc-slot blocks, for example:",
|
|
@@ -47,11 +47,11 @@ var x = typeof __filename == "string" ? __filename : b(import.meta.url), S = h.d
|
|
|
47
47
|
].join("\n"));
|
|
48
48
|
}
|
|
49
49
|
return a && i(`using custom entry html slots: ${e}`), t;
|
|
50
|
-
},
|
|
50
|
+
}, R = (e, t) => {
|
|
51
51
|
let n = h.basename(e), r = [h.join(e, `${t}.html`), h.join(e, `${n}.html`)].find((e) => s(e));
|
|
52
52
|
if (r) return r;
|
|
53
53
|
if (g.sync(a(e, "*.html")).length) throw Error([`Entry html filename is not supported in ${e}.`, `Use ${t}.html or ${n}.html as a tc-slot file.`].join("\n"));
|
|
54
|
-
},
|
|
54
|
+
}, z = (e, t) => e.replace(k.head, M(t.head)).replace(k.bodyBeforeRoot, M(t["body-before-root"])).replace(k.bodyAfterRoot, M(t["body-after-root"])), B = (e = /* @__PURE__ */ new Date()) => {
|
|
55
55
|
let t = (e, t = 2) => e.toString().padStart(t, "0");
|
|
56
56
|
return [
|
|
57
57
|
e.getFullYear(),
|
|
@@ -59,13 +59,13 @@ var x = typeof __filename == "string" ? __filename : b(import.meta.url), S = h.d
|
|
|
59
59
|
t(e.getDate()),
|
|
60
60
|
t(e.getHours())
|
|
61
61
|
].join("/") + `:${t(e.getMinutes())}:${t(e.getSeconds())}:${t(e.getMilliseconds(), 3)}`;
|
|
62
|
-
},
|
|
63
|
-
let i = h.join(
|
|
64
|
-
return m(i,
|
|
62
|
+
}, V = (e, t, n, r) => {
|
|
63
|
+
let i = h.join(D, `${n}.html`), a = F(h.relative(h.dirname(i), t));
|
|
64
|
+
return m(i, z(e, r).replace(O, `<script type="module" src="${a}"><\/script>`)), i;
|
|
65
65
|
};
|
|
66
|
-
function
|
|
67
|
-
r("frameFEPath: " +
|
|
68
|
-
let e = [
|
|
66
|
+
function H() {
|
|
67
|
+
r("frameFEPath: " + C), r("runFEPath: " + T);
|
|
68
|
+
let e = [C, T].reduce((e, t) => {
|
|
69
69
|
let n = [
|
|
70
70
|
"js",
|
|
71
71
|
"jsx",
|
|
@@ -75,23 +75,23 @@ function K() {
|
|
|
75
75
|
return [...e, ...r];
|
|
76
76
|
}, []), t = {};
|
|
77
77
|
if (!e.length) return t;
|
|
78
|
-
d(
|
|
78
|
+
d(D, {
|
|
79
79
|
recursive: !0,
|
|
80
80
|
force: !0
|
|
81
|
-
}), c(
|
|
82
|
-
let n = l(h.resolve(
|
|
81
|
+
}), c(D, { recursive: !0 });
|
|
82
|
+
let n = l(h.resolve(S, "./app/view/entry.tpl"), "utf-8");
|
|
83
83
|
for (let r = 0; r < e.length; r++) {
|
|
84
|
-
let i = e[r], a = h.resolve(i, "../"), o =
|
|
85
|
-
t[s] =
|
|
84
|
+
let i = e[r], a = h.resolve(i, "../"), o = R(a, h.basename(i).replace(/\.entry\.[^.]+$/, "")), s = o ? h.basename(o, ".html") : a.split(h.sep).at(-1);
|
|
85
|
+
t[s] = V(n, i, s, o ? L(o) : j());
|
|
86
86
|
}
|
|
87
87
|
return t;
|
|
88
88
|
}
|
|
89
|
-
function
|
|
89
|
+
function U() {
|
|
90
90
|
let e = o.options.output ?? "frame";
|
|
91
|
-
return e !== "frame" && n("Please pay attention to the build output."), e === "run" ? h.join(
|
|
91
|
+
return e !== "frame" && n("Please pay attention to the build output."), e === "run" ? h.join(w, "./app/public/dist") : typeof e == "function" ? e() : h.join(S, "./app/public/dist");
|
|
92
92
|
}
|
|
93
|
-
var
|
|
94
|
-
let t = (await import("chokidar")).watch(
|
|
93
|
+
var W = async (e) => {
|
|
94
|
+
let t = (await import("chokidar")).watch(T, {
|
|
95
95
|
ignored: /(^|[\/\\])\../,
|
|
96
96
|
persistent: !0,
|
|
97
97
|
ignoreInitial: !0
|
|
@@ -107,32 +107,32 @@ var J = async (e) => {
|
|
|
107
107
|
r = !1;
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
|
-
}), i(`watching ${
|
|
110
|
+
}), i(`watching ${T}/...`);
|
|
111
111
|
};
|
|
112
|
-
function
|
|
112
|
+
function G() {
|
|
113
113
|
return {
|
|
114
114
|
name: "flatten-html",
|
|
115
115
|
apply: "build",
|
|
116
116
|
closeBundle() {
|
|
117
|
-
let e =
|
|
117
|
+
let e = U(), t = B();
|
|
118
118
|
m(a(e, "./FEBuildKey"), t);
|
|
119
119
|
}
|
|
120
120
|
};
|
|
121
121
|
}
|
|
122
|
-
function
|
|
122
|
+
function K(e = ".html") {
|
|
123
123
|
let t = [...new Set(Array.isArray(e) ? e : [e])];
|
|
124
124
|
return {
|
|
125
125
|
name: "flatten-html",
|
|
126
126
|
apply: "build",
|
|
127
127
|
closeBundle() {
|
|
128
|
-
let e =
|
|
128
|
+
let e = U();
|
|
129
129
|
if (!s(e)) return;
|
|
130
130
|
let n = o.options.minifyHtml ?? !1, r = g.sync("**/*.html", {
|
|
131
131
|
cwd: e,
|
|
132
132
|
dot: !0
|
|
133
133
|
});
|
|
134
134
|
for (let i of r) {
|
|
135
|
-
let r = h.join(e, i), a = l(r, "utf-8"), o = n ?
|
|
135
|
+
let r = h.join(e, i), a = l(r, "utf-8"), o = n ? N(a) : a, s = h.basename(i, ".html"), c = ".entry";
|
|
136
136
|
s.indexOf(c) === -1 && (s += c);
|
|
137
137
|
for (let i of t) {
|
|
138
138
|
let t = s + i, a = h.join(e, t);
|
|
@@ -156,7 +156,7 @@ function X(e = ".html") {
|
|
|
156
156
|
}
|
|
157
157
|
};
|
|
158
158
|
}
|
|
159
|
-
function
|
|
159
|
+
function q(e) {
|
|
160
160
|
let t = [
|
|
161
161
|
"",
|
|
162
162
|
".ts",
|
|
@@ -164,91 +164,177 @@ function Z(e) {
|
|
|
164
164
|
".js",
|
|
165
165
|
".jsx"
|
|
166
166
|
];
|
|
167
|
-
return e.reduce((e, [n, r, i =
|
|
168
|
-
let o = t.map((e) => h.resolve(i, r + e)).find((e) => s(e)), c = h.resolve(
|
|
167
|
+
return e.reduce((e, [n, r, i = T, a = "./defaultAlias"]) => {
|
|
168
|
+
let o = t.map((e) => h.resolve(i, r + e)).find((e) => s(e)), c = h.resolve(b, a);
|
|
169
169
|
return o && (c = o), e[n] = c, e;
|
|
170
170
|
}, {});
|
|
171
171
|
}
|
|
172
|
-
var
|
|
172
|
+
var J = (e) => `_${e}_tcC`, Y = (e) => P(e), X = (e) => e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), ie = (e) => Y(e).includes("/node_modules/"), Z = (e, t) => {
|
|
173
|
+
let n = Y(e), r = t.split("/").map(X).join("/");
|
|
174
|
+
return RegExp(`/node_modules/(?:\\.pnpm/[^/]+/node_modules/)?${r}(?:/|$)`).test(n);
|
|
175
|
+
}, Q = (e, t) => t.some((t) => Z(e, t)), ae = (e, ...t) => {
|
|
176
|
+
let n = Y(e), r = t.map(X).join("/");
|
|
177
|
+
return RegExp(`(?:^|/)${r}(?:/|$)`).test(n);
|
|
178
|
+
}, $ = (e, t) => t.some((t) => ae(e, ...t)), oe = async (r, i) => {
|
|
173
179
|
try {
|
|
174
|
-
await
|
|
180
|
+
await ee({
|
|
175
181
|
configFile: !1,
|
|
176
182
|
base: "/dist",
|
|
177
183
|
plugins: [
|
|
178
184
|
(await import("@vitejs/plugin-react")).default(),
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
185
|
+
K([".tpl"]),
|
|
186
|
+
G(),
|
|
187
|
+
te()
|
|
182
188
|
],
|
|
183
189
|
build: {
|
|
184
|
-
outDir:
|
|
190
|
+
outDir: U(),
|
|
185
191
|
emptyOutDir: !0,
|
|
186
192
|
sourcemap: i === "dev" ? "inline" : "hidden",
|
|
187
193
|
rolldownOptions: {
|
|
188
194
|
input: r,
|
|
189
195
|
output: { codeSplitting: { groups: [
|
|
190
196
|
{
|
|
191
|
-
name:
|
|
192
|
-
test:
|
|
193
|
-
maxSize:
|
|
194
|
-
|
|
195
|
-
priority: 1
|
|
197
|
+
name: J("react-dom"),
|
|
198
|
+
test: (e) => Z(e, "react-dom"),
|
|
199
|
+
maxSize: 25e4,
|
|
200
|
+
priority: 100
|
|
196
201
|
},
|
|
197
202
|
{
|
|
198
|
-
name:
|
|
199
|
-
test: Q("
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
priority: 5
|
|
203
|
+
name: J("react-router"),
|
|
204
|
+
test: (e) => Q(e, ["react-router", "react-router-dom"]),
|
|
205
|
+
maxSize: 25e4,
|
|
206
|
+
priority: 95
|
|
203
207
|
},
|
|
204
208
|
{
|
|
205
|
-
name:
|
|
206
|
-
test:
|
|
207
|
-
minShareCount: 2,
|
|
209
|
+
name: J("react"),
|
|
210
|
+
test: (e) => Z(e, "react"),
|
|
208
211
|
maxSize: 2e5,
|
|
209
|
-
priority:
|
|
212
|
+
priority: 90
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
name: J("form-validator"),
|
|
216
|
+
test: (e) => Q(e, ["ajv", "rc-field-form"]),
|
|
217
|
+
maxSize: 25e4,
|
|
218
|
+
priority: 80
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
name: J("ui-vendor"),
|
|
222
|
+
test: (e) => Q(e, [
|
|
223
|
+
"date-fns",
|
|
224
|
+
"lucide-react",
|
|
225
|
+
"xlsx"
|
|
226
|
+
]),
|
|
227
|
+
maxSize: 35e4,
|
|
228
|
+
priority: 70
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
name: J("state-utils"),
|
|
232
|
+
test: (e) => Q(e, [
|
|
233
|
+
"clsx",
|
|
234
|
+
"immer",
|
|
235
|
+
"tailwind-merge",
|
|
236
|
+
"zustand"
|
|
237
|
+
]),
|
|
238
|
+
maxSize: 18e4,
|
|
239
|
+
priority: 60
|
|
210
240
|
},
|
|
211
241
|
{
|
|
212
|
-
name:
|
|
213
|
-
test:
|
|
242
|
+
name: J("tc-ui"),
|
|
243
|
+
test: (e) => $(e, [[
|
|
244
|
+
"packages",
|
|
245
|
+
"react",
|
|
246
|
+
"ui"
|
|
247
|
+
], [
|
|
248
|
+
"fe",
|
|
249
|
+
"packages",
|
|
250
|
+
"react",
|
|
251
|
+
"ui"
|
|
252
|
+
]]),
|
|
253
|
+
maxSize: 25e4,
|
|
214
254
|
minShareCount: 2,
|
|
215
|
-
|
|
216
|
-
priority: 10
|
|
255
|
+
priority: 50
|
|
217
256
|
},
|
|
218
257
|
{
|
|
219
|
-
name:
|
|
220
|
-
test:
|
|
258
|
+
name: J("tc-hooks"),
|
|
259
|
+
test: (e) => $(e, [[
|
|
260
|
+
"packages",
|
|
261
|
+
"react",
|
|
262
|
+
"hooks"
|
|
263
|
+
], [
|
|
264
|
+
"fe",
|
|
265
|
+
"packages",
|
|
266
|
+
"react",
|
|
267
|
+
"hooks"
|
|
268
|
+
]]),
|
|
269
|
+
maxSize: 12e4,
|
|
221
270
|
minShareCount: 2,
|
|
222
|
-
|
|
223
|
-
priority: 10
|
|
271
|
+
priority: 45
|
|
224
272
|
},
|
|
225
273
|
{
|
|
226
|
-
name:
|
|
227
|
-
test:
|
|
274
|
+
name: J("tc-common"),
|
|
275
|
+
test: (e) => $(e, [["packages", "common"], [
|
|
276
|
+
"fe",
|
|
277
|
+
"packages",
|
|
278
|
+
"common"
|
|
279
|
+
]]),
|
|
280
|
+
maxSize: 16e4,
|
|
228
281
|
minShareCount: 2,
|
|
282
|
+
priority: 40
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
name: J("tc-schema-page"),
|
|
286
|
+
test: (e) => $(e, [[
|
|
287
|
+
"frontend",
|
|
288
|
+
"src",
|
|
289
|
+
"defaultPages",
|
|
290
|
+
"SchemaPage"
|
|
291
|
+
], [
|
|
292
|
+
"fe",
|
|
293
|
+
"frontend",
|
|
294
|
+
"src",
|
|
295
|
+
"defaultPages",
|
|
296
|
+
"SchemaPage"
|
|
297
|
+
]]),
|
|
229
298
|
maxSize: 2e5,
|
|
230
|
-
|
|
299
|
+
minShareCount: 2,
|
|
300
|
+
priority: 35
|
|
231
301
|
},
|
|
232
302
|
{
|
|
233
|
-
name:
|
|
234
|
-
test:
|
|
303
|
+
name: J("tc-pages"),
|
|
304
|
+
test: (e) => $(e, [[
|
|
305
|
+
"frontend",
|
|
306
|
+
"src",
|
|
307
|
+
"defaultPages"
|
|
308
|
+
], [
|
|
309
|
+
"fe",
|
|
310
|
+
"frontend",
|
|
311
|
+
"src",
|
|
312
|
+
"defaultPages"
|
|
313
|
+
]]),
|
|
314
|
+
maxSize: 18e4,
|
|
235
315
|
minShareCount: 2,
|
|
236
|
-
|
|
237
|
-
|
|
316
|
+
priority: 30
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
name: J("vendor"),
|
|
320
|
+
test: ie,
|
|
321
|
+
maxSize: 5e5,
|
|
322
|
+
minShareCount: 2,
|
|
323
|
+
priority: 1
|
|
238
324
|
}
|
|
239
325
|
] } }
|
|
240
326
|
}
|
|
241
327
|
},
|
|
242
328
|
resolve: { alias: {
|
|
243
|
-
react:
|
|
244
|
-
"react-dom":
|
|
245
|
-
"@tc/ui-react/hooks": h.resolve(
|
|
246
|
-
"@tc/ui-react": h.resolve(
|
|
247
|
-
...
|
|
329
|
+
react: E("react"),
|
|
330
|
+
"react-dom": E("react-dom"),
|
|
331
|
+
"@tc/ui-react/hooks": h.resolve(b, "../../fe/packages/react/hooks/"),
|
|
332
|
+
"@tc/ui-react": h.resolve(b, "../../fe/packages/react/ui/"),
|
|
333
|
+
...q([
|
|
248
334
|
[
|
|
249
335
|
"@tc/scalability/SchemaForm/frameData",
|
|
250
336
|
"./extended/SchemaForm/data",
|
|
251
|
-
|
|
337
|
+
C
|
|
252
338
|
],
|
|
253
339
|
["@tc/scalability/SchemaForm/data", "./extended/SchemaForm/data"],
|
|
254
340
|
["@tc/scalability/SchemaPage/CallCom/data", "./extended/SchemaPage/CallCom/data"],
|
|
@@ -270,4 +356,4 @@ var Q = (...e) => new RegExp(e.join("[\\/]")), $ = (e) => `_${e}_tcC`, ee = asyn
|
|
|
270
356
|
}
|
|
271
357
|
};
|
|
272
358
|
//#endregion
|
|
273
|
-
export {
|
|
359
|
+
export { oe as VBuildFE, H as entries, G as generateBuildKeyPlugin, U as outDir, W as watchFiles };
|
package/package.json
CHANGED