@vtj/coder 0.12.11 → 0.12.13
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.cjs +14 -14
- package/dist/index.mjs +24 -23
- package/package.json +2 -2
- package/types/version.d.ts +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("@vtj/base"),T=require("prettier/standalone"),Z=require("prettier/plugins/html"),K=require("prettier/plugins/babel"),ee=require("prettier/plugins/postcss"),te=require("prettier/plugins/estree");function F(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const s in t)if(s!=="default"){const n=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,n.get?n:{enumerable:!0,get:()=>t[s]})}}return e.default=t,Object.freeze(e)}const se=F(Z),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("@vtj/base"),T=require("prettier/standalone"),Z=require("prettier/plugins/html"),K=require("prettier/plugins/babel"),ee=require("prettier/plugins/postcss"),te=require("prettier/plugins/estree");function F(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const s in t)if(s!=="default"){const n=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,n.get?n:{enumerable:!0,get:()=>t[s]})}}return e.default=t,Object.freeze(e)}const se=F(Z),q=F(K),D=F(ee),U=F(te);/**!
|
|
2
2
|
* Copyright (c) 2025, VTJ.PRO All rights reserved.
|
|
3
3
|
* @name @vtj/coder
|
|
4
4
|
* @author CHC chenhuachun1549@dingtalk.com
|
|
5
|
-
* @version 0.12.
|
|
5
|
+
* @version 0.12.13
|
|
6
6
|
* @license <a href="https://vtj.pro/license.html">MIT License</a>
|
|
7
|
-
*/const ne="0.12.
|
|
7
|
+
*/const ne="0.12.13";/**!
|
|
8
8
|
* Copyright (c) 2025, VTJ.PRO All rights reserved.
|
|
9
9
|
* @name @vtj/core
|
|
10
10
|
* @author CHC chenhuachun1549@dingtalk.com
|
|
11
|
-
* @version 0.12.
|
|
11
|
+
* @version 0.12.13
|
|
12
12
|
* @license <a href="https://vtj.pro/license.html">MIT License</a>
|
|
13
|
-
*/const re=["slot","template","component","img","div","p","h1","h2","h3","span","a"];m.mitt();const B={arrowParens:"always",bracketSpacing:!0,bracketSameLine:!0,endOfLine:"lf",htmlWhitespaceSensitivity:"css",insertPragma:!1,jsxBracketSameLine:!0,jsxSingleQuote:!0,printWidth:80,proseWrap:"preserve",quoteProps:"as-needed",requirePragma:!1,semi:!0,singleQuote:!0,tabWidth:2,trailingComma:"none",useTabs:!1,vueIndentScriptAndStyle:!0};async function R(t,e){return e?t:await T.format(t,{parser:"vue",...B,plugins:[se,
|
|
13
|
+
*/const re=["slot","template","component","img","div","p","h1","h2","h3","span","a"];m.mitt();const B={arrowParens:"always",bracketSpacing:!0,bracketSameLine:!0,endOfLine:"lf",htmlWhitespaceSensitivity:"css",insertPragma:!1,jsxBracketSameLine:!0,jsxSingleQuote:!0,printWidth:80,proseWrap:"preserve",quoteProps:"as-needed",requirePragma:!1,semi:!0,singleQuote:!0,tabWidth:2,trailingComma:"none",useTabs:!1,vueIndentScriptAndStyle:!0};async function R(t,e){return e?t:await T.format(t,{parser:"vue",...B,plugins:[se,q,U,D]})}async function V(t,e){if(e)return t;try{return(await T.format(t,{parser:"babel-ts",...B,plugins:[q,U]})).replace(/;\n$/gi,"")}catch(s){return console.warn(s),t}}async function N(t,e){return e?t:T.format(t,{parser:"scss",...B,plugins:[D]})}function k(t){return t&&t.type==="JSExpression"}function I(t){return typeof t=="object"&&t&&t.type==="JSFunction"}function b(t){return k(t)||I(t)}function M(t){return t.replace(new RegExp("this.","g"),"")}function J(t){return t.replace(/this\.context\??\./g,"")}function d(t,e=!0,s=!0,n=[]){let r=b(t)?t.value.trim().replace(/\"/g,"'").replace(/;$/,""):e?JSON.stringify(t):t;return r=w(r,n),s?M(J(r)):J(r)}function w(t,e=[]){let s=t;for(const n of e)s=s.replace(new RegExp(`this.${n}.value`,"g"),`this.${n}`);return s}function H(t){let e=t.trim().replace(/;$/,"");if(e=/^\((\(|async|function)/.test(e)?e.substring(1,e.length-1):e,e.startsWith("{"))return e;if(e.startsWith("async function"))e=e.replace(/^async function/,"async");else if(e.startsWith("function"))e=e.replace(/^function/,"");else{const r=/^(async\s)?\([\w]*\)\s+\=\>\s([\w\W]+)/,i=e.match(r);i&&i[2]&&(i[2].startsWith("{")||(e=e.replace(i[2],`{ return ${i[2]} }`))),e=e.replace("=>","")}return e}function ie(t={}){return Object.entries(t).map(([e,s])=>`"${e}": ${d(s)}`)}function Q(t={},e=!1){const s=Object.keys(t);return e?s.map(n=>"."+n):s}function oe(t){let e="";for(var s in t)if(t.hasOwnProperty(s)){var n=t[s];e+=s+": "+n+";"}return e}function ae(t=[],e=[]){return t.filter(s=>!e.includes(s))}class ce{constructor(e,s){this.dsl=e,this.dependencies=s,this.libraryRegex=this.collectLibrary(),this.walk(e),this.walkNodes(e),this.members=this.getLibraryMember()}imports={};context={};style={};members=[];urlSchemas={};blockPlugins={};libraryRegex=[];collectLibrary(){return this.dependencies.filter(e=>!!e.library).map(e=>new RegExp(`(this.\\$libs.${e.library}.([\\w]+))`,"g"))}collectImport(e){const s=e.split(".");if(s.length===4){const n=s.pop(),r=s.join(".")+".",i=s.pop();if(n&&i){const o=this.dependencies.find(a=>a.library===i)?.package;o&&(this.imports[o]||(this.imports[o]=new Set)).add(n)}return{name:n,path:r,library:i}}return null}replaceLibraryPath(e){console.log("replaceLibraryPath",e);const{libraryRegex:s}=this;let n=e.value;for(const r of s){const i=e.value?.match(r)||[];for(const o of i){const a=this.collectImport(o);if(a){const f=a.path.replace(/\$/g,"\\$");n=n.replace(new RegExp(f,"g"),"")}}}return n}walk(e){const s=n=>{if(!n||typeof n!="object")return;if(Array.isArray(n)){for(let i of n)s(i);return}const r=Object.values(n);for(const i of r)b(i)?i.value=this.replaceLibraryPath(i):s(i)};s(e)}getLibraryMember(e=[]){let s=[...e];const n={...this.imports};delete n["uni-h5"],delete n["@dcloudio/uni-h5"],delete n["uni-ui"],delete n["@dcloudio/uni-ui"];for(const r of Object.values(n))s=s.concat(Array.from(r));return m.dedupArray(s)}collectContext(e,s){const n=new Set(s?.id?this.context[s.id]:[]),r=(e.directives||[]).find(a=>a.name==="vFor");let i=new Set(Array.from(n));if(r){const{item:a="item",index:f="index"}=r.iterator||{};i=new Set([a,f,...Array.from(i)])}const o=e.slot;if(o){const a=typeof o=="string"?[]:o.params||[],f=a.length?a:[`scope_${s?.id}`];i=new Set([...f,...Array.from(i)])}this.context[e.id]=i}collectStyle(e){e.id&&e.props?.style&&Object.keys(e.props.style).length&&!b(e.props.style)&&(this.style[`.${e.name}_${e.id}`]=e.props.style)}collectUrlSchema(e){typeof e.from=="object"&&e.from.type==="UrlSchema"&&(this.urlSchemas[e.name]=e.from)}collectBlockPlugin(e){typeof e.from=="object"&&e.from.type==="Plugin"&&(this.blockPlugins[e.name]=e.from)}walkNodes(e){const s=(n,r)=>{this.collectContext(n,r),this.collectStyle(n),this.collectUrlSchema(n),this.collectBlockPlugin(n),Array.isArray(n.children)&&n.children.forEach(i=>s(i,n))};Array.isArray(e.nodes)&&e.nodes.forEach(n=>s(n))}}function le(t={}){return Object.entries(t).map(([e,s])=>{const n=d(s,!1);return`${e}:${n}`})}function ue(t=[]){return t.map(e=>`${e.name}: {
|
|
14
14
|
from: '${e.from||e.name}',
|
|
15
15
|
default: ${d(e.default,!0,!1)}
|
|
16
16
|
}`)}function pe(t=[]){const e=s=>s?`[${m.toArray(s).map(i=>i.replace(/\'|\"/gi,"")).join(",")}]`:void 0;return t.map(s=>typeof s=="string"?`${s}: {}`:(b(s.default)&&!s.default.value&&(s.default.value="undefined"),`${s.name}: {
|
|
@@ -26,21 +26,21 @@
|
|
|
26
26
|
return await mock.apply(this, args);
|
|
27
27
|
}`}else{const s=I(e.transform)&&e.transform.value||"(res) => res";return`async ${e.name}(...args:any[]) {
|
|
28
28
|
return await this.provider.apis['${e.ref}'].apply(this, args).then(${s});
|
|
29
|
-
}`}})}const de=["img","input","br","hr","area","base","col","embed","link","meta","param","source","track","wbr"],
|
|
30
|
-
`),Object.assign(o,S?.methods||{}),
|
|
31
|
-
`+_.trim():""}</${x}>`)}const p=Oe(
|
|
32
|
-
`),r?.id);i.push(p)}),{nodes:i,methods:o,directives:ye(f),components:m.dedupArray(
|
|
29
|
+
}`}})}const de=["img","input","br","hr","area","base","col","embed","link","meta","param","source","track","wbr"],L=["vIf","vElseIf","vElse","vShow","vModel","vFor","vBind","vHtml"];function z(t,e,s=[],n={},r){const i=[];let o={},a=[];const f=[];let l=[];return ge(t).forEach(c=>{const g=[];for(const h of c.children){let{id:y,name:$,invisible:j,from:v}=h;if(j)continue;const C=ve($,e,v);C&&a.push(C),G(v)&&l.push({id:v.id,name:$});const{props:P,events:O,handlers:E}=ke(h,y,h.props,h.events,n,s),W=we(h.directives,s,f).join(" "),S=h.children?Pe(h.children,s,e,n,h):"";Object.assign(o,E);let _="";typeof S=="string"?_=S:(_=(S?.nodes||[]).join(`
|
|
30
|
+
`),Object.assign(o,S?.methods||{}),a=a.concat(S?.components||[]),l=l.concat(S?.importBlocks||[]));const x=["@dcloudio/uni-h5","@dcloudio/uni-ui"].includes(v||e.get($)?.package)?m.kebabCase($):X(v)||Y(v)?"component":$;g.push(de.includes(x)?`<${x} ${W} ${P} ${O} />`:`<${x} ${W} ${P} ${O}>${_?`
|
|
31
|
+
`+_.trim():""}</${x}>`)}const p=Oe(c.slot,g.join(`
|
|
32
|
+
`),r?.id);i.push(p)}),{nodes:i,methods:o,directives:ye(f),components:m.dedupArray(a),importBlocks:m.dedupArray(l,"id")}}function ye(t){return m.dedupArray(t).map(e=>`${e.startsWith("v")?e.substring(1):e}:${e}`)}function ge(t=[]){const e=new Map;for(const s of t){const n=typeof s.slot=="string"?s.slot:s.slot?.name,r=e.get(n);r?r.children.push(s):e.set(n,{slot:s.slot,children:[s]})}return e}function ve(t,e,s){if(re.includes(t))return null;const n=e.get(t);if(n&&n.alias){const r=n.parent?`${n.parent}.${n.alias}`:n.alias;return`${t}: ${r}`}return G(s)||n?t:null}function G(t){return!!t&&typeof t=="object"&&t.type==="Schema"}function X(t){return typeof t=="object"&&t.type==="UrlSchema"}function Y(t){return typeof t=="object"&&t.type==="Plugin"}function $e(t,e,s=[]){return t==="style"?b(e)?`:style="${d({...e,value:w(e.value,s)})}"`:"":t==="__class"&&b(e)?`:class="${d({...e,value:w(e.value,s)})}"`:typeof e=="string"?`${t}="${e}"`:b(e)?`:${t}="${d({...e,value:w(e.value,s)})}"`:m.isPlainObject(e)?`:${t}='{${ie(e).join(", ")}}'`:`:${t}='${JSON.stringify(e)}'`}function be(t,e={},s=[]){if(!!Object.keys(e.style||{}).length){const i=`${t.name}_${t.id}`;e.class?typeof e.class=="string"?e.class=[e.class,i].join(" "):(e.__class=e.class,e.class=i):e.class=i,b(e.style)||delete e.style}const r=t.from;return(X(r)||Y(r))&&(e.is={type:"JSExpression",value:t.name}),Object.entries(e).map(([i,o])=>$e(i,o,s))}function je(t,e,s,n,r){const i=Q(e.modifiers,!0);return r?`@${t}${i.join("")}="${s}"`:n&&n.length>0?`@${t}${i.join("")}="(...args:any[]) => ${s}"`:`@${t}${i.join("")}="${s}"`}function Se(t,e={},s={}){const n={},r=Array.from(s[t]||new Set([])),i=r.length?`({${r.join(", ")}}, args)`:"";return{binders:Object.entries(e).map(([a,f])=>{const l=f.handler.value.startsWith("this."),u=l?M(f.handler.value):`${m.camelCase(a)}_${t}${i}`;return l||(n[u]=r.length?{type:"JSFunction",value:`{
|
|
33
33
|
return (${f.handler.value}).apply(this, args);
|
|
34
|
-
}`}:f.handler),je(
|
|
34
|
+
}`}:f.handler),je(a,f,u,r,l)}),handlers:n}}function ke(t,e,s={},n={},r={},i){const{binders:o,handlers:a}=Se(e,n,r);return{props:be(t,s,i).join(" "),handlers:a,binders:o,events:o.join(" ")}}function we(t=[],e=[],s=[]){const n=[],{vIf:r,vElse:i,vElseIf:o,vShow:a,vModels:f,vFor:l,vBind:u,vHtml:c,customDirectives:g}=Ce(t);if(r&&n.push(`v-if="${d(r.value,!0,!0,e)}"`),o&&n.push(`v-else-if="${d(o.value,!0,!0,e)}"`),i&&n.push("v-else"),a&&n.push(`v-show="${d(a.value,!0,!0,e)}"`),u&&n.push(`v-bind="${d(u.value,!0,!0,e)}"`),f.forEach(p=>{const h=Q(p.modifiers,!0),y=p.arg?k(p.arg)?`:[${d(p.arg,!0,!0,e)}]`:`:${p.arg}`:"";n.push(`v-model${y}${h}="${d(p.value,!0,!0,e)}"`)}),l){const{item:p,index:h}={item:"item",index:"index",...l.iterator};n.push(`v-for="(${p}, ${h}) in ${d(l.value,!0,!0,e)}"`)}return c&&n.push(`v-html="${d(c.value,!0,!0,e)}"`),g&&g.length&&g.forEach(p=>{if(!p.name)return;let h="",y="";k(p.name)?(y=d(p.name,!0,!0,e),s.push(y)):y=p.name;const $=y?.startsWith("v")?m.kebabCase(y):m.kebabCase("v-"+y);if(h+=$,p.arg&&(k(p.arg)?h+=`:[${d(p.name,!0,!0,e)}]`:h+=`:${p.arg}`),p.modifiers){const j=Object.keys(p.modifiers);j.length&&(h+=j.map(v=>"."+v))}p.value?n.push(`${h}="${d(p.value,!0,!0,e)}"`):n.push(h)}),n}function Ce(t=[]){const e=t.filter(c=>L.includes(c.name)),s=t.filter(c=>!L.includes(c.name)),n=e.find(c=>m.camelCase(c.name)==="vIf"),r=e.find(c=>m.camelCase(c.name)==="vElseIf"),i=e.find(c=>m.camelCase(c.name)==="vElse"),o=e.find(c=>m.camelCase(c.name)==="vFor"),a=e.find(c=>m.camelCase(c.name)==="vShow"),f=e.find(c=>m.camelCase(c.name)==="vBind"),l=e.find(c=>m.camelCase(c.name)==="vHtml"),u=e.filter(c=>m.camelCase(c.name)==="vModel");return{vIf:n,vElseIf:r,vElse:i,vFor:o,vShow:a,vModels:u,vBind:f,vHtml:l,customDirectives:s}}function Pe(t,e,s,n,r){return typeof t=="string"?t:k(t)?`{{ ${d(t,!1,!0,e)} }}`:Array.isArray(t)?z(t,s,e,n,r):""}function Oe(t,e,s){if(!t)return e;const n=typeof t=="string"?{name:t,params:[]}:{params:[],...t};return`<template ${`#${n.name}="${n.params?.length>0?`{${n.params?.join(",")}}`:`scope_${s}`}"`}>
|
|
35
35
|
${e}
|
|
36
|
-
</template>`}function Ee(t,e=[],s=[],n={},r="web"){const i=["@dcloudio/uni-h5","uni-h5","@dcloudio/uni-ui","uni-ui"],o={vue:["defineComponent","reactive"]},
|
|
36
|
+
</template>`}function Ee(t,e=[],s=[],n={},r="web"){const i=["@dcloudio/uni-h5","uni-h5","@dcloudio/uni-ui","uni-ui"],o={vue:["defineComponent","reactive"]},a=[];for(const l of e){const u=t.get(l.split(":")[0]);if(u&&u.package){const c=o[u.package]??(o[u.package]=[]),g=u.parent||(u.alias||"").split(".")[0]||u.name;c.push(g),r==="uniapp"&&i.includes(u.package)&&a.push(g)}}for(const[l,u]of Object.entries(n))(o[l]??(o[l]=[])).push(...Array.from(u)),r==="uniapp"&&i.includes(l)&&a.push(...Array.from(u));return{imports:Object.entries(o).filter(([l,u])=>r==="uniapp"?!i.includes(l)&&!!u.length:!!u.length).map(([l,u])=>`import { ${m.dedupArray(u).join(",")}} from '${l}';`).concat(s),uniComponents:a}}function _e(t={}){const e=[];for(const[s,n]of Object.entries(t))e.push(`
|
|
37
37
|
${s} {
|
|
38
38
|
${oe(n)}
|
|
39
39
|
}
|
|
40
40
|
`);return e.join(`
|
|
41
|
-
`)}function xe(t={}){const e=[];return Object.entries(t).forEach(([s,n])=>{e.push(`const ${s} = provider.defineUrlSchemaComponent('${n.url}');`)}),e}function Ae(t={}){const e=[];return Object.entries(t).forEach(([s,n])=>{e.push(`const ${s} = provider.definePluginComponent(${JSON.stringify(n)});`)}),e}function Ie(t,e,s="web"){const{dsl:n}=t,r=Object.keys(n.computed||{}),i=A(n.lifeCycles,r),o=A(n.computed,r),
|
|
41
|
+
`)}function xe(t={}){const e=[];return Object.entries(t).forEach(([s,n])=>{e.push(`const ${s} = provider.defineUrlSchemaComponent('${n.url}');`)}),e}function Ae(t={}){const e=[];return Object.entries(t).forEach(([s,n])=>{e.push(`const ${s} = provider.definePluginComponent(${JSON.stringify(n)});`)}),e}function Ie(t,e,s="web"){const{dsl:n}=t,r=Object.keys(n.computed||{}),i=A(n.lifeCycles,r),o=A(n.computed,r),a=me(n.watch,r),f=he(n.dataSources),{methods:l,nodes:u,components:c,importBlocks:g,directives:p}=z(n.nodes||[],e,r,t.context),h=[...o,...a.computed],y=A({...l,...n.methods||{}},r),$=g.map(E=>`import ${E.name} from './${E.id}.vue';`);let{imports:j,uniComponents:v}=Ee(e,c,$,t.imports,s);const C=Object.keys({...t.urlSchemas,...t.blockPlugins}),P=xe(t.urlSchemas),O=Ae(t.blockPlugins);return{id:n.id,version:n.__VERSION__,name:n.name,state:le(n.state).join(","),inject:ue(n.inject).join(","),props:pe(n.props).join(","),emits:fe(n.emits).join(","),watch:a.watches.join(","),lifeCycles:i.join(","),computed:h.join(","),methods:[...f,...y].join(","),imports:`
|
|
42
42
|
`+j.join(`
|
|
43
|
-
`),components:
|
|
43
|
+
`),components:ae(c,v).join(","),directives:p.join(","),returns:t.members.join(","),template:u.join(`
|
|
44
44
|
`),css:n.css||"",style:_e(t.style),urlSchemas:P.join(`
|
|
45
45
|
`),blockPlugins:O.join(`
|
|
46
46
|
`),asyncComponents:C.join(","),uniComponents:v,renderer:s==="uniapp"?"@vtj/uni-app":"@vtj/renderer"}}const Fe=`
|
|
@@ -86,7 +86,7 @@ export default defineComponent({
|
|
|
86
86
|
<%= css %>
|
|
87
87
|
<%= style %>
|
|
88
88
|
</style>
|
|
89
|
-
`,Te=m.template(Fe),Be=m.template(Ne);async function Re(t,e=new Map,s=[],n="web",r){const i=new
|
|
89
|
+
`,Te=m.template(Fe),Be=m.template(Ne);async function Re(t,e=new Map,s=[],n="web",r){const i=new ce(m.cloneDeep(t),s),o=Ie(i,e,n),a=Te(o),f=Be({template:o.template,css:await N(o.css,r),script:await V(a,r),style:await N(o.style,r)});return await R(f,r).catch(l=>(l.content=f,Promise.reject(l)))}async function We(t){const e=`
|
|
90
90
|
<template>
|
|
91
91
|
<div>
|
|
92
92
|
<h3>源码模式页面</h3>
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { mitt as K, dedupArray as
|
|
1
|
+
import { mitt as K, dedupArray as P, toArray as ee, kebabCase as F, camelCase as v, isPlainObject as te, template as U, cloneDeep as ne } from "@vtj/base";
|
|
2
2
|
import { format as B } from "prettier/standalone";
|
|
3
3
|
import * as se from "prettier/plugins/html";
|
|
4
4
|
import * as D from "prettier/plugins/babel";
|
|
@@ -8,15 +8,15 @@ import * as H from "prettier/plugins/estree";
|
|
|
8
8
|
* Copyright (c) 2025, VTJ.PRO All rights reserved.
|
|
9
9
|
* @name @vtj/coder
|
|
10
10
|
* @author CHC chenhuachun1549@dingtalk.com
|
|
11
|
-
* @version 0.12.
|
|
11
|
+
* @version 0.12.13
|
|
12
12
|
* @license <a href="https://vtj.pro/license.html">MIT License</a>
|
|
13
13
|
*/
|
|
14
|
-
const Le = "0.12.
|
|
14
|
+
const Le = "0.12.13";
|
|
15
15
|
/**!
|
|
16
16
|
* Copyright (c) 2025, VTJ.PRO All rights reserved.
|
|
17
17
|
* @name @vtj/core
|
|
18
18
|
* @author CHC chenhuachun1549@dingtalk.com
|
|
19
|
-
* @version 0.12.
|
|
19
|
+
* @version 0.12.13
|
|
20
20
|
* @license <a href="https://vtj.pro/license.html">MIT License</a>
|
|
21
21
|
*/
|
|
22
22
|
const re = [
|
|
@@ -181,6 +181,7 @@ class le {
|
|
|
181
181
|
}
|
|
182
182
|
// 代码中包含依赖库的引用,需要从代码中移除
|
|
183
183
|
replaceLibraryPath(e) {
|
|
184
|
+
console.log("replaceLibraryPath", e);
|
|
184
185
|
const { libraryRegex: n } = this;
|
|
185
186
|
let s = e.value;
|
|
186
187
|
for (const r of n) {
|
|
@@ -215,7 +216,7 @@ class le {
|
|
|
215
216
|
delete s["uni-h5"], delete s["@dcloudio/uni-h5"], delete s["uni-ui"], delete s["@dcloudio/uni-ui"];
|
|
216
217
|
for (const r of Object.values(s))
|
|
217
218
|
n = n.concat(Array.from(r));
|
|
218
|
-
return
|
|
219
|
+
return P(n);
|
|
219
220
|
}
|
|
220
221
|
collectContext(e, n) {
|
|
221
222
|
const s = new Set(n?.id ? this.context[n.id] : []), r = (e.directives || []).find((c) => c.name === "vFor");
|
|
@@ -342,20 +343,20 @@ function X(t, e, n = [], s = {}, r) {
|
|
|
342
343
|
let { id: d, name: $, invisible: j, from: g } = m;
|
|
343
344
|
if (j)
|
|
344
345
|
continue;
|
|
345
|
-
const
|
|
346
|
-
|
|
347
|
-
const { props:
|
|
346
|
+
const C = ve($, e, g);
|
|
347
|
+
C && c.push(C), z(g) && l.push({ id: g.id, name: $ });
|
|
348
|
+
const { props: E, events: O, handlers: x } = we(
|
|
348
349
|
m,
|
|
349
350
|
d,
|
|
350
351
|
m.props,
|
|
351
352
|
m.events,
|
|
352
353
|
s,
|
|
353
354
|
n
|
|
354
|
-
), R =
|
|
355
|
+
), R = Pe(
|
|
355
356
|
m.directives,
|
|
356
357
|
n,
|
|
357
358
|
f
|
|
358
|
-
).join(" "), S = m.children ?
|
|
359
|
+
).join(" "), S = m.children ? Ee(
|
|
359
360
|
m.children,
|
|
360
361
|
n,
|
|
361
362
|
e,
|
|
@@ -370,7 +371,7 @@ function X(t, e, n = [], s = {}, r) {
|
|
|
370
371
|
g || e.get($)?.package
|
|
371
372
|
) ? F($) : Y(g) || Z(g) ? "component" : $;
|
|
372
373
|
y.push(
|
|
373
|
-
ye.includes(I) ? `<${I} ${R} ${
|
|
374
|
+
ye.includes(I) ? `<${I} ${R} ${E} ${O} />` : `<${I} ${R} ${E} ${O}>${_ ? `
|
|
374
375
|
` + _.trim() : ""}</${I}>`
|
|
375
376
|
);
|
|
376
377
|
}
|
|
@@ -381,12 +382,12 @@ function X(t, e, n = [], s = {}, r) {
|
|
|
381
382
|
nodes: i,
|
|
382
383
|
methods: o,
|
|
383
384
|
directives: ge(f),
|
|
384
|
-
components:
|
|
385
|
-
importBlocks:
|
|
385
|
+
components: P(c),
|
|
386
|
+
importBlocks: P(l, "id")
|
|
386
387
|
};
|
|
387
388
|
}
|
|
388
389
|
function ge(t) {
|
|
389
|
-
return
|
|
390
|
+
return P(t).map((e) => `${e.startsWith("v") ? e.substring(1) : e}:${e}`);
|
|
390
391
|
}
|
|
391
392
|
function $e(t = []) {
|
|
392
393
|
const e = /* @__PURE__ */ new Map();
|
|
@@ -467,7 +468,7 @@ function we(t, e, n = {}, s = {}, r = {}, i) {
|
|
|
467
468
|
events: o.join(" ")
|
|
468
469
|
};
|
|
469
470
|
}
|
|
470
|
-
function
|
|
471
|
+
function Pe(t = [], e = [], n = []) {
|
|
471
472
|
const s = [], {
|
|
472
473
|
vIf: r,
|
|
473
474
|
vElse: i,
|
|
@@ -478,7 +479,7 @@ function Ce(t = [], e = [], n = []) {
|
|
|
478
479
|
vBind: u,
|
|
479
480
|
vHtml: a,
|
|
480
481
|
customDirectives: y
|
|
481
|
-
} =
|
|
482
|
+
} = Ce(t);
|
|
482
483
|
if (r && s.push(`v-if="${h(r.value, !0, !0, e)}"`), o && s.push(
|
|
483
484
|
`v-else-if="${h(o.value, !0, !0, e)}"`
|
|
484
485
|
), i && s.push("v-else"), c && s.push(
|
|
@@ -512,7 +513,7 @@ function Ce(t = [], e = [], n = []) {
|
|
|
512
513
|
) : s.push(m);
|
|
513
514
|
}), s;
|
|
514
515
|
}
|
|
515
|
-
function
|
|
516
|
+
function Ce(t = []) {
|
|
516
517
|
const e = t.filter(
|
|
517
518
|
(a) => L.includes(a.name)
|
|
518
519
|
), n = t.filter(
|
|
@@ -546,7 +547,7 @@ function Ee(t = []) {
|
|
|
546
547
|
customDirectives: n
|
|
547
548
|
};
|
|
548
549
|
}
|
|
549
|
-
function
|
|
550
|
+
function Ee(t, e, n, s, r) {
|
|
550
551
|
return typeof t == "string" ? t : k(t) ? `{{ ${h(t, !1, !0, e)} }}` : Array.isArray(t) ? X(t, n, e, s, r) : "";
|
|
551
552
|
}
|
|
552
553
|
function Oe(t, e, n) {
|
|
@@ -575,7 +576,7 @@ function xe(t, e = [], n = [], s = {}, r = "web") {
|
|
|
575
576
|
for (const [l, u] of Object.entries(s))
|
|
576
577
|
(o[l] ?? (o[l] = [])).push(...Array.from(u)), r === "uniapp" && i.includes(l) && c.push(...Array.from(u));
|
|
577
578
|
return {
|
|
578
|
-
imports: Object.entries(o).filter(([l, u]) => r === "uniapp" ? !i.includes(l) && !!u.length : !!u.length).map(([l, u]) => `import { ${
|
|
579
|
+
imports: Object.entries(o).filter(([l, u]) => r === "uniapp" ? !i.includes(l) && !!u.length : !!u.length).map(([l, u]) => `import { ${P(u).join(
|
|
579
580
|
","
|
|
580
581
|
)}} from '${l}';`).concat(n),
|
|
581
582
|
uniComponents: c
|
|
@@ -628,10 +629,10 @@ function Ne(t, e, n = "web") {
|
|
|
628
629
|
t.imports,
|
|
629
630
|
n
|
|
630
631
|
);
|
|
631
|
-
const
|
|
632
|
+
const C = Object.keys({
|
|
632
633
|
...t.urlSchemas,
|
|
633
634
|
...t.blockPlugins
|
|
634
|
-
}),
|
|
635
|
+
}), E = Ie(t.urlSchemas), O = Ae(t.blockPlugins);
|
|
635
636
|
return {
|
|
636
637
|
id: s.id,
|
|
637
638
|
version: s.__VERSION__,
|
|
@@ -654,11 +655,11 @@ function Ne(t, e, n = "web") {
|
|
|
654
655
|
`),
|
|
655
656
|
css: s.css || "",
|
|
656
657
|
style: _e(t.style),
|
|
657
|
-
urlSchemas:
|
|
658
|
+
urlSchemas: E.join(`
|
|
658
659
|
`),
|
|
659
660
|
blockPlugins: O.join(`
|
|
660
661
|
`),
|
|
661
|
-
asyncComponents:
|
|
662
|
+
asyncComponents: C.join(","),
|
|
662
663
|
uniComponents: g,
|
|
663
664
|
renderer: n === "uniapp" ? "@vtj/uni-app" : "@vtj/renderer"
|
|
664
665
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vtj/coder",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.12.
|
|
4
|
+
"version": "0.12.13",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"低代码引擎",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"prettier": "~3.5.0",
|
|
25
25
|
"@vtj/base": "~0.12.0",
|
|
26
|
-
"@vtj/core": "~0.12.
|
|
26
|
+
"@vtj/core": "~0.12.13"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@vtj/cli": "~0.12.2"
|
package/types/version.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright (c) 2025, VTJ.PRO All rights reserved.
|
|
3
3
|
* @name @vtj/coder
|
|
4
4
|
* @author CHC chenhuachun1549@dingtalk.com
|
|
5
|
-
* @version 0.12.
|
|
5
|
+
* @version 0.12.12
|
|
6
6
|
* @license <a href="https://vtj.pro/license.html">MIT License</a>
|
|
7
7
|
*/
|
|
8
|
-
export declare const version = "0.12.
|
|
8
|
+
export declare const version = "0.12.12";
|