neo-cmp-cli 1.13.20 → 1.13.22

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.
Files changed (106) hide show
  1. package/dist/_virtual/array-set2.js +1 -0
  2. package/dist/_virtual/base64-vlq2.js +1 -0
  3. package/dist/_virtual/base642.js +1 -0
  4. package/dist/_virtual/binary-search2.js +1 -0
  5. package/dist/_virtual/mapping-list2.js +1 -0
  6. package/dist/_virtual/picocolors.js +1 -0
  7. package/dist/_virtual/quick-sort2.js +1 -0
  8. package/dist/_virtual/source-map-consumer2.js +1 -0
  9. package/dist/_virtual/source-map-generator2.js +1 -0
  10. package/dist/_virtual/source-map2.js +1 -0
  11. package/dist/_virtual/source-node2.js +1 -0
  12. package/dist/_virtual/symbols.js +1 -0
  13. package/dist/_virtual/util2.js +1 -0
  14. package/dist/config/auth.config.js +1 -1
  15. package/dist/loaders/component-scope-style-loader2.js +1 -1
  16. package/dist/node_modules/nanoid/non-secure/index.js +1 -0
  17. package/dist/node_modules/picocolors/picocolors.js +1 -0
  18. package/dist/node_modules/postcss/lib/at-rule.js +1 -0
  19. package/dist/node_modules/postcss/lib/comment.js +1 -0
  20. package/dist/node_modules/postcss/lib/container.js +1 -0
  21. package/dist/node_modules/postcss/lib/css-syntax-error.js +1 -0
  22. package/dist/node_modules/postcss/lib/declaration.js +1 -0
  23. package/dist/node_modules/postcss/lib/document.js +1 -0
  24. package/dist/node_modules/postcss/lib/fromJSON.js +1 -0
  25. package/dist/node_modules/postcss/lib/input.js +1 -0
  26. package/dist/node_modules/postcss/lib/lazy-result.js +1 -0
  27. package/dist/node_modules/postcss/lib/list.js +1 -0
  28. package/dist/node_modules/postcss/lib/map-generator.js +1 -0
  29. package/dist/node_modules/postcss/lib/no-work-result.js +1 -0
  30. package/dist/node_modules/postcss/lib/node.js +1 -0
  31. package/dist/node_modules/postcss/lib/parse.js +1 -0
  32. package/dist/node_modules/postcss/lib/parser.js +1 -0
  33. package/dist/node_modules/postcss/lib/postcss.js +1 -0
  34. package/dist/node_modules/postcss/lib/previous-map.js +1 -0
  35. package/dist/node_modules/postcss/lib/processor.js +1 -0
  36. package/dist/node_modules/postcss/lib/result.js +1 -0
  37. package/dist/node_modules/postcss/lib/root.js +1 -0
  38. package/dist/node_modules/postcss/lib/rule.js +1 -0
  39. package/dist/node_modules/postcss/lib/stringifier.js +1 -0
  40. package/dist/node_modules/postcss/lib/stringify.js +1 -0
  41. package/dist/node_modules/postcss/lib/symbols.js +1 -0
  42. package/dist/node_modules/postcss/lib/terminal-highlight.js +1 -0
  43. package/dist/node_modules/postcss/lib/tokenize.js +1 -0
  44. package/dist/node_modules/postcss/lib/warn-once.js +1 -0
  45. package/dist/node_modules/postcss/lib/warning.js +1 -0
  46. package/dist/node_modules/source-map/lib/array-set.js +1 -1
  47. package/dist/node_modules/source-map/lib/base64-vlq.js +1 -1
  48. package/dist/node_modules/source-map/lib/base64.js +1 -1
  49. package/dist/node_modules/source-map/lib/binary-search.js +1 -1
  50. package/dist/node_modules/source-map/lib/mapping-list.js +1 -1
  51. package/dist/node_modules/source-map/lib/quick-sort.js +1 -1
  52. package/dist/node_modules/source-map/lib/source-map-consumer.js +1 -1
  53. package/dist/node_modules/source-map/lib/source-map-generator.js +1 -1
  54. package/dist/node_modules/source-map/lib/source-node.js +1 -1
  55. package/dist/node_modules/source-map/lib/util.js +1 -1
  56. package/dist/node_modules/source-map/source-map.js +1 -1
  57. package/dist/node_modules/source-map-js/lib/array-set.js +1 -0
  58. package/dist/node_modules/source-map-js/lib/base64-vlq.js +1 -0
  59. package/dist/node_modules/source-map-js/lib/base64.js +1 -0
  60. package/dist/node_modules/source-map-js/lib/binary-search.js +1 -0
  61. package/dist/node_modules/source-map-js/lib/mapping-list.js +1 -0
  62. package/dist/node_modules/source-map-js/lib/quick-sort.js +1 -0
  63. package/dist/node_modules/source-map-js/lib/source-map-consumer.js +1 -0
  64. package/dist/node_modules/source-map-js/lib/source-map-generator.js +1 -0
  65. package/dist/node_modules/source-map-js/lib/source-node.js +1 -0
  66. package/dist/node_modules/source-map-js/lib/util.js +1 -0
  67. package/dist/node_modules/source-map-js/source-map.js +1 -0
  68. package/dist/package.json.js +1 -1
  69. package/package.json +7 -5
  70. package/template/antd-custom-cmp-template/package.json +1 -1
  71. package/template/asset-manage-template/package.json +1 -1
  72. package/template/echarts-custom-cmp-template/package.json +1 -1
  73. package/template/empty-custom-cmp-template/package.json +1 -1
  74. package/template/map-custom-cmp-template/package.json +1 -1
  75. package/template/neo-bi-cmps/package.json +1 -1
  76. package/template/neo-custom-cmp-template/CODEBUDDY.md +92 -0
  77. package/template/neo-custom-cmp-template/package.json +1 -1
  78. package/template/neo-custom-cmp-template/src/components/customApi__c/index.tsx +9 -5
  79. package/template/neo-custom-cmp-template/src/components/customApi__c/model.ts +1 -1
  80. package/template/neo-custom-cmp-template/src/components/customApi__c/style.scss +21 -18
  81. package/template/neo-custom-cmp-template/src/components/entityCardList__c/index.tsx +4 -3
  82. package/template/neo-custom-cmp-template/src/components/entityCardList__c/model.ts +10 -2
  83. package/template/neo-custom-cmp-template/src/components/entityCardList__c/style.scss +1 -1
  84. package/template/neo-custom-cmp-template/src/components/entityDetail__c/index.tsx +1 -1
  85. package/template/neo-custom-cmp-template/src/components/entityDetail__c/style.scss +51 -39
  86. package/template/neo-custom-cmp-template/src/components/entityForm__c/model.ts +10 -2
  87. package/template/neo-custom-cmp-template/src/components/entityForm__c/style.scss +1 -1
  88. package/template/neo-custom-cmp-template/src/components/entityTable__c/index.tsx +11 -9
  89. package/template/neo-custom-cmp-template/src/components/entityTable__c/model.ts +11 -2
  90. package/template/neo-custom-cmp-template/src/components/entityTable__c/style.scss +169 -114
  91. package/template/neo-custom-cmp-template/src/components/simpleCmp__c/index.tsx +1 -1
  92. package/template/neo-custom-cmp-template/src/components/simpleCmp__c/style.scss +94 -13
  93. package/template/neo-h5-cmps/package.json +1 -1
  94. package/template/neo-order-cmps/package.json +1 -1
  95. package/template/neo-pipeline-cmps/package.json +1 -1
  96. package/template/neo-web-entity-grid/package.json +1 -1
  97. package/template/neo-web-entity-grid/src/components/entityGrid2__c/model.ts +1 -1
  98. package/template/neo-web-entity-grid/src/components/entityGrid2__c/style.scss +1 -5
  99. package/template/neo-web-entity-grid/src/components/entityGrid3__c/model.ts +2 -0
  100. package/template/neo-web-entity-grid/src/components/entityGrid3__c/style.scss +1 -6
  101. package/template/neo-web-entity-grid/src/components/entityGrid__c/style.scss +1 -6
  102. package/template/neo-web-entity-grid/src/components/searchForm__c/model.ts +10 -2
  103. package/template/neo-web-form/package.json +1 -1
  104. package/template/react-custom-cmp-template/package.json +1 -1
  105. package/template/react-ts-custom-cmp-template/package.json +1 -1
  106. package/template/vue2-custom-cmp-template/package.json +1 -1
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../_virtual/source-map-consumer.js"),n=require("./util.js"),r=require("./binary-search.js"),t=require("./array-set.js"),o=require("./base64-vlq.js"),i=require("./quick-sort.js");var s;exports.__require=function(){if(s)return e.__exports;s=1;var a=n.__require(),u=r.__require(),l=t.__require().ArraySet,g=o.__require(),p=i.__require().quickSort;function c(e,n){var r=e;return"string"==typeof e&&(r=a.parseSourceMapInput(e)),null!=r.sections?new d(r,n):new h(r,n)}function h(e,n){var r=e;"string"==typeof e&&(r=a.parseSourceMapInput(e));var t=a.getArg(r,"version"),o=a.getArg(r,"sources"),i=a.getArg(r,"names",[]),s=a.getArg(r,"sourceRoot",null),u=a.getArg(r,"sourcesContent",null),g=a.getArg(r,"mappings"),p=a.getArg(r,"file",null);if(t!=this._version)throw new Error("Unsupported version: "+t);s&&(s=a.normalize(s)),o=o.map(String).map(a.normalize).map(function(e){return s&&a.isAbsolute(s)&&a.isAbsolute(e)?a.relative(s,e):e}),this._names=l.fromArray(i.map(String),!0),this._sources=l.fromArray(o,!0),this._absoluteSources=this._sources.toArray().map(function(e){return a.computeSourceURL(s,e,n)}),this.sourceRoot=s,this.sourcesContent=u,this._mappings=g,this._sourceMapURL=n,this.file=p}function f(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}c.fromSourceMap=function(e,n){return h.fromSourceMap(e,n)},c.prototype._version=3,c.prototype.__generatedMappings=null,Object.defineProperty(c.prototype,"_generatedMappings",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),c.prototype.__originalMappings=null,Object.defineProperty(c.prototype,"_originalMappings",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),c.prototype._charIsMappingSeparator=function(e,n){var r=e.charAt(n);return";"===r||","===r},c.prototype._parseMappings=function(e,n){throw new Error("Subclasses must implement _parseMappings")},c.GENERATED_ORDER=1,c.ORIGINAL_ORDER=2,c.GREATEST_LOWER_BOUND=1,c.LEAST_UPPER_BOUND=2,c.prototype.eachMapping=function(e,n,r){var t,o=n||null;switch(r||c.GENERATED_ORDER){case c.GENERATED_ORDER:t=this._generatedMappings;break;case c.ORIGINAL_ORDER:t=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}for(var i=this.sourceRoot,s=e.bind(o),u=this._names,l=this._sources,g=this._sourceMapURL,p=0,h=t.length;p<h;p++){var f=t[p],_=null===f.source?null:l.at(f.source);null!==_&&(_=a.computeSourceURL(i,_,g)),s({source:_,generatedLine:f.generatedLine,generatedColumn:f.generatedColumn,originalLine:f.originalLine,originalColumn:f.originalColumn,name:null===f.name?null:u.at(f.name)})}},c.prototype.allGeneratedPositionsFor=function(e){var n=a.getArg(e,"line"),r={source:a.getArg(e,"source"),originalLine:n,originalColumn:a.getArg(e,"column",0)};if(r.source=this._findSourceIndex(r.source),r.source<0)return[];var t=[],o=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",a.compareByOriginalPositions,u.LEAST_UPPER_BOUND);if(o>=0){var i=this._originalMappings[o];if(void 0===e.column)for(var s=i.originalLine;i&&i.originalLine===s;)t.push({line:a.getArg(i,"generatedLine",null),column:a.getArg(i,"generatedColumn",null),lastColumn:a.getArg(i,"lastGeneratedColumn",null)}),i=this._originalMappings[++o];else for(var l=i.originalColumn;i&&i.originalLine===n&&i.originalColumn==l;)t.push({line:a.getArg(i,"generatedLine",null),column:a.getArg(i,"generatedColumn",null),lastColumn:a.getArg(i,"lastGeneratedColumn",null)}),i=this._originalMappings[++o]}return t},e.__exports.SourceMapConsumer=c,h.prototype=Object.create(c.prototype),h.prototype.consumer=c,h.prototype._findSourceIndex=function(e){var n,r=e;if(null!=this.sourceRoot&&(r=a.relative(this.sourceRoot,r)),this._sources.has(r))return this._sources.indexOf(r);for(n=0;n<this._absoluteSources.length;++n)if(this._absoluteSources[n]==e)return n;return-1},h.fromSourceMap=function(e,n){var r=Object.create(h.prototype),t=r._names=l.fromArray(e._names.toArray(),!0),o=r._sources=l.fromArray(e._sources.toArray(),!0);r.sourceRoot=e._sourceRoot,r.sourcesContent=e._generateSourcesContent(r._sources.toArray(),r.sourceRoot),r.file=e._file,r._sourceMapURL=n,r._absoluteSources=r._sources.toArray().map(function(e){return a.computeSourceURL(r.sourceRoot,e,n)});for(var i=e._mappings.toArray().slice(),s=r.__generatedMappings=[],u=r.__originalMappings=[],g=0,c=i.length;g<c;g++){var _=i[g],m=new f;m.generatedLine=_.generatedLine,m.generatedColumn=_.generatedColumn,_.source&&(m.source=o.indexOf(_.source),m.originalLine=_.originalLine,m.originalColumn=_.originalColumn,_.name&&(m.name=t.indexOf(_.name)),u.push(m)),s.push(m)}return p(r.__originalMappings,a.compareByOriginalPositions),r},h.prototype._version=3,Object.defineProperty(h.prototype,"sources",{get:function(){return this._absoluteSources.slice()}});const _=a.compareByGeneratedPositionsDeflatedNoLine;function m(e,n){let r=e.length,t=e.length-n;if(!(t<=1))if(2==t){let r=e[n],t=e[n+1];_(r,t)>0&&(e[n]=t,e[n+1]=r)}else if(t<20)for(let t=n;t<r;t++)for(let r=t;r>n;r--){let n=e[r-1],t=e[r];if(_(n,t)<=0)break;e[r-1]=t,e[r]=n}else p(e,_,n)}function d(e,n){var r=e;"string"==typeof e&&(r=a.parseSourceMapInput(e));var t=a.getArg(r,"version"),o=a.getArg(r,"sections");if(t!=this._version)throw new Error("Unsupported version: "+t);this._sources=new l,this._names=new l;var i={line:-1,column:0};this._sections=o.map(function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var r=a.getArg(e,"offset"),t=a.getArg(r,"line"),o=a.getArg(r,"column");if(t<i.line||t===i.line&&o<i.column)throw new Error("Section offsets must be ordered and non-overlapping.");return i=r,{generatedOffset:{generatedLine:t+1,generatedColumn:o+1},consumer:new c(a.getArg(e,"map"),n)}})}return h.prototype._parseMappings=function(e,n){var r,t,o,i,s=1,u=0,l=0,c=0,h=0,_=0,d=e.length,C=0,v={},L=[],y=[];let A=0;for(;C<d;)if(";"===e.charAt(C))s++,C++,u=0,m(y,A),A=y.length;else if(","===e.charAt(C))C++;else{for((r=new f).generatedLine=s,o=C;o<d&&!this._charIsMappingSeparator(e,o);o++);for(e.slice(C,o),t=[];C<o;)g.decode(e,C,v),i=v.value,C=v.rest,t.push(i);if(2===t.length)throw new Error("Found a source, but no line and column");if(3===t.length)throw new Error("Found a source and line, but no column");if(r.generatedColumn=u+t[0],u=r.generatedColumn,t.length>1&&(r.source=h+t[1],h+=t[1],r.originalLine=l+t[2],l=r.originalLine,r.originalLine+=1,r.originalColumn=c+t[3],c=r.originalColumn,t.length>4&&(r.name=_+t[4],_+=t[4])),y.push(r),"number"==typeof r.originalLine){let e=r.source;for(;L.length<=e;)L.push(null);null===L[e]&&(L[e]=[]),L[e].push(r)}}m(y,A),this.__generatedMappings=y;for(var M=0;M<L.length;M++)null!=L[M]&&p(L[M],a.compareByOriginalPositionsNoSource);this.__originalMappings=[].concat(...L)},h.prototype._findMapping=function(e,n,r,t,o,i){if(e[r]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[r]);if(e[t]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[t]);return u.search(e,n,o,i)},h.prototype.computeColumnSpans=function(){for(var e=0;e<this._generatedMappings.length;++e){var n=this._generatedMappings[e];if(e+1<this._generatedMappings.length){var r=this._generatedMappings[e+1];if(n.generatedLine===r.generatedLine){n.lastGeneratedColumn=r.generatedColumn-1;continue}}n.lastGeneratedColumn=1/0}},h.prototype.originalPositionFor=function(e){var n={generatedLine:a.getArg(e,"line"),generatedColumn:a.getArg(e,"column")},r=this._findMapping(n,this._generatedMappings,"generatedLine","generatedColumn",a.compareByGeneratedPositionsDeflated,a.getArg(e,"bias",c.GREATEST_LOWER_BOUND));if(r>=0){var t=this._generatedMappings[r];if(t.generatedLine===n.generatedLine){var o=a.getArg(t,"source",null);null!==o&&(o=this._sources.at(o),o=a.computeSourceURL(this.sourceRoot,o,this._sourceMapURL));var i=a.getArg(t,"name",null);return null!==i&&(i=this._names.at(i)),{source:o,line:a.getArg(t,"originalLine",null),column:a.getArg(t,"originalColumn",null),name:i}}}return{source:null,line:null,column:null,name:null}},h.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e}))},h.prototype.sourceContentFor=function(e,n){if(!this.sourcesContent)return null;var r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];var t,o=e;if(null!=this.sourceRoot&&(o=a.relative(this.sourceRoot,o)),null!=this.sourceRoot&&(t=a.urlParse(this.sourceRoot))){var i=o.replace(/^file:\/\//,"");if("file"==t.scheme&&this._sources.has(i))return this.sourcesContent[this._sources.indexOf(i)];if((!t.path||"/"==t.path)&&this._sources.has("/"+o))return this.sourcesContent[this._sources.indexOf("/"+o)]}if(n)return null;throw new Error('"'+o+'" is not in the SourceMap.')},h.prototype.generatedPositionFor=function(e){var n=a.getArg(e,"source");if((n=this._findSourceIndex(n))<0)return{line:null,column:null,lastColumn:null};var r={source:n,originalLine:a.getArg(e,"line"),originalColumn:a.getArg(e,"column")},t=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",a.compareByOriginalPositions,a.getArg(e,"bias",c.GREATEST_LOWER_BOUND));if(t>=0){var o=this._originalMappings[t];if(o.source===r.source)return{line:a.getArg(o,"generatedLine",null),column:a.getArg(o,"generatedColumn",null),lastColumn:a.getArg(o,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},e.__exports.BasicSourceMapConsumer=h,d.prototype=Object.create(c.prototype),d.prototype.constructor=c,d.prototype._version=3,Object.defineProperty(d.prototype,"sources",{get:function(){for(var e=[],n=0;n<this._sections.length;n++)for(var r=0;r<this._sections[n].consumer.sources.length;r++)e.push(this._sections[n].consumer.sources[r]);return e}}),d.prototype.originalPositionFor=function(e){var n={generatedLine:a.getArg(e,"line"),generatedColumn:a.getArg(e,"column")},r=u.search(n,this._sections,function(e,n){var r=e.generatedLine-n.generatedOffset.generatedLine;return r||e.generatedColumn-n.generatedOffset.generatedColumn}),t=this._sections[r];return t?t.consumer.originalPositionFor({line:n.generatedLine-(t.generatedOffset.generatedLine-1),column:n.generatedColumn-(t.generatedOffset.generatedLine===n.generatedLine?t.generatedOffset.generatedColumn-1:0),bias:e.bias}):{source:null,line:null,column:null,name:null}},d.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(e){return e.consumer.hasContentsOfAllSources()})},d.prototype.sourceContentFor=function(e,n){for(var r=0;r<this._sections.length;r++){var t=this._sections[r].consumer.sourceContentFor(e,!0);if(t||""===t)return t}if(n)return null;throw new Error('"'+e+'" is not in the SourceMap.')},d.prototype.generatedPositionFor=function(e){for(var n=0;n<this._sections.length;n++){var r=this._sections[n];if(-1!==r.consumer._findSourceIndex(a.getArg(e,"source"))){var t=r.consumer.generatedPositionFor(e);if(t)return{line:t.line+(r.generatedOffset.generatedLine-1),column:t.column+(r.generatedOffset.generatedLine===t.line?r.generatedOffset.generatedColumn-1:0)}}}return{line:null,column:null}},d.prototype._parseMappings=function(e,n){this.__generatedMappings=[],this.__originalMappings=[];for(var r=0;r<this._sections.length;r++)for(var t=this._sections[r],o=t.consumer._generatedMappings,i=0;i<o.length;i++){var s=o[i],u=t.consumer._sources.at(s.source);null!==u&&(u=a.computeSourceURL(t.consumer.sourceRoot,u,this._sourceMapURL)),this._sources.add(u),u=this._sources.indexOf(u);var l=null;s.name&&(l=t.consumer._names.at(s.name),this._names.add(l),l=this._names.indexOf(l));var g={source:u,generatedLine:s.generatedLine+(t.generatedOffset.generatedLine-1),generatedColumn:s.generatedColumn+(t.generatedOffset.generatedLine===s.generatedLine?t.generatedOffset.generatedColumn-1:0),originalLine:s.originalLine,originalColumn:s.originalColumn,name:l};this.__generatedMappings.push(g),"number"==typeof g.originalLine&&this.__originalMappings.push(g)}p(this.__generatedMappings,a.compareByGeneratedPositionsDeflated),p(this.__originalMappings,a.compareByOriginalPositions)},e.__exports.IndexedSourceMapConsumer=d,e.__exports};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../_virtual/source-map-generator.js"),n=require("./base64-vlq.js"),o=require("./util.js"),r=require("./array-set.js"),t=require("./mapping-list.js");var i;exports.__require=function(){if(i)return e.__exports;i=1;var s=n.__require(),l=o.__require(),u=r.__require().ArraySet,a=t.__require().MappingList;function c(e){e||(e={}),this._file=l.getArg(e,"file",null),this._sourceRoot=l.getArg(e,"sourceRoot",null),this._skipValidation=l.getArg(e,"skipValidation",!1),this._ignoreInvalidMapping=l.getArg(e,"ignoreInvalidMapping",!1),this._sources=new u,this._names=new u,this._mappings=new a,this._sourcesContents=null}return c.prototype._version=3,c.fromSourceMap=function(e,n){var o=e.sourceRoot,r=new c(Object.assign(n||{},{file:e.file,sourceRoot:o}));return e.eachMapping(function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(n.source=e.source,null!=o&&(n.source=l.relative(o,n.source)),n.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(n.name=e.name)),r.addMapping(n)}),e.sources.forEach(function(n){var t=n;null!==o&&(t=l.relative(o,n)),r._sources.has(t)||r._sources.add(t);var i=e.sourceContentFor(n);null!=i&&r.setSourceContent(n,i)}),r},c.prototype.addMapping=function(e){var n=l.getArg(e,"generated"),o=l.getArg(e,"original",null),r=l.getArg(e,"source",null),t=l.getArg(e,"name",null);(this._skipValidation||!1!==this._validateMapping(n,o,r,t))&&(null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=t&&(t=String(t),this._names.has(t)||this._names.add(t)),this._mappings.add({generatedLine:n.line,generatedColumn:n.column,originalLine:null!=o&&o.line,originalColumn:null!=o&&o.column,source:r,name:t}))},c.prototype.setSourceContent=function(e,n){var o=e;null!=this._sourceRoot&&(o=l.relative(this._sourceRoot,o)),null!=n?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[l.toSetString(o)]=n):this._sourcesContents&&(delete this._sourcesContents[l.toSetString(o)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},c.prototype.applySourceMap=function(e,n,o){var r=n;if(null==n){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');r=e.file}var t=this._sourceRoot;null!=t&&(r=l.relative(t,r));var i=new u,s=new u;this._mappings.unsortedForEach(function(n){if(n.source===r&&null!=n.originalLine){var u=e.originalPositionFor({line:n.originalLine,column:n.originalColumn});null!=u.source&&(n.source=u.source,null!=o&&(n.source=l.join(o,n.source)),null!=t&&(n.source=l.relative(t,n.source)),n.originalLine=u.line,n.originalColumn=u.column,null!=u.name&&(n.name=u.name))}var a=n.source;null==a||i.has(a)||i.add(a);var c=n.name;null==c||s.has(c)||s.add(c)},this),this._sources=i,this._names=s,e.sources.forEach(function(n){var r=e.sourceContentFor(n);null!=r&&(null!=o&&(n=l.join(o,n)),null!=t&&(n=l.relative(t,n)),this.setSourceContent(n,r))},this)},c.prototype._validateMapping=function(e,n,o,r){if(n&&"number"!=typeof n.line&&"number"!=typeof n.column){var t="original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.";if(this._ignoreInvalidMapping)return"undefined"!=typeof console&&console.warn&&console.warn(t),!1;throw new Error(t)}if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||n||o||r)&&!(e&&"line"in e&&"column"in e&&n&&"line"in n&&"column"in n&&e.line>0&&e.column>=0&&n.line>0&&n.column>=0&&o)){t="Invalid mapping: "+JSON.stringify({generated:e,source:o,original:n,name:r});if(this._ignoreInvalidMapping)return"undefined"!=typeof console&&console.warn&&console.warn(t),!1;throw new Error(t)}},c.prototype._serializeMappings=function(){for(var e,n,o,r,t=0,i=1,u=0,a=0,c=0,p=0,g="",h=this._mappings.toArray(),_=0,m=h.length;_<m;_++){if(e="",(n=h[_]).generatedLine!==i)for(t=0;n.generatedLine!==i;)e+=";",i++;else if(_>0){if(!l.compareByGeneratedPositionsInflated(n,h[_-1]))continue;e+=","}e+=s.encode(n.generatedColumn-t),t=n.generatedColumn,null!=n.source&&(r=this._sources.indexOf(n.source),e+=s.encode(r-p),p=r,e+=s.encode(n.originalLine-1-a),a=n.originalLine-1,e+=s.encode(n.originalColumn-u),u=n.originalColumn,null!=n.name&&(o=this._names.indexOf(n.name),e+=s.encode(o-c),c=o)),g+=e}return g},c.prototype._generateSourcesContent=function(e,n){return e.map(function(e){if(!this._sourcesContents)return null;null!=n&&(e=l.relative(n,e));var o=l.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,o)?this._sourcesContents[o]:null},this)},c.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},c.prototype.toString=function(){return JSON.stringify(this.toJSON())},e.__exports.SourceMapGenerator=c,e.__exports};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../_virtual/source-node.js"),n=require("./source-map-generator.js"),r=require("./util.js");var t;exports.__require=function(){if(t)return e.__exports;t=1;var o=n.__require().SourceMapGenerator,i=r.__require(),l=/(\r?\n)/,u="$$$isSourceNode$$$";function s(e,n,r,t,o){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==n?null:n,this.source=null==r?null:r,this.name=null==o?null:o,this[u]=!0,null!=t&&this.add(t)}return s.fromStringWithSourceMap=function(e,n,r){var t=new s,o=e.split(l),u=0,c=function(){return e()+(e()||"");function e(){return u<o.length?o[u++]:void 0}},a=1,h=0,d=null;return n.eachMapping(function(e){if(null!==d){if(!(a<e.generatedLine)){var n=(r=o[u]||"").substr(0,e.generatedColumn-h);return o[u]=r.substr(e.generatedColumn-h),h=e.generatedColumn,p(d,n),void(d=e)}p(d,c()),a++,h=0}for(;a<e.generatedLine;)t.add(c()),a++;if(h<e.generatedColumn){var r=o[u]||"";t.add(r.substr(0,e.generatedColumn)),o[u]=r.substr(e.generatedColumn),h=e.generatedColumn}d=e},this),u<o.length&&(d&&p(d,c()),t.add(o.splice(u).join(""))),n.sources.forEach(function(e){var o=n.sourceContentFor(e);null!=o&&(null!=r&&(e=i.join(r,e)),t.setSourceContent(e,o))}),t;function p(e,n){if(null===e||void 0===e.source)t.add(n);else{var o=r?i.join(r,e.source):e.source;t.add(new s(e.originalLine,e.originalColumn,o,n,e.name))}}},s.prototype.add=function(e){if(Array.isArray(e))e.forEach(function(e){this.add(e)},this);else{if(!e[u]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);e&&this.children.push(e)}return this},s.prototype.prepend=function(e){if(Array.isArray(e))for(var n=e.length-1;n>=0;n--)this.prepend(e[n]);else{if(!e[u]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},s.prototype.walk=function(e){for(var n,r=0,t=this.children.length;r<t;r++)(n=this.children[r])[u]?n.walk(e):""!==n&&e(n,{source:this.source,line:this.line,column:this.column,name:this.name})},s.prototype.join=function(e){var n,r,t=this.children.length;if(t>0){for(n=[],r=0;r<t-1;r++)n.push(this.children[r]),n.push(e);n.push(this.children[r]),this.children=n}return this},s.prototype.replaceRight=function(e,n){var r=this.children[this.children.length-1];return r[u]?r.replaceRight(e,n):"string"==typeof r?this.children[this.children.length-1]=r.replace(e,n):this.children.push("".replace(e,n)),this},s.prototype.setSourceContent=function(e,n){this.sourceContents[i.toSetString(e)]=n},s.prototype.walkSourceContents=function(e){for(var n=0,r=this.children.length;n<r;n++)this.children[n][u]&&this.children[n].walkSourceContents(e);var t=Object.keys(this.sourceContents);for(n=0,r=t.length;n<r;n++)e(i.fromSetString(t[n]),this.sourceContents[t[n]])},s.prototype.toString=function(){var e="";return this.walk(function(n){e+=n}),e},s.prototype.toStringWithSourceMap=function(e){var n={code:"",line:1,column:0},r=new o(e),t=!1,i=null,l=null,u=null,s=null;return this.walk(function(e,o){n.code+=e,null!==o.source&&null!==o.line&&null!==o.column?(i===o.source&&l===o.line&&u===o.column&&s===o.name||r.addMapping({source:o.source,original:{line:o.line,column:o.column},generated:{line:n.line,column:n.column},name:o.name}),i=o.source,l=o.line,u=o.column,s=o.name,t=!0):t&&(r.addMapping({generated:{line:n.line,column:n.column}}),i=null,t=!1);for(var c=0,a=e.length;c<a;c++)10===e.charCodeAt(c)?(n.line++,n.column=0,c+1===a?(i=null,t=!1):t&&r.addMapping({source:o.source,original:{line:o.line,column:o.column},generated:{line:n.line,column:n.column},name:o.name})):n.column++}),this.walkSourceContents(function(e,n){r.setSourceContent(e,n)}),{code:n.code,map:r}},e.__exports.SourceNode=s,e.__exports};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../_virtual/util.js");var r;exports.__require=function(){return r||(r=1,function(e){e.getArg=function(e,r,n){if(r in e)return e[r];if(3===arguments.length)return n;throw new Error('"'+r+'" is a required argument.')};var r=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,n=/^data:.+\,.+$/;function t(e){var n=e.match(r);return n?{scheme:n[1],auth:n[2],host:n[3],port:n[4],path:n[5]}:null}function i(e){var r="";return e.scheme&&(r+=e.scheme+":"),r+="//",e.auth&&(r+=e.auth+"@"),e.host&&(r+=e.host),e.port&&(r+=":"+e.port),e.path&&(r+=e.path),r}e.urlParse=t,e.urlGenerate=i;var o,a,u=(o=function(r){var n=r,o=t(r);if(o){if(!o.path)return r;n=o.path}for(var a=e.isAbsolute(n),u=[],l=0,c=0;;){if(l=c,-1===(c=n.indexOf("/",l))){u.push(n.slice(l));break}for(u.push(n.slice(l,c));c<n.length&&"/"===n[c];)c++}var s,f=0;for(c=u.length-1;c>=0;c--)"."===(s=u[c])?u.splice(c,1):".."===s?f++:f>0&&(""===s?(u.splice(c+1,f),f=0):(u.splice(c,2),f--));return""===(n=u.join("/"))&&(n=a?"/":"."),o?(o.path=n,i(o)):n},a=[],function(e){for(var r=0;r<a.length;r++)if(a[r].input===e){var n=a[0];return a[0]=a[r],a[r]=n,a[0].result}var t=o(e);return a.unshift({input:e,result:t}),a.length>32&&a.pop(),t});function l(e,r){""===e&&(e="."),""===r&&(r=".");var o=t(r),a=t(e);if(a&&(e=a.path||"/"),o&&!o.scheme)return a&&(o.scheme=a.scheme),i(o);if(o||r.match(n))return r;if(a&&!a.host&&!a.path)return a.host=r,i(a);var l="/"===r.charAt(0)?r:u(e.replace(/\/+$/,"")+"/"+r);return a?(a.path=l,i(a)):l}e.normalize=u,e.join=l,e.isAbsolute=function(e){return"/"===e.charAt(0)||r.test(e)},e.relative=function(e,r){""===e&&(e="."),e=e.replace(/\/$/,"");for(var n=0;0!==r.indexOf(e+"/");){var t=e.lastIndexOf("/");if(t<0)return r;if((e=e.slice(0,t)).match(/^([^\/]+:\/)?\/*$/))return r;++n}return Array(n+1).join("../")+r.substr(e.length+1)};var c=!("__proto__"in Object.create(null));function s(e){return e}function f(e){if(!e)return!1;var r=e.length;if(r<9)return!1;if(95!==e.charCodeAt(r-1)||95!==e.charCodeAt(r-2)||111!==e.charCodeAt(r-3)||116!==e.charCodeAt(r-4)||111!==e.charCodeAt(r-5)||114!==e.charCodeAt(r-6)||112!==e.charCodeAt(r-7)||95!==e.charCodeAt(r-8)||95!==e.charCodeAt(r-9))return!1;for(var n=r-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function g(e,r){return e===r?0:null===e?1:null===r?-1:e>r?1:-1}e.toSetString=c?s:function(e){return f(e)?"$"+e:e},e.fromSetString=c?s:function(e){return f(e)?e.slice(1):e},e.compareByOriginalPositions=function(e,r,n){var t=g(e.source,r.source);return 0!==t||0!==(t=e.originalLine-r.originalLine)||0!==(t=e.originalColumn-r.originalColumn)||n||0!==(t=e.generatedColumn-r.generatedColumn)||0!==(t=e.generatedLine-r.generatedLine)?t:g(e.name,r.name)},e.compareByOriginalPositionsNoSource=function(e,r,n){var t;return 0!==(t=e.originalLine-r.originalLine)||0!==(t=e.originalColumn-r.originalColumn)||n||0!==(t=e.generatedColumn-r.generatedColumn)||0!==(t=e.generatedLine-r.generatedLine)?t:g(e.name,r.name)},e.compareByGeneratedPositionsDeflated=function(e,r,n){var t=e.generatedLine-r.generatedLine;return 0!==t||0!==(t=e.generatedColumn-r.generatedColumn)||n||0!==(t=g(e.source,r.source))||0!==(t=e.originalLine-r.originalLine)||0!==(t=e.originalColumn-r.originalColumn)?t:g(e.name,r.name)},e.compareByGeneratedPositionsDeflatedNoLine=function(e,r,n){var t=e.generatedColumn-r.generatedColumn;return 0!==t||n||0!==(t=g(e.source,r.source))||0!==(t=e.originalLine-r.originalLine)||0!==(t=e.originalColumn-r.originalColumn)?t:g(e.name,r.name)},e.compareByGeneratedPositionsInflated=function(e,r){var n=e.generatedLine-r.generatedLine;return 0!==n||0!==(n=e.generatedColumn-r.generatedColumn)||0!==(n=g(e.source,r.source))||0!==(n=e.originalLine-r.originalLine)||0!==(n=e.originalColumn-r.originalColumn)?n:g(e.name,r.name)},e.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))},e.computeSourceURL=function(e,r,n){if(r=r||"",e&&("/"!==e[e.length-1]&&"/"!==r[0]&&(e+="/"),r=e+r),n){var o=t(n);if(!o)throw new Error("sourceMapURL could not be parsed");if(o.path){var a=o.path.lastIndexOf("/");a>=0&&(o.path=o.path.substring(0,a+1))}r=l(i(o),r)}return u(r)}}(e.__exports)),e.__exports};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../_virtual/source-map.js"),r=require("./lib/source-map-generator.js"),o=require("./lib/source-map-consumer.js"),u=require("./lib/source-node.js");var s;exports.__require=function(){return s||(s=1,e.__exports.SourceMapGenerator=r.__require().SourceMapGenerator,e.__exports.SourceMapConsumer=o.__require().SourceMapConsumer,e.__exports.SourceNode=u.__require().SourceNode),e.__exports};
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var e="1.13.20";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.13.22";const o={version:e};exports.default=o,exports.version=e;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo-cmp-cli",
3
- "version": "1.13.20",
3
+ "version": "1.13.22",
4
4
  "description": "Neo 自定义组件开发工具,支持react 和 vue2.0技术栈。",
5
5
  "keywords": [
6
6
  "neo-cli",
@@ -40,6 +40,7 @@
40
40
  "url": "https://github.com/xsy-neoui/neo-cmp-cli/issues"
41
41
  },
42
42
  "dependencies": {
43
+ "@cloudbase/js-sdk": "^1.7.1",
43
44
  "adm-zip": "^0.5.10",
44
45
  "akfun": "^5.3.3",
45
46
  "axios": "^1.7.0",
@@ -51,14 +52,15 @@
51
52
  "form-data": "^4.0.0",
52
53
  "fs-extra": "^10.1.0",
53
54
  "inquirer": "^8.2.7",
55
+ "jsdom": "^28.0.0",
54
56
  "lodash": "^4.17.23",
55
57
  "open": "^8.4.2",
56
58
  "ora": "^4.0.4",
57
59
  "portfinder": "^1.0.38",
60
+ "postcss-less": "^6.0.0",
61
+ "postcss-scss": "^4.0.9",
58
62
  "webpack-sources": "^3.2.3",
59
- "yargs": "^17.7.2",
60
- "jsdom": "^28.0.0",
61
- "@cloudbase/js-sdk": "^1.7.1"
63
+ "yargs": "^17.7.2"
62
64
  },
63
65
  "devDependencies": {
64
66
  "@commitlint/cli": "^18.0.0",
@@ -82,4 +84,4 @@
82
84
  "Firefox >= 20",
83
85
  "Android > 4.4"
84
86
  ]
85
- }
87
+ }
@@ -48,7 +48,7 @@
48
48
  "@commitlint/config-conventional": "^18.0.0",
