@_tc/template-core 0.1.8 → 0.1.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.
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../_virtual/_rolldown/runtime.js`),t=require(`../packages/utils/path.js`);require(`../packages/utils/index.js`);const n=require(`../packages/common/log/index.js`),r=require(`./state.js`);let i=require(`path`);i=e.__toESM(i);let a=require(`glob`);a=e.__toESM(a);let o=require(`fs`),s=require(`@tailwindcss/vite`);s=e.__toESM(s);let c=require(`module`),l=require(`url`),u=require(`vite`);var d=typeof __filename==`string`?__filename:(0,l.fileURLToPath)({}.url),f=i.default.dirname(d),p=process.cwd(),m=(0,c.createRequire)(d),h=i.default.resolve(f,`../../`),g=i.default.resolve(f,`../`),_=i.default.resolve(h,`./fe/frontend`),v=i.default.resolve(p,`.`),y=i.default.resolve(v,`./frontend`),b=e=>i.default.dirname(m.resolve(`${e}/package.json`)),x=i.default.join(v,`./node_modules/.tc/frontend-entries`);function S(){n.logWhite(`frameFEPath: `+_),n.logWhite(`runFEPath: `+y);let e=[_,y].reduce((e,n)=>{let r=[`js`,`jsx`,`ts`,`tsx`].map(e=>t.resolve(n,`/**`,`/*.`+e)),i=a.sync(r).filter(e=>e.includes(`.entry.`)).filter(e=>!e.includes(`.d.ts`));return[...e,...i]},[]),r={};if(!e.length)return r;let s;for(let n=0;n<e.length;n++){let c=e[n],l=i.default.resolve(c,`../`),u=a.sync(t.resolve(l,`*.html`))[0],d=l.split(i.default.sep).at(-1),f=c.startsWith(_+i.default.sep)?i.default.join(x,`${d}.html`):void 0;if(!u||f){s||=(0,o.readFileSync)(i.default.resolve(g,`./app/view/entry.tpl`),`utf-8`);let e=f?i.default.relative(i.default.dirname(f),c).split(i.default.sep).join(`/`):c.split(i.default.sep).at(-1),t=s.replace(`<!-- {{InsertScript}} -->`,`<script type="module" src="./${e}"><\/script>`),n=f??i.default.join(l,d+`.html`);(0,o.mkdirSync)(i.default.dirname(n),{recursive:!0}),(0,o.writeFileSync)(n,t),r[d]=n}else{let e=i.default.basename(u,`.html`);r[e]=i.default.resolve(p,u)}}return r}function C(){let e=r.buildFESharedState.options.output??`frame`;return e!==`frame`&&n.logRed(`Please pay attention to the build output.`),e===`run`?i.default.join(v,`./app/public/dist`):typeof e==`function`?e():i.default.join(g,`./app/public/dist`)}var w=async e=>{let t=(await import(`chokidar`)).watch(y,{ignored:/(^|[\/\\])\../,persistent:!0,ignoreInitial:!0}),r=!1;t.on(`change`,async t=>{if(!r){r=!0,n.logYellow(`changed: ${t}`);try{await e?.()}catch(e){n.logRed(e)}finally{r=!1}}}),n.logYellow(`watching ${y}/...`)};function T(e=`.html`){let t=[...new Set(Array.isArray(e)?e:[e])];return{name:`flatten-html`,apply:`build`,closeBundle(){let e=C();if(!(0,o.existsSync)(e))return;let r=a.sync(`**/*.html`,{cwd:e,dot:!0});for(let n of r){let r=i.default.join(e,n),a=i.default.basename(n,`.html`),s=`.entry`;a.indexOf(s)===-1&&(a+=s);for(let n of t){let t=a+n,s=i.default.join(e,t);r!==s&&(0,o.copyFileSync)(r,s)}t.some(t=>r===i.default.join(e,a+t))||(0,o.unlinkSync)(r)}let s=[...new Set(r.map(e=>i.default.dirname(e)))].sort().reverse(),c=e=>{if(!((0,o.existsSync)(e)?(0,o.readdirSync)(e):[1]).length){(0,o.rmdirSync)(e);let t=e.split(i.default.sep).slice(0,-1);t.length&&c(t.join(i.default.sep))}};for(let t of s)t&&t!==`.`&&c(i.default.join(e,t));let l=t.flatMap(t=>a.sync(`**/*`+t,{cwd:e,dot:!0}));for(let e of l)n.logYellow(`final file path -----> `+e)}}}function E(e){let t=[``,`.ts`,`.tsx`,`.js`,`.jsx`];return e.reduce((e,[n,r,a=y])=>{let s=t.map(e=>i.default.resolve(a,r+e)).find(e=>(0,o.existsSync)(e)),c=i.default.resolve(f,`./defaultAlias`);return s&&(c=s),e[n]=c,e},{})}var D=(...e)=>new RegExp(e.join(`[\\/]`)),O=e=>`_${e}_tcC`,k=async(e,t)=>{try{await(0,u.build)({configFile:!1,base:`/dist`,plugins:[(await import(`@vitejs/plugin-react`)).default(),T([`.tpl`,`.html`]),(0,s.default)()],build:{outDir:C(),emptyOutDir:!0,sourcemap:t===`dev`?`inline`:`hidden`,rollupOptions:{input:e,output:{codeSplitting:{groups:[{name:O(`__nm`),test:D(`node_modules`),maxSize:5e5,minShareCount:2,priority:1},{name:O(`r`),test:D(`node_modules`,`react`),minShareCount:2,maxSize:5e5,priority:5},{name:O(`r-d`),test:D(`node_modules`,`react-dom`),minShareCount:2,maxSize:2e5,priority:10},{name:O(`r-r-d`),test:D(`node_modules`,`react-router-dom`),minShareCount:2,maxSize:5e5,priority:10},{name:O(`ajv`),test:D(`node_modules`,`ajv`),minShareCount:2,maxSize:2e5,priority:10},{name:O(`ui-lib`),test:D(`components`),minShareCount:2,maxSize:2e5,priority:5},{name:O(`ui-f-lib`),test:D(`components`,`.*?[Ff]orm.*?`),minShareCount:2,maxSize:5e4,priority:10}]}}}},resolve:{alias:[{find:`react`,replacement:b(`react`)},{find:`react-dom`,replacement:b(`react-dom`)},{find:/^vite$/,replacement:b(`vite`)},{find:/^vite\/modulepreload-polyfill$/,replacement:i.default.resolve(f,`./modulepreload-polyfill`)},{find:`@tc/ui-react`,replacement:i.default.resolve(f,`../../fe/packages/ui/react/`)},...Object.entries(E([[`@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/dash/customRoutes`,`./extended/dash/customRoutes`]])).map(([e,t])=>({find:e,replacement:t}))]}}),n.logJoinColorized(n.colorize(`builded`,`green`),n.colorize(` -> `,`white`),n.colorize(`time: `,`cyan`),n.colorize(new Date,`pink`))}catch(e){if(n.logRed(e),t!==`dev`)throw e}};exports.VBuildFE=k,exports.entries=S,exports.outDir=C,exports.watchFiles=w;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../_virtual/_rolldown/runtime.js`),t=require(`../packages/utils/path.js`);require(`../packages/utils/index.js`);const n=require(`../packages/common/log/index.js`),r=require(`./state.js`);let i=require(`path`);i=e.__toESM(i);let a=require(`glob`);a=e.__toESM(a);let o=require(`fs`),s=require(`@tailwindcss/vite`);s=e.__toESM(s);let c=require(`module`),l=require(`url`),u=require(`vite`);var d=typeof __filename==`string`?__filename:(0,l.fileURLToPath)({}.url),f=i.default.dirname(d),p=process.cwd(),m=(0,c.createRequire)(d),h=i.default.resolve(f,`../../`),g=i.default.resolve(f,`../`),_=i.default.resolve(h,`./fe/frontend`),v=i.default.resolve(p,`.`),y=i.default.resolve(v,`./frontend`),b=e=>m.resolve(e),x=e=>i.default.dirname(m.resolve(`${e}/package.json`)),S=i.default.join(v,`./node_modules/.tc/frontend-entries`);function C(){n.logWhite(`frameFEPath: `+_),n.logWhite(`runFEPath: `+y);let e=[_,y].reduce((e,n)=>{let r=[`js`,`jsx`,`ts`,`tsx`].map(e=>t.resolve(n,`/**`,`/*.`+e)),i=a.sync(r).filter(e=>e.includes(`.entry.`)).filter(e=>!e.includes(`.d.ts`));return[...e,...i]},[]),r={};if(!e.length)return r;let s;for(let n=0;n<e.length;n++){let c=e[n],l=i.default.resolve(c,`../`),u=a.sync(t.resolve(l,`*.html`))[0],d=l.split(i.default.sep).at(-1),f=c.startsWith(_+i.default.sep)?i.default.join(S,`${d}.html`):void 0;if(!u||f){s||=(0,o.readFileSync)(i.default.resolve(g,`./app/view/entry.tpl`),`utf-8`);let e=f?i.default.relative(i.default.dirname(f),c).split(i.default.sep).join(`/`):c.split(i.default.sep).at(-1),t=s.replace(`<!-- {{InsertScript}} -->`,`<script type="module" src="./${e}"><\/script>`),n=f??i.default.join(l,d+`.html`);(0,o.mkdirSync)(i.default.dirname(n),{recursive:!0}),(0,o.writeFileSync)(n,t),r[d]=n}else{let e=i.default.basename(u,`.html`);r[e]=i.default.resolve(p,u)}}return r}function w(){let e=r.buildFESharedState.options.output??`frame`;return e!==`frame`&&n.logRed(`Please pay attention to the build output.`),e===`run`?i.default.join(v,`./app/public/dist`):typeof e==`function`?e():i.default.join(g,`./app/public/dist`)}var T=async e=>{let t=(await import(`chokidar`)).watch(y,{ignored:/(^|[\/\\])\../,persistent:!0,ignoreInitial:!0}),r=!1;t.on(`change`,async t=>{if(!r){r=!0,n.logYellow(`changed: ${t}`);try{await e?.()}catch(e){n.logRed(e)}finally{r=!1}}}),n.logYellow(`watching ${y}/...`)};function E(e=`.html`){let t=[...new Set(Array.isArray(e)?e:[e])];return{name:`flatten-html`,apply:`build`,closeBundle(){let e=w();if(!(0,o.existsSync)(e))return;let r=a.sync(`**/*.html`,{cwd:e,dot:!0});for(let n of r){let r=i.default.join(e,n),a=i.default.basename(n,`.html`),s=`.entry`;a.indexOf(s)===-1&&(a+=s);for(let n of t){let t=a+n,s=i.default.join(e,t);r!==s&&(0,o.copyFileSync)(r,s)}t.some(t=>r===i.default.join(e,a+t))||(0,o.unlinkSync)(r)}let s=[...new Set(r.map(e=>i.default.dirname(e)))].sort().reverse(),c=e=>{if(!((0,o.existsSync)(e)?(0,o.readdirSync)(e):[1]).length){(0,o.rmdirSync)(e);let t=e.split(i.default.sep).slice(0,-1);t.length&&c(t.join(i.default.sep))}};for(let t of s)t&&t!==`.`&&c(i.default.join(e,t));let l=t.flatMap(t=>a.sync(`**/*`+t,{cwd:e,dot:!0}));for(let e of l)n.logYellow(`final file path -----> `+e)}}}function D(e){let t=[``,`.ts`,`.tsx`,`.js`,`.jsx`];return e.reduce((e,[n,r,a=y])=>{let s=t.map(e=>i.default.resolve(a,r+e)).find(e=>(0,o.existsSync)(e)),c=i.default.resolve(f,`./defaultAlias`);return s&&(c=s),e[n]=c,e},{})}var O=(...e)=>new RegExp(e.join(`[\\/]`)),k=e=>`_${e}_tcC`,A=async(e,t)=>{try{await(0,u.build)({configFile:!1,base:`/dist`,plugins:[(await import(`@vitejs/plugin-react`)).default(),E([`.tpl`,`.html`]),(0,s.default)()],build:{outDir:w(),emptyOutDir:!0,sourcemap:t===`dev`?`inline`:`hidden`,rollupOptions:{input:e,output:{codeSplitting:{groups:[{name:k(`__nm`),test:O(`node_modules`),maxSize:5e5,minShareCount:2,priority:1},{name:k(`r`),test:O(`node_modules`,`react`),minShareCount:2,maxSize:5e5,priority:5},{name:k(`r-d`),test:O(`node_modules`,`react-dom`),minShareCount:2,maxSize:2e5,priority:10},{name:k(`r-r-d`),test:O(`node_modules`,`react-router-dom`),minShareCount:2,maxSize:5e5,priority:10},{name:k(`ajv`),test:O(`node_modules`,`ajv`),minShareCount:2,maxSize:2e5,priority:10},{name:k(`ui-lib`),test:O(`components`),minShareCount:2,maxSize:2e5,priority:5},{name:k(`ui-f-lib`),test:O(`components`,`.*?[Ff]orm.*?`),minShareCount:2,maxSize:5e4,priority:10}]}}}},resolve:{alias:{"react/jsx-runtime":b(`react/jsx-runtime`),"react/jsx-dev-runtime":b(`react/jsx-dev-runtime`),"react-dom/client":b(`react-dom/client`),"vite/modulepreload-polyfill":i.default.resolve(f,`./modulepreload-polyfill`),react:x(`react`),"react-dom":x(`react-dom`),vite:x(`vite`),"@tc/ui-react":i.default.resolve(f,`../../fe/packages/ui/react/`),...D([[`@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/dash/customRoutes`,`./extended/dash/customRoutes`]])}}}),n.logJoinColorized(n.colorize(`builded`,`green`),n.colorize(` -> `,`white`),n.colorize(`time: `,`cyan`),n.colorize(new Date,`pink`))}catch(e){if(n.logRed(e),t!==`dev`)throw e}};exports.VBuildFE=A,exports.entries=C,exports.outDir=w,exports.watchFiles=T;
@@ -10,8 +10,8 @@ import { createRequire as v } from "module";
10
10
  import { fileURLToPath as y } from "url";
11
11
  import { build as b } from "vite";
12
12
  //#region bundler/utils.ts
13
- var x = typeof __filename == "string" ? __filename : y(import.meta.url), S = s.dirname(x), C = process.cwd(), w = v(x), T = s.resolve(S, "../../"), E = s.resolve(S, "../"), D = s.resolve(T, "./fe/frontend"), O = s.resolve(C, "."), k = s.resolve(O, "./frontend"), A = (e) => s.dirname(w.resolve(`${e}/package.json`)), j = s.join(O, "./node_modules/.tc/frontend-entries");
14
- function M() {
13
+ var x = typeof __filename == "string" ? __filename : y(import.meta.url), S = s.dirname(x), C = process.cwd(), w = v(x), T = s.resolve(S, "../../"), E = s.resolve(S, "../"), D = s.resolve(T, "./fe/frontend"), O = s.resolve(C, "."), k = s.resolve(O, "./frontend"), A = (e) => w.resolve(e), j = (e) => s.dirname(w.resolve(`${e}/package.json`)), M = s.join(O, "./node_modules/.tc/frontend-entries");
14
+ function N() {
15
15
  i("frameFEPath: " + D), i("runFEPath: " + k);
16
16
  let t = [D, k].reduce((t, n) => {
17
17
  let r = [
@@ -25,7 +25,7 @@ function M() {
25
25
  if (!t.length) return n;
26
26
  let r;
27
27
  for (let i = 0; i < t.length; i++) {
28
- let a = t[i], o = s.resolve(a, "../"), l = c.sync(e(o, "*.html"))[0], u = o.split(s.sep).at(-1), p = a.startsWith(D + s.sep) ? s.join(j, `${u}.html`) : void 0;
28
+ let a = t[i], o = s.resolve(a, "../"), l = c.sync(e(o, "*.html"))[0], u = o.split(s.sep).at(-1), p = a.startsWith(D + s.sep) ? s.join(M, `${u}.html`) : void 0;
29
29
  if (!l || p) {
30
30
  r ||= f(s.resolve(E, "./app/view/entry.tpl"), "utf-8");
31
31
  let e = p ? s.relative(s.dirname(p), a).split(s.sep).join("/") : a.split(s.sep).at(-1), t = r.replace("<!-- {{InsertScript}} -->", `<script type="module" src="./${e}"><\/script>`), i = p ?? s.join(o, u + ".html");
@@ -37,11 +37,11 @@ function M() {
37
37
  }
38
38
  return n;
39
39
  }
40
- function N() {
40
+ function P() {
41
41
  let e = o.options.output ?? "frame";
42
42
  return e !== "frame" && r("Please pay attention to the build output."), e === "run" ? s.join(O, "./app/public/dist") : typeof e == "function" ? e() : s.join(E, "./app/public/dist");
43
43
  }
44
- var P = async (e) => {
44
+ var F = async (e) => {
45
45
  let t = (await import("chokidar")).watch(k, {
46
46
  ignored: /(^|[\/\\])\../,
47
47
  persistent: !0,
@@ -60,13 +60,13 @@ var P = async (e) => {
60
60
  }
61
61
  }), a(`watching ${k}/...`);
62
62
  };
63
- function F(e = ".html") {
63
+ function I(e = ".html") {
64
64
  let t = [...new Set(Array.isArray(e) ? e : [e])];
65
65
  return {
66
66
  name: "flatten-html",
67
67
  apply: "build",
68
68
  closeBundle() {
69
- let e = N();
69
+ let e = P();
70
70
  if (!u(e)) return;
71
71
  let n = c.sync("**/*.html", {
