neo-cmp-cli 1.9.9 → 1.9.11

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
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("node:fs"),t=require("node:path"),s=require("lodash"),r=require("akfun"),o=require("ora"),a=require("./neoService.js"),i=require("../utils/common.js"),n=require("../utils/pathUtils.js"),c=require("../utils/projectUtils/createCmpProjectZip.js"),l=require("../utils/projectUtils/updatePublishLog.js");var p,u;exports.__require=function(){if(u)return p;u=1;const g=e,m=t,d=s,{getConfigObj:w}=r,y=o,h=a.__require(),{getFramework:f,errorLog:b,successLog:v}=i.__require(),{catchCurPackageJson:T}=n.__require(),C=c.__require(),q=l.__require(),P=w(T()),$=(e=[])=>e.map(e=>({label:e.label,description:e.description,propSchema:JSON.stringify(e)})),j=(e=[],t)=>e&&0!==e.length?e.map(e=>({...e,componentType:t,eventCategory:e.eventCategory||2,pageType:e.pageType||1,targetDevice:e.targetDevice||1,eventParams:e.eventParams||[]})):[],_=(e=[],t)=>e&&0!==e.length?e.map(e=>({...e,componentType:t,funcScope:e.funcScope||"all",pageType:e.pageType||1,targetDevice:e.targetDevice||1,custom:!0,funcInParams:e.funcInParams||[],funcOutParams:e.funcOutParams||[]})):[];return p=async(e,t)=>{const s=y("正在发布组件...").start();try{let r,o=new h(e);await o.ensureValidToken(),s.start("[1/4] 打包源码文件(含单个自定义组件源码)...");try{r=C(t,process.cwd(),e.assetsRoot),r?v(`[1/4] 源码文件打包完成: ${m.basename(r)}。`,s):b("[1/4] 源码文件打包失败,未返回 zip 文件路径。",s)}catch(e){b("[1/4] 源码文件打包失败。",s)}s.start("[2/4] 获取自定义组件构建产物...");const a=await o.getCmpAssets(t);let i;s.start("[3/4] 构建组件数据...");try{i=await(async(e,t)=>{if(!t||!t.cmpType)return b("自定义组件信息或组件名称不能为空"),null;const{cmpType:s}=t;if(!e||!g.existsSync(e))return b(`未找到自定义组件目录: ${e}`),null;const r=d.camelCase(s),o=m.join(e,`${r}Model.js`),a=globalThis.window;globalThis.window||(globalThis.window={console:console,neoRequire:()=>{},postMessage:()=>{}});try{g.existsSync(o)?require(o):(b(`未找到自定义组件模型文件,请检查以下路径是否存在:${o}`),process.exit(1)),globalThis.window&&globalThis.window.NEOEditorCustomModels||(b(`模型文件未导出有效模型方法(CatchCustomCmpModelClass),模型文件地址: ${o} `),process.exit(1));const e=globalThis.window.NEOEditorCustomModels[s];e||(b(`未找到自定义组件模型类(${s}),模型文件地址: ${o} `),process.exit(1));const r=new e;return r||(b(`未找到自定义组件模型信息(${s}),模型文件地址: ${o} `),process.exit(1)),{...t,version:P.version||"1.0.0",framework:P.framework?f(P.framework):0,label:r.label||s,description:r.description||"",componentCategory:(r.tags||["自定义组件"]).join(","),targetPage:r.targetPage||["customPage"],targetObject:r.targetObject||["all"],targetApplication:r.targetApplication||["all"],targetDevice:r.targetDevice||"all",iconUrl:r.iconUrl||r.iconUrl,defaultProps:JSON.stringify(r.defaultComProps||{}),previewProps:JSON.stringify(r.previewComProps||{}),props:$(r.propsSchema||[]),events:j(r.events||[],s),functions:_(r.functions||r.actions||[],s),exposedToDesigner:void 0===r.exposedToDesigner||r.exposedToDesigner,namespace:r.namespace||"neo-cmp-cli",enableDuplicate:void 0===r.enableDuplicate||r.enableDuplicate}}catch(e){return b(`自定义组件模型文件解析失败 (${o||"未知路径"}): ${e.message||e.msg}`),b(e.stack),null}finally{void 0===a?delete globalThis.window:globalThis.window=a}})(e.assetsRoot,a),i?v("[3/4] 组件数据构建完成。",s):b(`[3/4] 未获取到自定义组件模型信息(${t})。`,s)}catch(e){b(`[3/4] 组件数据构建失败: ${e.message||e.msg}`,s)}s.start("[4/4] 保存组件信息到 NeoCRM 平台..."),q(d.omit(i,["assetFile","modelAssetFile","cssAssetFile","codeLibFile"]));try{await o.updateCustomComponent(i),v("[4/4] 组件信息保存成功",s)}catch(e){b("[4/4] 组件信息保存失败",s)}const{tenant_id:n,instance_uri:c}=o.tokenCache||{};console.log(`\n✅ 自定义组件发布成功!\n(当前租户 ID: ${n||"未返回"},所在租户的 API 域名: ${c||"未返回"}。)`)}catch(e){try{s&&s.isSpinning&&b(`❌ 自定义组件发布失败: ${e.message||e.msg}`,s)}catch{b(`\n❌ 自定义组件发布失败: ${e.message||e.msg}`)}throw e}},p};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("node:fs"),t=require("node:path"),s=require("lodash"),r=require("akfun"),o=require("ora"),a=require("./neoService.js"),i=require("../utils/common.js"),n=require("../utils/pathUtils.js"),c=require("../utils/projectUtils/createCmpProjectZip.js"),l=require("../utils/projectUtils/updatePublishLog.js");var p,u;exports.__require=function(){if(u)return p;u=1;const g=e,m=t,d=s,{getConfigObj:w}=r,y=o,h=a.__require(),{getFramework:f,errorLog:b,successLog:v}=i.__require(),{catchCurPackageJson:T}=n.__require(),C=c.__require(),q=l.__require(),P=w(T()),$=(e=[])=>e.map(e=>({label:e.label,description:e.description,propSchema:JSON.stringify(e)})),j=(e=[],t)=>e&&0!==e.length?e.map(e=>({...e,componentType:t,eventCategory:e.eventCategory||2,pageType:e.pageType||1,targetDevice:e.targetDevice||1,eventParams:e.eventParams||[]})):[],_=(e=[],t)=>e&&0!==e.length?e.map(e=>({...e,componentType:t,funcScope:e.funcScope||1,pageType:e.pageType||1,targetDevice:e.targetDevice||1,custom:!0,funcInParams:e.funcInParams||[],funcOutParams:e.funcOutParams||[]})):[];return p=async(e,t)=>{const s=y("正在发布组件...").start();try{let r,o=new h(e);await o.ensureValidToken(),s.start("[1/4] 打包源码文件(含单个自定义组件源码)...");try{r=C(t,process.cwd(),e.assetsRoot),r?v(`[1/4] 源码文件打包完成: ${m.basename(r)}。`,s):b("[1/4] 源码文件打包失败,未返回 zip 文件路径。",s)}catch(e){b("[1/4] 源码文件打包失败。",s)}s.start("[2/4] 获取自定义组件构建产物...");const a=await o.getCmpAssets(t);let i;s.start("[3/4] 构建组件数据...");try{i=await(async(e,t)=>{if(!t||!t.cmpType)return b("自定义组件信息或组件名称不能为空"),null;const{cmpType:s}=t;if(!e||!g.existsSync(e))return b(`未找到自定义组件目录: ${e}`),null;const r=d.camelCase(s),o=m.join(e,`${r}Model.js`),a=globalThis.window;globalThis.window||(globalThis.window={console:console,neoRequire:()=>{},postMessage:()=>{}});try{g.existsSync(o)?require(o):(b(`未找到自定义组件模型文件,请检查以下路径是否存在:${o}`),process.exit(1)),globalThis.window&&globalThis.window.NEOEditorCustomModels||(b(`模型文件未导出有效模型方法(CatchCustomCmpModelClass),模型文件地址: ${o} `),process.exit(1));const e=globalThis.window.NEOEditorCustomModels[s];e||(b(`未找到自定义组件模型类(${s}),模型文件地址: ${o} `),process.exit(1));const r=new e;return r||(b(`未找到自定义组件模型信息(${s}),模型文件地址: ${o} `),process.exit(1)),{...t,version:P.version||"1.0.0",framework:P.framework?f(P.framework):0,label:r.label||s,description:r.description||"",componentCategory:(r.tags||["自定义组件"]).join(","),targetPage:r.targetPage||["customPage"],targetObject:r.targetObject||["all"],targetApplication:r.targetApplication||["all"],targetDevice:r.targetDevice||"all",iconUrl:r.iconUrl||r.iconUrl,defaultProps:JSON.stringify(r.defaultComProps||{}),previewProps:JSON.stringify(r.previewComProps||{}),props:$(r.propsSchema||[]),events:j(r.events||[],s),functions:_(r.functions||r.actions||[],s),exposedToDesigner:void 0===r.exposedToDesigner||r.exposedToDesigner,namespace:r.namespace||"neo-cmp-cli",enableDuplicate:void 0===r.enableDuplicate||r.enableDuplicate}}catch(e){return b(`自定义组件模型文件解析失败 (${o||"未知路径"}): ${e.message||e.msg}`),b(e.stack),null}finally{void 0===a?delete globalThis.window:globalThis.window=a}})(e.assetsRoot,a),i?v("[3/4] 组件数据构建完成。",s):b(`[3/4] 未获取到自定义组件模型信息(${t})。`,s)}catch(e){b(`[3/4] 组件数据构建失败: ${e.message||e.msg}`,s)}s.start("[4/4] 保存组件信息到 NeoCRM 平台..."),q(d.omit(i,["assetFile","modelAssetFile","cssAssetFile","codeLibFile"]));try{await o.updateCustomComponent(i),v("[4/4] 组件信息保存成功",s)}catch(e){b("[4/4] 组件信息保存失败",s)}const{tenant_id:n,instance_uri:c}=o.tokenCache||{};console.log(`\n✅ 自定义组件发布成功!\n(当前租户 ID: ${n||"未返回"},所在租户的 API 域名: ${c||"未返回"}。)`)}catch(e){try{s&&s.isSpinning&&b(`❌ 自定义组件发布失败: ${e.message||e.msg}`,s)}catch{b(`\n❌ 自定义组件发布失败: ${e.message||e.msg}`)}throw e}},p};
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var e="1.9.9";const o={version:e};exports.default=o,exports.version=e;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var e="1.9.11";const o={version:e};exports.default=o,exports.version=e;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("node:fs");const e=require("../pathUtils.js");var r,o;exports.__require=function(){if(o)return r;o=1;const{resolveToCurrentRoot:t}=e.__require();return r=(e,r)=>`\n// @ts-ignore\nimport { registerNeoEditorModel } from 'neo-register';\nimport CustomCmpModel from '${t(`${e}/${r}/model`)}';\n\nregisterNeoEditorModel(CustomCmpModel, '${r}');\n `};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("node:fs");const e=require("../pathUtils.js"),r=require("../common.js");var o,t;exports.__require=function(){if(t)return o;t=1;const{resolveToCurrentRoot:i}=e.__require(),{getRelativePathForWebpack:n}=r.__require();return o=(e,r,o)=>{const t=i(`${e}/${r}/model`);return`\n// @ts-ignore\nimport { registerNeoEditorModel } from 'neo-register';\nimport CustomCmpModel from '${n(t,o)}';\n\nregisterNeoEditorModel(CustomCmpModel, '${r}');\n `}};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("node:fs"),e=require("../pathUtils.js");var r,t;exports.__require=function(){if(t)return r;t=1;const n=o,{resolveToCurrentRoot:m}=e.__require();return r=(o,e)=>{const r=m(`${o}/${e}`),t=m(`${o}/${e}/model`);return n.existsSync(r)||(console.error(`未找到 ${e} 组件入口文件,请检查 ${r} 是否存在。`),process.exit(1)),`\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { autoConvertVueComponent } from 'neo-register';\nimport CustomCmp from '${r}';\nimport CustomCmpModel from '${t}';\n\n// 获取组件模型中的默认属性\nconst curDefaultComProps = new CustomCmpModel().defaultComProps;\nconst previewComProps = new CustomCmpModel().previewComProps;\nconst curPreviewComProps = Object.assign(curDefaultComProps, previewComProps);\n\nconst NewCustomCmp = autoConvertVueComponent(CustomCmp);\n\n// 预览 自定义组件\nReactDOM.render(\n <NewCustomCmp {...curPreviewComProps} />,\n document.getElementById('root'),\n);\n `}};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("node:fs"),o=require("../pathUtils.js"),r=require("../common.js");var t,n;exports.__require=function(){if(n)return t;n=1;const m=e,{resolveToCurrentRoot:s}=o.__require(),{getRelativePathForWebpack:u}=r.__require();return t=(e,o,r)=>{const t=s(`${e}/${o}`),n=s(`${e}/${o}/model`);m.existsSync(t)||(console.error(`未找到 ${o} 组件入口文件,请检查 ${t} 是否存在。`),process.exit(1));return`\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { autoConvertVueComponent } from 'neo-register';\nimport CustomCmp from '${u(t,r)}';\nimport CustomCmpModel from '${u(n,r)}';\n\n// 获取组件模型中的默认属性\nconst curDefaultComProps = new CustomCmpModel().defaultComProps;\nconst previewComProps = new CustomCmpModel().previewComProps;\nconst curPreviewComProps = Object.assign(curDefaultComProps, previewComProps);\n\nconst NewCustomCmp = autoConvertVueComponent(CustomCmp);\n\n// 预览 自定义组件\nReactDOM.render(\n <NewCustomCmp {...curPreviewComProps} />,\n document.getElementById('root'),\n);\n `}};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("node:fs");const e=require("../pathUtils.js");var r,t;exports.__require=function(){if(t)return r;t=1;const{resolveToCurrentRoot:o}=e.__require();return r=(e,r)=>`\n// @ts-ignore\nimport { registerNeoCmp } from 'neo-register';\nimport CustomCmp from '${o(`${e}/${r}/index`)}';\n\nregisterNeoCmp(CustomCmp, '${r}');\n `};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("node:fs");const e=require("../pathUtils.js"),r=require("../common.js");var t,o;exports.__require=function(){if(o)return t;o=1;const{resolveToCurrentRoot:n}=e.__require(),{getRelativePathForWebpack:i}=r.__require();return t=(e,r,t)=>{const o=n(`${e}/${r}/index`);return`\n// @ts-ignore\nimport { registerNeoCmp } from 'neo-register';\nimport CustomCmp from '${i(o,t)}';\n\nregisterNeoCmp(CustomCmp, '${r}');\n `}};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("node:fs"),r=require("akfun"),o=require("../neoParams.js"),s=require("../pathUtils.js"),t=require("./getCmpPreviewCode.js");var n,i;exports.__require=function(){if(i)return n;i=1;const c=e,p=r,{consoleTag:u}=o.__require(),{resolveToCurrentRoot:y}=s.__require(),a=t.__require();return n=(e,r,o="./src/components")=>{const s=e.componentsDir||o,t=y(s);c.existsSync(t)||(console.error(`未找到组件目录,请检查 ${s} 目录是否存在`),process.exit(1));const n=`${t}/${r}`;c.existsSync(n)||(console.error(`${u}自定义组件 ${r} 不存在。`),process.exit(1));const i=y("./.neo-cli");c.existsSync(i)||c.mkdirSync(i);const d=`${i}/${r}`;c.existsSync(d)||c.mkdirSync(d);const x=a(s,r);c.writeFileSync(`${d}/preview.jsx`,x),e.dev.entry||(e.dev.entry={}),e.dev.entry.index=`${d}/preview.jsx`,e.webpack.projectDir?e.webpack.projectDir.push(d):e.webpack.projectDir=[d],p.dev(e,u)}};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("node:fs"),r=require("akfun"),o=require("../neoParams.js"),s=require("../pathUtils.js"),t=require("./getCmpPreviewCode.js");var n,i;exports.__require=function(){if(i)return n;i=1;const c=e,p=r,{consoleTag:u}=o.__require(),{resolveToCurrentRoot:y}=s.__require(),a=t.__require();return n=(e,r,o="./src/components")=>{const s=e.componentsDir||o,t=y(s);c.existsSync(t)||(console.error(`未找到组件目录,请检查 ${s} 目录是否存在`),process.exit(1));const n=`${t}/${r}`;c.existsSync(n)||(console.error(`${u}自定义组件 ${r} 不存在。`),process.exit(1));const i=y("./.neo-cli");c.existsSync(i)||c.mkdirSync(i);const d=`${i}/${r}`;c.existsSync(d)||c.mkdirSync(d);const x=`${d}/preview.jsx`,l=a(s,r,x);c.writeFileSync(x,l),e.dev.entry||(e.dev.entry={}),e.dev.entry.index=`${d}/preview.jsx`,e.webpack.projectDir?e.webpack.projectDir.push(d):e.webpack.projectDir=[d],p.dev(e,u)}};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("chalk"),r=require("../node_modules/typescript/lib/typescript.js"),o=require("./neoParams.js");var s,t;exports.__require=function(){if(t)return s;t=1;const c=e,n=r.__require(),{consoleTag:a}=o.__require();function i(e,r){const o=`${a} ${c.red(e)}`;r?r.fail(o):console.error(o)}return s={getFramework:function(e){if(!e)return 0;let r=e.toLowerCase().trim();switch(r){case"jquery":case"jq":r=2;break;case"vue2":case"vue 2":case"vue2.0":case"vue 2.0":r=1;break;case"vue":case"vue3":case"vue 3":case"vue3.0":case"vue 3.0":r=3,i("暂不支持 vue3.0 技术栈。");break;case"react-js":i("暂不支持 react-js 技术栈。"),r=0;break;default:r=0}return r},errorLog:i,warningLog:function(e,r){const o=`${a} ${c.yellow(e)}`;r?r.warn(o):console.warn(o)},successLog:function(e,r){const o=`${a} ${c.green(e)}`;r?r.succeed(o):console.log(o)},parseTsConfigWithTypeScript:function(e){try{const r=n.readConfigFile(e,n.sys.readFile);if(r.error)throw new Error(`解析 tsconfig.json 失败: ${r.error.messageText}`);return r.config}catch(e){if("MODULE_NOT_FOUND"===e.code)throw new Error("请先安装 typescript: npm install typescript --save-dev");throw e}}}};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("chalk"),r=require("../node_modules/typescript/lib/typescript.js"),t=require("node:path"),s=require("./neoParams.js");var o,n;exports.__require=function(){if(n)return o;n=1;const c=e,i=r.__require(),a=t,{consoleTag:u}=s.__require();function l(e,r){const t=`${u} ${c.red(e)}`;r?r.fail(t):console.error(t)}return o={getFramework:function(e){if(!e)return 0;let r=e.toLowerCase().trim();switch(r){case"jquery":case"jq":r=2;break;case"vue2":case"vue 2":case"vue2.0":case"vue 2.0":r=1;break;case"vue":case"vue3":case"vue 3":case"vue3.0":case"vue 3.0":r=3,l("暂不支持 vue3.0 技术栈。");break;case"react-js":l("暂不支持 react-js 技术栈。"),r=0;break;default:r=0}return r},errorLog:l,warningLog:function(e,r){const t=`${u} ${c.yellow(e)}`;r?r.warn(t):console.warn(t)},successLog:function(e,r){const t=`${u} ${c.green(e)}`;r?r.succeed(t):console.log(t)},parseTsConfigWithTypeScript:function(e){try{const r=i.readConfigFile(e,i.sys.readFile);if(r.error)throw new Error(`解析 tsconfig.json 失败: ${r.error.messageText}`);return r.config}catch(e){if("MODULE_NOT_FOUND"===e.code)throw new Error("请先安装 typescript: npm install typescript --save-dev");throw e}},getRelativePathForWebpack:function(e,r){if(!r)return e.split(a.sep).join("/");const t=a.dirname(r);try{const r=a.relative(t,e);let s=r.split(a.sep).join("/");return a.isAbsolute(r)?s=e.split(a.sep).join("/"):s.startsWith(".")||(s="./"+s),s}catch(r){return e.split(a.sep).join("/")}}}};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("node:fs"),r=require("node:path"),t=require("lodash"),s=require("../pathUtils.js"),i=require("../cmpUtils/getCmpRegisterCode.js"),o=require("../cmpUtils/getCmpModelRegisterCode.js");var n,c;exports.__require=function(){if(c)return n;c=1;const d=e,u=r,l=t,{resolveToCurrentRoot:a}=s.__require(),p=i.__require(),m=o.__require();return n=(e="./src/components",r)=>{const t={},s={index:[]},i=[],o={},n=a(e);d.existsSync(n)||(console.error(`未找到组件目录,请检查 ${e} 目录是否存在`),process.exit(1));const c=a("./.neo-cli");d.existsSync(c)||d.mkdirSync(c);try{let a=[];a=r?[r]:d.readdirSync(n),a.forEach(r=>{const a=u.join(n,r);if(d.statSync(a).isDirectory()&&!r.startsWith(".")&&"node_modules"!==r){const x=r,y=l.camelCase(x);i.push(x);const h=`${c}/${x}`;d.existsSync(h)||d.mkdirSync(h),d.readdirSync(a).filter(e=>e.match(/(index|model)\.(tsx?|jsx?|vue)$/)).map(r=>u.join(e,x,r)).forEach(e=>{if(e.match(/index\.(tsx?|jsx?|vue)$/)){o[y]=u.resolve(e);const r=p(n,x),i=`${h}/register.js`;d.writeFileSync(i,r),t[y]=i,s.index.push(i)}else if(e.match(/model\.[tj]sx?$/)){const e=m(n,x),r=`${h}/model.js`;d.writeFileSync(r,e),t[`${y}Model`]=r,s.index.push(r)}})}})}catch(e){console.error("获取自定义组件入口文件失败(getEntriesWithAutoRegister):",e),process.exit(1)}return{widgetEntries:t,linkDebugEntries:s,cmpTypes:i,defaultExports:o}}};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("node:fs"),r=require("node:path"),t=require("lodash"),s=require("../pathUtils.js"),i=require("../cmpUtils/getCmpRegisterCode.js"),o=require("../cmpUtils/getCmpModelRegisterCode.js");var n,c;exports.__require=function(){if(c)return n;c=1;const d=e,u=r,l=t,{resolveToCurrentRoot:a}=s.__require(),p=i.__require(),m=o.__require();return n=(e="./src/components",r)=>{const t={},s={index:[]},i=[],o={},n=a(e);d.existsSync(n)||(console.error(`未找到组件目录,请检查 ${e} 目录是否存在`),process.exit(1));const c=a("./.neo-cli");d.existsSync(c)||d.mkdirSync(c);try{let a=[];a=r?[r]:d.readdirSync(n),a.forEach(r=>{const a=u.join(n,r);if(d.statSync(a).isDirectory()&&!r.startsWith(".")&&"node_modules"!==r){const x=r,y=l.camelCase(x);i.push(x);const h=`${c}/${x}`;d.existsSync(h)||d.mkdirSync(h),d.readdirSync(a).filter(e=>e.match(/(index|model)\.(tsx?|jsx?|vue)$/)).map(r=>u.join(e,x,r)).forEach(e=>{if(e.match(/index\.(tsx?|jsx?|vue)$/)){o[y]=u.resolve(e);const r=`${h}/register.js`,i=p(n,x,r);d.writeFileSync(r,i),t[y]=r,s.index.push(r)}else if(e.match(/model\.[tj]sx?$/)){const e=`${h}/model.js`,r=m(n,x,e);d.writeFileSync(e,r),t[`${y}Model`]=e,s.index.push(e)}})}})}catch(e){console.error("获取自定义组件入口文件失败(getEntriesWithAutoRegister):",e),process.exit(1)}return{widgetEntries:t,linkDebugEntries:s,cmpTypes:i,defaultExports:o}}};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo-cmp-cli",
3
- "version": "1.9.9",
3
+ "version": "1.9.11",
4
4
  "description": "Neo 自定义组件开发工具,支持react 和 vue2.0技术栈。",