49
49
  "@types/react": "^16.9.11",
50
50
  "@types/react-dom": "^16.9.15",
51
- "neo-cmp-cli": "^1.13.17",
51
+ "neo-cmp-cli": "^1.13.22",
52
52
  "husky": "^4.2.5",
53
53
  "lint-staged": "^10.2.9",
54
54
  "prettier": "^2.0.5"
@@ -52,7 +52,7 @@
52
52
  "@types/react": "^16.9.11",
53
53
  "@types/react-dom": "^16.9.15",
54
54
  "@types/axios": "^0.14.0",
55
- "neo-cmp-cli": "^1.13.20",
55
+ "neo-cmp-cli": "^1.13.22",
56
56
  "husky": "^4.2.5",
57
57
  "lint-staged": "^10.2.9",
58
58
  "prettier": "^2.0.5",
@@ -48,7 +48,7 @@
48
48
  "@commitlint/config-conventional": "^18.0.0",
49
49
  "@types/react": "^16.9.11",
50
50
  "@types/react-dom": "^16.9.15",
51
- "neo-cmp-cli": "^1.13.20",
51
+ "neo-cmp-cli": "^1.13.22",
52
52
  "husky": "^4.2.5",
53
53
  "lint-staged": "^10.2.9",
54
54
  "prettier": "^2.0.5",