72
72
  cwd: e,
@@ -97,7 +97,7 @@ function F(e = ".html") {
97
97
  }
98
98
  };
99
99
  }
100
- function I(e) {
100
+ function L(e) {
101
101
  let t = [
102
102
  "",
103
103
  ".ts",
@@ -110,68 +110,68 @@ function I(e) {
110
110
  return a && (o = a), e[n] = o, e;
111
111
  }, {});
112
112
  }
113
- var L = (...e) => new RegExp(e.join("[\\/]")), R = (e) => `_${e}_tcC`, z = async (e, i) => {
113
+ var R = (...e) => new RegExp(e.join("[\\/]")), z = (e) => `_${e}_tcC`, B = async (e, i) => {
114
114
  try {
115
115
  await b({
116
116
  configFile: !1,
117
117
  base: "/dist",
118
118
  plugins: [
119
119
  (await import("@vitejs/plugin-react")).default(),
120
- F([".tpl", ".html"]),
120
+ I([".tpl", ".html"]),
121
121
  _()
122
122
  ],
123
123
  build: {
124
- outDir: N(),
124
+ outDir: P(),
125
125
  emptyOutDir: !0,
126
126
  sourcemap: i === "dev" ? "inline" : "hidden",
127
127
  rollupOptions: {
128
128
  input: e,
129
129
  output: { codeSplitting: { groups: [
130
130
  {
131
- name: R("__nm"),
132
- test: L("node_modules"),
131
+ name: z("__nm"),
132
+ test: R("node_modules"),
133
133
  maxSize: 5e5,
134
134
  minShareCount: 2,
135
135
  priority: 1
136
136
  },
137
137
  {
138
- name: R("r"),
139
- test: L("node_modules", "react"),
138
+ name: z("r"),
139
+ test: R("node_modules", "react"),
140
140
  minShareCount: 2,
141
141
  maxSize: 5e5,
142
142
  priority: 5
143
143
  },
144
144
  {
145
- name: R("r-d"),
146
- test: L("node_modules", "react-dom"),
145
+ name: z("r-d"),
146
+ test: R("node_modules", "react-dom"),
147
147
  minShareCount: 2,
148
148
  maxSize: 2e5,
149
149
  priority: 10
150
150
  },
151
151
  {
152
- name: R("r-r-d"),
153
- test: L("node_modules", "react-router-dom"),
152
+ name: z("r-r-d"),
153
+ test: R("node_modules", "react-router-dom"),
154
154
  minShareCount: 2,
155
155
  maxSize: 5e5,
156
156
  priority: 10
157
157
  },
158
158
  {
159
- name: R("ajv"),
160
- test: L("node_modules", "ajv"),
159
+ name: z("ajv"),
160
+ test: R("node_modules", "ajv"),
161
161
  minShareCount: 2,
162
162
  maxSize: 2e5,
163
163
  priority: 10
164
164
  },
165
165
  {
166
- name: R("ui-lib"),
167
- test: L("components"),
166
+ name: z("ui-lib"),
167
+ test: R("components"),
168
168
  minShareCount: 2,
169
169
  maxSize: 2e5,
170
170
  priority: 5
171
171
  },
172
172
  {
173
- name: R("ui-f-lib"),
174
- test: L("components", ".*?[Ff]orm.*?"),
173
+ name: z("ui-f-lib"),
174
+ test: R("components", ".*?[Ff]orm.*?"),
175
175
  minShareCount: 2,
176
176
  maxSize: 5e4,
177
177
  priority: 10
@@ -179,28 +179,16 @@ var L = (...e) => new RegExp(e.join("[\\/]")), R = (e) => `_${e}_tcC`, z = async
179
179
  ] } }
180
180
  }
181
181
  },
182
- resolve: { alias: [
183
- {
184
- find: "react",
185
- replacement: A("react")
186
- },
187
- {
188
- find: "react-dom",
189
- replacement: A("react-dom")
190
- },
191
- {
192
- find: /^vite$/,
193
- replacement: A("vite")
194
- },
195
- {
196
- find: /^vite\/modulepreload-polyfill$/,
197
- replacement: s.resolve(S, "./modulepreload-polyfill")
198
- },
199
- {
200
- find: "@tc/ui-react",
201
- replacement: s.resolve(S, "../../fe/packages/ui/react/")
202
- },
203
- ...Object.entries(I([
182
+ resolve: { alias: {
183
+ "react/jsx-runtime": A("react/jsx-runtime"),
184
+ "react/jsx-dev-runtime": A("react/jsx-dev-runtime"),
185
+ "react-dom/client": A("react-dom/client"),
186
+ "vite/modulepreload-polyfill": s.resolve(S, "./modulepreload-polyfill"),
187
+ react: j("react"),
188
+ "react-dom": j("react-dom"),
189
+ vite: j("vite"),
190
+ "@tc/ui-react": s.resolve(S, "../../fe/packages/ui/react/"),
191
+ ...L([
204
192
  [
205
193
  "@tc/scalability/SchemaForm/frameData",
206
194
  "./extended/SchemaForm/data",
@@ -209,15 +197,12 @@ var L = (...e) => new RegExp(e.join("[\\/]")), R = (e) => `_${e}_tcC`, z = async
209
197
  ["@tc/scalability/SchemaForm/data", "./extended/SchemaForm/data"],
210
198
  ["@tc/scalability/SchemaPage/CallCom/data", "./extended/SchemaPage/CallCom/data"],
211
199
  ["@tc/scalability/dash/customRoutes", "./extended/dash/customRoutes"]
212
- ])).map(([e, t]) => ({
213
- find: e,
214
- replacement: t
215
- }))
216
- ] }
200
+ ])
201
+ } }
217
202
  }), n(t("builded", "green"), t(" -> ", "white"), t("time: ", "cyan"), t(/* @__PURE__ */ new Date(), "pink"));
218
203
  } catch (e) {
219
204
  if (r(e), i !== "dev") throw e;
220
205
  }
221
206
  };
222
207
  //#endregion
223
- export { z as VBuildFE, M as entries, N as outDir, P as watchFiles };
208
+ export { B as VBuildFE, N as entries, P as outDir, F as watchFiles };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@_tc/template-core",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "A full-stack TypeScript admin framework powered by Koa, React, and Vite - monorepo root",
5
5
  "types": "./types/index.d.ts",
6
6
  "exports": {