5
5
  "keywords": [
6
6
  "neo-cli",
@@ -48,7 +48,7 @@
48
48
  "@commitlint/config-conventional": "^9.1.1",
49
49
  "@types/react": "^16.9.11",
50
50
  "@types/react-dom": "^16.9.15",
51
- "neo-cmp-cli": "^1.9.7",
51
+ "neo-cmp-cli": "^1.9.10",
52
52
  "husky": "^4.2.5",
53
53
  "lint-staged": "^10.2.9",
54
54
  "prettier": "^2.0.5"
@@ -48,7 +48,7 @@
48
48
  "@commitlint/config-conventional": "^9.1.1",
49
49
  "@types/react": "^16.9.11",
50
50
  "@types/react-dom": "^16.9.15",
51
- "neo-cmp-cli": "^1.9.7",
51
+ "neo-cmp-cli": "^1.9.10",
52
52
  "husky": "^4.2.5",
53
53
  "lint-staged": "^10.2.9",
54
54
  "prettier": "^2.0.5",
@@ -48,7 +48,7 @@
48
48
  "@commitlint/config-conventional": "^9.1.1",
49
49
  "@types/react": "^16.9.11",
50
50
  "@types/react-dom": "^16.9.15",
51
- "neo-cmp-cli": "^1.9.7",
51
+ "neo-cmp-cli": "^1.9.10",
52
52
  "husky": "^4.2.5",
53
53
  "lint-staged": "^10.2.9",
54
54
  "prettier": "^2.0.5"
@@ -55,7 +55,7 @@
55
55
  "@types/react": "^16.9.11",
56
56
  "@types/react-dom": "^16.9.15",
57
57
  "@types/axios": "^0.14.0",
58
- "neo-cmp-cli": "^1.9.7",
58
+ "neo-cmp-cli": "^1.9.10",
59
59
  "husky": "^4.2.5",
60
60
  "lint-staged": "^10.2.9",
61
61
  "prettier": "^2.0.5"
@@ -5,33 +5,42 @@
5
5
  <meta charset="utf-8">
6
6
  <style>
7
7
  .container {
8
- margin: 0 auto;
9
- padding-top: 30px;
8
+ margin: 120px auto 0 auto;
9
+ padding-top: 0;
10
10
  text-align: center;
11
+ font-family: "PingFang SC";
12
+ font-style: normal;
13
+ font-weight: 400;
11
14
  }
12
- .error-title {
13
- color: red;
15
+ .result-content {
16
+ margin: 24px auto 32px auto;
14
17
  }
15
- h1, .info-content {
16
- text-align: center;
17
- margin-top: 30px;
18
+ .result-content .title {
19
+ font-size: 18px;
20
+ font-weight: 500;
21
+ line-height: 28px;
22
+ color: #222;
23
+ }
24
+ .result-content .error-title {
25
+ color: red;
18
26
  }
19
- .info-content .title {
20
- font-size: 16px;
21
- font-weight: bold;
27
+ .result-content .detail {
28
+ font-size: 13px;
29
+ color: #454545;
22
30
  }
23
- .info-content .detail {
24
- font-size: 14px;
31
+ .tenant-info {
32
+ font-size: 13px;
33
+ line-height: 20px;
25
34
  color: #666;
26
35
  }
27
36
  </style>
28
37
  </head>
29
38
  <body>
30
39
  <div class="container">
31
- <h1 class="error-title">授权失败</h1>
32
- <img src="https://custom-widgets.bj.bcebos.com/neocrmlogin.png" alt="授权失败" />
33
- <div class="info-content">
34
- <div class="detail">错误信息: {{ERROR}}</div>
40
+ <img src="https://custom-widgets.bj.bcebos.com/neocrmlogin.png" alt="NeoCRM" />
41
+ <div class="result-content">
42
+ <div class="title error-title">授权失败</div>
43
+ <div class="detail">错误信息: {{ERROR}}</div>
35
44
  </div>
36
45
  </div>
37
46
  </body>
@@ -5,33 +5,42 @@
5
5
  <meta charset="utf-8">
6
6
  <style>
7
7
  .container {
8
- margin: 0 auto;
9
- padding-top: 30px;
8
+ margin: 120px auto 0 auto;
9
+ padding-top: 0;
10
10
  text-align: center;
11
+ font-family: "PingFang SC";
12
+ font-style: normal;
13
+ font-weight: 400;
11
14
  }
12
- .error-title {
13
- color: red;
15
+ .result-content {
16
+ margin: 24px auto 32px auto;
14
17
  }
15
- h1, .info-content {
16
- text-align: center;
17
- margin-top: 30px;
18
+ .result-content .title {
19
+ font-size: 18px;
20
+ font-weight: 500;
21
+ line-height: 28px;
22
+ color: #222;
23
+ }
24
+ .result-content .error-title {
25
+ color: red;
18
26
  }
19
- .info-content .title {
20
- font-size: 16px;
21
- font-weight: bold;
27
+ .result-content .detail {
28
+ font-size: 13px;
29
+ color: #454545;
22
30
  }
23
- .info-content .detail {
24
- font-size: 14px;
31
+ .tenant-info {
32
+ font-size: 13px;
33
+ line-height: 20px;
25
34
  color: #666;
26
35
  }
27
36
  </style>
28
37
  </head>
29
38
  <body>
30
39
  <div class="container">
31
- <h1 class="error-title">授权失败</h1>
32
- <img src="https://custom-widgets.bj.bcebos.com/neocrmlogin.png" alt="授权失败" />
33
- <div class="info-content">
34
- <div class="detail">未获取到授权码。</div>
40
+ <img src="https://custom-widgets.bj.bcebos.com/neocrmlogin.png" alt="NeoCRM" />
41
+ <div class="result-content">
42
+ <div class="title error-title">授权失败</div>
43
+ <div class="detail">未获取到授权码。</div>
35
44
  </div>
36
45
  </div>
37
46
  </body>
@@ -5,34 +5,42 @@
5
5
  <meta charset="utf-8">
6
6
  <style>
7
7
  .container {
8
- margin: 0 auto;
9
- padding-top: 30px;
8
+ margin: 120px auto 0 auto;
9
+ padding-top: 0;
10
10
  text-align: center;
11
+ font-family: "PingFang SC";
12
+ font-style: normal;
13
+ font-weight: 400;
11
14
  }
12
- .success-title {
13
- color: green;
15
+ .result-content {
16
+ margin: 24px auto 32px auto;
14
17
  }
15
- h1, .success-content {
16
- text-align: center;
17
- margin-top: 30px;
18
+ .result-content .title {
19
+ font-size: 18px;
20
+ font-weight: 500;
21
+ line-height: 28px;
22
+ color: #222;
18
23
  }
19
- .success-content .title {
20
- font-size: 16px;
21
- font-weight: bold;
24
+ .result-content .detail {
25
+ font-size: 13px;
26
+ color: #454545;
22
27
  }
23
- .success-content .detail {
24
- font-size: 14px;
28
+ .tenant-info {
29
+ font-size: 13px;
30
+ line-height: 20px;
25
31
  color: #666;
26
32
  }
27
33
  </style>
28
34
  </head>
29
35
  <body>
30
36
  <div class="container">
31
- <h1 class="success-title">授权成功!</h1>
32
- <img src="https://custom-widgets.bj.bcebos.com/neocrmlogin.png" alt="授权成功" />
33
- <div class="success-content">
34
- <div class="title">您已成功授权开发账户,请关闭此页面。</div>
35
- <div class="detail">租户 ID: {{TENANT_ID}},所在租户的 API 域名: {{INSTANCE_URI}}。</div>
37
+ <img src="https://custom-widgets.bj.bcebos.com/neocrmlogin.png" alt="NeoCRM" />
38
+ <div class="result-content">
39
+ <div class="title">授权成功!</div>
40
+ <div class="detail">您已成功授权开发账户,请关闭此页面。</div>
41
+ </div>
42
+ <div class="tenant-info">
43
+ 租户 ID: {{TENANT_ID}},所在租户的 API 域名: {{INSTANCE_URI}}。
36
44
  </div>
37
45
  </div>
38
46
  </body>
@@ -1,38 +1,49 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <title>获取 Token 失败</title>
4
+ <title>授权失败</title>
5
5
  <meta charset="utf-8">
6
6
  <style>
7
7
  .container {
8
- margin: 0 auto;
9
- padding-top: 30px;
8
+ margin: 120px auto 0 auto;
9
+ padding-top: 0;
10
10
  text-align: center;
11
+ font-family: "PingFang SC";
12
+ font-style: normal;
13
+ font-weight: 400;
11
14
  }
12
- .error-title {
13
- color: red;
15
+ .result-content {
16
+ margin: 24px auto 32px auto;
14
17
  }
15
- h1, .info-content {
16
- text-align: center;
17
- margin-top: 30px;
18
+ .result-content .title {
19
+ font-size: 18px;
20
+ font-weight: 500;
21
+ line-height: 28px;
22
+ color: #222;
18
23
  }
19
- .info-content .title {
20
- font-size: 16px;
21
- font-weight: bold;
24
+ .result-content .error-title {
25
+ color: red;
22
26
  }
23
- .info-content .detail {
24
- font-size: 14px;
27
+ .result-content .detail {
28
+ font-size: 13px;
29
+ color: #454545;
30
+ }
31
+ .tenant-info {
32
+ font-size: 13px;
33
+ line-height: 20px;
25
34
  color: #666;
26
35
  }
27
36
  </style>
28
37
  </head>
29
38
  <body>
30
39
  <div class="container">
31
- <h1 class="error-title">授权失败</h1>
32
- <img src="https://custom-widgets.bj.bcebos.com/neocrmlogin.png" alt="获取 Token 失败" />
33
- <div class="info-content">
34
- <div class="title">未获取到用户 token 信息,请重试。</div>
35
- <div class="detail">错误信息: {{ERROR}}</div>
40
+ <img src="https://custom-widgets.bj.bcebos.com/neocrmlogin.png" alt="NeoCRM" />
41
+ <div class="result-content">
42
+ <div class="title error-title">授权失败</div>
43
+ <div class="detail">未获取到用户 token 信息,请重试。</div>
44
+ </div>
45
+ <div class="tenant-info">
46
+ 错误信息: {{ERROR}}。
36
47
  </div>
37
48
  </div>
38
49
  </body>
@@ -45,7 +45,7 @@
45
45
  "devDependencies": {
46
46
  "@commitlint/cli": "^8.3.5",
47
47
  "@commitlint/config-conventional": "^9.1.1",
48
- "neo-cmp-cli": "^1.9.7",
48
+ "neo-cmp-cli": "^1.9.10",
49
49
  "husky": "^4.2.5",
50
50
  "lint-staged": "^10.2.9",
51
51
  "prettier": "^2.0.5"
@@ -47,7 +47,7 @@
47
47
  "@commitlint/config-conventional": "^9.1.1",
48
48
  "@types/react": "^16.9.11",
49
49
  "@types/react-dom": "^16.9.15",
50
- "neo-cmp-cli": "^1.9.7",
50
+ "neo-cmp-cli": "^1.9.10",
51
51
  "husky": "^4.2.5",
52
52
  "lint-staged": "^10.2.9",
53
53
  "prettier": "^2.0.5"
@@ -45,7 +45,7 @@
45
45
  "devDependencies": {
46
46
  "@commitlint/cli": "^8.3.5",
47
47
  "@commitlint/config-conventional": "^9.1.1",
48
- "neo-cmp-cli": "^1.9.7",
48
+ "neo-cmp-cli": "^1.9.10",
49
49
  "husky": "^4.2.5",
50
50
  "lint-staged": "^10.2.9",
51
51
  "prettier": "^2.0.5",
@@ -1,7 +1,7 @@
1
1
  const { execSync } = require('child_process');
2
2
 
3
3
  // 所有需要废弃的版本
4
- const versionsToDeprecate = ["1.9.5", "1.9.6", "1.9.7", "1.9.8"];
4
+ const versionsToDeprecate = ["1.9.9"];
5
5
 
6
6
  const packageName = 'neo-cmp-cli';
7
7
  const deprecateMessage = '此版本为开发中版本(存在 bug),请升级到最新版本。';