@@ -41,7 +41,7 @@
41
41
  "@commitlint/config-conventional": "^18.0.0",
42
42
  "@types/react": "^16.9.11",
43
43
  "@types/react-dom": "^16.9.15",
44
- "neo-cmp-cli": "^1.13.20",
44
+ "neo-cmp-cli": "^1.13.22",
45
45
  "husky": "^4.2.5",
46
46
  "lint-staged": "^10.2.9",
47
47
  "prettier": "^2.0.5"
@@ -47,7 +47,7 @@
47
47
  "@commitlint/config-conventional": "^18.0.0",
48
48
  "@types/react": "^16.9.11",
49
49
  "@types/react-dom": "^16.9.15",
50
- "neo-cmp-cli": "^1.13.17",
50
+ "neo-cmp-cli": "^1.13.22",
51
51
  "husky": "^4.2.5",
52
52
  "lint-staged": "^10.2.9",
53
53
  "prettier": "^2.0.5"
@@ -53,7 +53,7 @@
53
53
  "@types/react-dom": "^16.9.15",
54
54
  "husky": "^4.2.5",
55
55
  "lint-staged": "^10.2.9",
56
- "neo-cmp-cli": "^1.13.20",
56
+ "neo-cmp-cli": "^1.13.22",
57
57
  "prettier": "^2.0.5"
58
58
  },
59
59
  "overrides": {
@@ -0,0 +1,92 @@
1
+ # CODEBUDDY.md
2
+
3
+ This file provides guidance to CodeBuddy Code when working with code in this repository.
4
+
5
+ ## Project Overview
6
+
7
+ NeoCRM 自定义业务组件模板项目。基于 React 16 + TypeScript + Ant Design 4 + SCSS,通过 `neo-cmp-cli` 工具链进行预览、调试和发布。
8
+
9
+ ## Commands
10
+
11
+ ```bash
12
+ npm i # 安装依赖
13
+ npm run preview # 预览组件 (neo preview)
14
+ npm run linkDebug # 外链调试 - 在线上页面设计器端预览自定义组件
15
+ npm run neoLogin # OAuth2 登录 NeoCRM 平台
16
+ npm run pushCmp # 构建并发布组件到 NeoCRM 平台
17
+ npm run pullCmp # 从平台拉取组件
18
+ npm run deleteCmp # 删除平台上的组件
19
+ npm run format # Prettier 格式化
20
+ ```
21
+
22
+ 没有标准的 build/dev/test 命令。构建在 `neo push cmp` 时隐式执行,无测试框架配置。
23
+
24
+ ## Architecture
25
+
26
+ ### Component Structure
27
+
28
+ 每个自定义组件位于 `src/components/` 下,以 `cmpType__c` 命名(`__c` 后缀表示自定义):
29
+
30
+ ```
31
+ src/components/xxCmp__c/
32
+ ├── index.tsx # 组件实现(默认入口)
33
+ ├── model.ts # 模型文件 - 对接页面设计器的属性/事件/函数声明
34
+ ├── style.scss # 组件样式
35
+ └── README.md # 组件文档(可选)
36
+ ```
37
+
38
+ 当 `neo.config.js` 的 `entry` 为空时,CLI 根据 `src/components/` 目录结构自动生成 entry 和注册文件,开发者无需关注 `neo-register`。
39
+
40
+ ### Component Base Class
41
+
42
+ - `BaseCmp`(来自 `neo-ui-common`):主要基类,继承自 `React.PureComponent`
43
+ - 部分组件也可直接继承 `React.PureComponent`
44
+ - 类型定义在 `@types/neo-ui-common.d.ts`
45
+
46
+ ### Model File
47
+
48
+ `model.ts` 定义组件在设计器中的配置,关键字段:
49
+
50
+ - `label` / `description`:组件名称和描述
51
+ - `targetPage`:支持页面类型(`all` / `entityFormPage` / `customPage`)
52
+ - `targetDevice`:支持终端(`web` / `mobile`)
53
+ - `iconUrl`:组件图标
54
+ - `defaultComProps`:默认属性
55
+ - `propsSchema`:编辑器属性面板配置
56
+ - `events`:组件事件声明
57
+ - `functions`:组件对外暴露的函数
58
+
59
+ ### Platform APIs
60
+
61
+ - **neo-open-api / xObject**:实体数据 CRUD(`query`, `get`, `create`, `update`, `delete`, `getDesc`, `getEntityTypeList`)
62
+ - **neo-open-api / customApi**:自定义 API 代理调用(`customApi.run`)
63
+ - **neo-ui-common / NeoEvent**:事件系统
64
+ - `@NeoEvent.function` 装饰器:声明可被其他组件调用的函数
65
+ - `@NeoEvent.dispatch`:声明事件派发
66
+ - `NeoEvent.broadcast` / `NeoEvent.listen`:广播/监听事件
67
+ - **props.data.__NeoSystemInfo**:平台系统信息
68
+
69
+ ### Data Fetching Modes
70
+
71
+ 1. **自动获取**(`autoFetchData: true`):平台自动注入 `props.entityData` 和 `props.xObjectDataApi.fieldDescList`
72
+ 2. **手动获取**:组件自行通过 `neo-open-api` SDK 调用接口
73
+
74
+ ### Path Aliases (webpack)
75
+
76
+ - `@` → `./src`
77
+ - `$assets` → `./src/assets`
78
+ - `$public` → `./public`
79
+ - `$utils` → `./src/utils`
80
+
81
+ ### SCSS Auto-injection
82
+
83
+ `src/assets/css/common.scss`(变量、函数)和 `src/assets/css/mixin.scss`(通用 mixin)通过 `sassResources` 自动注入所有 SCSS 文件,无需手动 import。
84
+
85
+ ## Key Rules
86
+
87
+ - **React 16**:必须使用 React 16 版本
88
+ - **样式隔离**:组件最外层设置唯一 className(如 `entityForm__c`),所有样式放在该选择器内
89
+ - **组件命名**:目录名使用 `cmpType__c` 格式
90
+ - **发布要求**:`package.json` 的 `name` 值必须唯一,`version` 值不能重复
91
+ - **代码风格**:Prettier 配置为单引号、分号、2 空格缩进、尾逗号 all
92
+ - **Commit 规范**:type 必须是 feat/fix/bug/docs/style/refactor/test/chore/perf/build/ci 之一
@@ -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.13.20",
58
+ "neo-cmp-cli": "^1.13.22",
59
59
  "husky": "^4.2.5",
60
60
  "lint-staged": "^10.2.9",
61
61
  "prettier": "^2.0.5"
@@ -120,7 +120,7 @@ export default class CustomApiCmp extends BaseCmp<
120
120
  data: {
121
121
  url: targetUrl,
122
122
  method: 'GET',
123
- data: {test: 333},
123
+ data: { test: 333 },
124
124
  },
125
125
  });
126
126
  }
@@ -145,13 +145,13 @@ export default class CustomApiCmp extends BaseCmp<
145
145
  const { className, title: propsTitle } = this.props;
146
146
  const displayTitle = propsTitle || '自定义 API 示例';
147
147
 
148
- console.log('this.props:', this.props);
149
-
150
148
  return (
151
149
  <div className={`customApi__c ${className || ''}`}>
152
150
  <div className="table-wrapper">
153
151
  <div className="panel-header">
154
- <h3>{displayTitle}</h3>
152
+ <div className="panel-header-text">
153
+ <h3>{displayTitle}</h3>
154
+ </div>
155
155
  </div>
156
156
  <div className="table-container">
157
157
  <Spin spinning={loading} tip="加载数据中...">
@@ -171,7 +171,11 @@ export default class CustomApiCmp extends BaseCmp<
171
171
  columns={POST_COLUMNS}
172
172
  dataSource={dataSource}
173
173
  rowKey="id"
174
- pagination={{ pageSize: 10, showSizeChanger: true }}
174
+ pagination={{
175
+ pageSize: 10,
176
+ showSizeChanger: true,
177
+ showTotal: (total) => `共 ${total} 条`,
178
+ }}
175
179
  scroll={{ y: 'max-content' }}
176
180
  />
177
181
  )}
@@ -21,7 +21,7 @@ export class CustomApiCmpModel {
21
21
  data: {
22
22
  url: 'https://jsonplaceholder.typicode.com/posts',
23
23
  method: 'GET',
24
- data: {test: 111},
24
+ data: { test: 111 },
25
25
  },
26
26
  },
27
27
  };
@@ -1,25 +1,31 @@
1
1
  .customApi__c {
2
+ background: #fff;
3
+ border-radius: 8px;
4
+
2
5
  .table-wrapper {
3
- border: 1px solid #ddd;
4
- border-radius: 4px;
6
+ padding: 16px 20px;
5
7
  display: flex;
6
8
  flex-direction: column;
7
9
  overflow: hidden;
8
10
  }
9
11
 
10
12
  .panel-header {
11
- padding: 15px;
12
- background: #f5f5f5;
13
- border-bottom: 1px solid #ddd;
13
+ padding: 12px 0 8px 0;
14
+ background: #fff;
14
15
  display: flex;
15
16
  justify-content: space-between;
16
- align-items: center;
17
+ align-items: flex-start;
18
+
19
+ .panel-header-text {
20
+ flex: 1;
21
+ min-width: 0;
22
+ }
17
23
 
18
24
  h3 {
19
25
  margin: 0;
20
26
  font-size: 16px;
21
27
  font-weight: 600;
22
- color: #262626;
28
+ color: #434343;
23
29
  }
24
30
  }
25
31
 
@@ -38,6 +44,7 @@
38
44
  font-size: 13px;
39
45
  position: sticky;
40
46
  top: 0;
47
+ z-index: 1;
41
48
  }
42
49
 
43
50
  .ant-table-tbody > tr > td {
@@ -52,6 +59,11 @@
52
59
  }
53
60
  }
54
61
 
62
+ .ant-pagination {
63
+ padding: 12px 0 0;
64
+ margin: 0;
65
+ }
66
+
55
67
  .ant-empty {
56
68
  padding: 40px 0;
57
69
 
@@ -73,14 +85,9 @@
73
85
  }
74
86
  }
75
87
 
76
- // 响应式设计
77
88
  @media (max-width: 768px) {
78
89
  .panel-header {
79
- padding: 12px;
80
-
81
- h3 {
82
- font-size: 14px;
83
- }
90
+ padding: 12px 0 6px 0;
84
91
  }
85
92
 
86
93
  .table-container {
@@ -96,11 +103,7 @@
96
103
 
97
104
  @media (max-width: 576px) {
98
105
  .panel-header {
99
- padding: 10px;
100
-
101
- h3 {
102
- font-size: 13px;
103
- }
106
+ padding: 10px 0 6px 0;
104
107
  }
105
108
 
106
109
  .table-container {
@@ -135,6 +135,7 @@ export default class EntityCardList extends BaseCmp<
135
135
  <UserOutlined className="info-icon" />
136
136
  <span className="name-text">
137
137
  {object.name ||
138
+ object.contactName ||
138
139
  object.accountName ||
139
140
  object.productName ||
140
141
  '未知姓名'}
@@ -145,6 +146,7 @@ export default class EntityCardList extends BaseCmp<
145
146
  <span className="phone-text">
146
147
  {object.phone__c ||
147
148
  object.phone ||
149
+ object.mobile ||
148
150
  object.phoneNumber ||
149
151
  '未填写手机号'}
150
152
  </span>
@@ -159,8 +161,8 @@ export default class EntityCardList extends BaseCmp<
159
161
  render() {
160
162
  const { title, className } = this.props;
161
163
  const { objectDataList, loading, error } = this.state;
162
- const curAmisData = this.props.data || {};
163
- const systemInfo = curAmisData.__NeoSystemInfo || {};
164
+ // const curAmisData = this.props.data || {}; // 组件上下文信息
165
+ // const systemInfo = curAmisData.__NeoSystemInfo || {}; // 系统信息
164
166
  console.log('this.props:', this.props);
165
167
 
166
168
  return (
@@ -169,7 +171,6 @@ export default class EntityCardList extends BaseCmp<
169
171
  <div className="header-content">
170
172
  <h3 className="header-title">
171
173
  {title || '数据卡片列表'}
172
- {systemInfo.tenantName ? `【${systemInfo.tenantName}】` : ''}
173
174
  </h3>
174
175
  <Button
175
176
  type="primary"
@@ -38,8 +38,16 @@ export class EntityCardListModel {
38
38
  title: '数据卡片列表',
39
39
  label: '数据卡片列表',
40
40
  xObjectDataApi: {
41
- xObjectApiKey: 'customContact__c',
42
- fields: ['name', 'phone__c'],
41
+ xObjectApiKey: 'contact',
42
+ fields: [
43
+ 'entityType',
44
+ 'contactName',
45
+ 'accountId',
46
+ 'depart',
47
+ 'mobile',
48
+ 'email',
49
+ 'comment',
50
+ ],
43
51
  },
44
52
  };
45
53
 
@@ -30,7 +30,7 @@
30
30
  font-size: 18px;
31
31
  font-weight: 500;
32
32
  line-height: 1.4;
33
- color: #262626;
33
+ color: #434343;
34
34
  flex: 1;
35
35
  }
36
36
 
@@ -289,7 +289,7 @@ export default class EntityDetail extends React.PureComponent<
289
289
  console.log('this.props:', this.props);
290
290
 
291
291
  return (
292
- <div className={`entityDetail__c ${className}`}>
292
+ <div className={['entityDetail__c', className].filter(Boolean).join(' ')}>
293
293
  {showTitle && (
294
294
  <div className="detail-header">
295
295
  <div className="header-content">