diff --git a/package.json b/package.json index 4ab1756d3..bcbec102d 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "lint:fix": "tslint --fix -p tsconfig.json", "build": "lerna run build", "test": "lerna run test", - "snapshot": "lerna run snapshot" + "test:snapshot": "lerna run test:snapshot" }, "devDependencies": { "@types/node": "^10.12.18", diff --git a/packages/material-parser/package.json b/packages/material-parser/package.json index 518334222..39d77a712 100644 --- a/packages/material-parser/package.json +++ b/packages/material-parser/package.json @@ -24,7 +24,7 @@ "build": "tsc", "prebuild": "npm run schema", "test": "ava", - "snapshot": "ava --update-snapshots", + "test:snapshot": "ava --update-snapshots", "schema": "node ./scripts/transform.js" }, "ava": { diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.md b/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.md index 005b5786d..b39f095d8 100644 --- a/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.md +++ b/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.md @@ -11,380 +11,360 @@ Generated by [AVA](https://ava.li). [ { manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/manifest.js', - manifestJS: 'export default {"name":"AIMakeBlank","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"styleFlexLayout","label":"styleFlexLayout","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"},{"name":"id","label":"id","renderer":""}]}}', + manifestJS: undefined, manifestObj: { - name: 'AIMakeBlank', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [ - { - defaultValue: undefined, - label: 'children', - name: 'children', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBoxModel', - name: 'styleBoxModel', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleLayout', - name: 'styleLayout', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBackground', - name: 'styleBackground', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleFlexLayout', - name: 'styleFlexLayout', - renderer: '', - }, - { - defaultValue: '{}', - label: 'style', - name: 'style', - renderer: '', - }, - { - defaultValue: undefined, - label: 'id', - name: 'id', - renderer: '', - }, - ], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', + componentName: 'AIMakeBlank', + docUrl: '', + npm: { + destructuring: false, + exportName: 'AIMakeBlank', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', }, + props: [ + { + defaultValue: undefined, + description: '', + name: 'children', + propType: 'oneOfType', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBoxModel', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleLayout', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBackground', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleFlexLayout', + propType: 'object', + }, + { + defaultValue: '{}', + description: '', + name: 'style', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'id', + propType: 'string', + }, + ], + screenshot: '', + title: '', }, }, { manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/manifest.js', - manifestJS: 'export default {"name":"AIMakeIcon","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"className","label":"className","renderer":""},{"name":"iconClassName","label":"iconClassName","renderer":""},{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleText","label":"styleText","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestJS: undefined, manifestObj: { - name: 'AIMakeIcon', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [ - { - defaultValue: undefined, - label: 'className', - name: 'className', - renderer: '', - }, - { - defaultValue: undefined, - label: 'iconClassName', - name: 'iconClassName', - renderer: '', - }, - { - defaultValue: undefined, - label: 'children', - name: 'children', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBoxModel', - name: 'styleBoxModel', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleText', - name: 'styleText', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBackground', - name: 'styleBackground', - renderer: '', - }, - { - defaultValue: '{}', - label: 'style', - name: 'style', - renderer: '', - }, - ], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', + componentName: 'AIMakeIcon', + docUrl: '', + npm: { + destructuring: false, + exportName: 'AIMakeIcon', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', }, + props: [ + { + defaultValue: undefined, + description: '', + name: 'className', + propType: 'string', + }, + { + defaultValue: undefined, + description: '', + name: 'iconClassName', + propType: 'string', + }, + { + defaultValue: undefined, + description: '', + name: 'children', + propType: 'oneOfType', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBoxModel', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleText', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBackground', + propType: 'object', + }, + { + defaultValue: '{}', + description: '', + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: '', }, }, { manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/manifest.js', - manifestJS: 'export default {"name":"AIMakeImage","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestJS: undefined, manifestObj: { - name: 'AIMakeImage', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [ - { - defaultValue: undefined, - label: 'styleBoxModel', - name: 'styleBoxModel', - renderer: '', - }, - { - defaultValue: '{}', - label: 'style', - name: 'style', - renderer: '', - }, - ], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', + componentName: 'AIMakeImage', + docUrl: '', + npm: { + destructuring: false, + exportName: 'AIMakeImage', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', }, + props: [ + { + defaultValue: undefined, + description: '', + name: 'styleBoxModel', + propType: 'object', + }, + { + defaultValue: '{}', + description: '', + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: '', }, }, { manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/manifest.js', - manifestJS: 'export default {"name":"AIMakeLink","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleText","label":"styleText","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestJS: undefined, manifestObj: { - name: 'AIMakeLink', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [ - { - defaultValue: undefined, - label: 'children', - name: 'children', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBoxModel', - name: 'styleBoxModel', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleText', - name: 'styleText', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleLayout', - name: 'styleLayout', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBackground', - name: 'styleBackground', - renderer: '', - }, - { - defaultValue: '{}', - label: 'style', - name: 'style', - renderer: '', - }, - ], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', + componentName: 'AIMakeLink', + docUrl: '', + npm: { + destructuring: false, + exportName: 'AIMakeLink', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', }, + props: [ + { + defaultValue: undefined, + description: '', + name: 'children', + propType: 'oneOfType', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBoxModel', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleText', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleLayout', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBackground', + propType: 'object', + }, + { + defaultValue: '{}', + description: '', + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: '', }, }, { manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/manifest.js', - manifestJS: 'export default {"name":"AIMakePlaceholder","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestJS: undefined, manifestObj: { - name: 'AIMakePlaceholder', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [ - { - defaultValue: undefined, - label: 'children', - name: 'children', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBoxModel', - name: 'styleBoxModel', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleLayout', - name: 'styleLayout', - renderer: '', - }, - { - defaultValue: '{}', - label: 'style', - name: 'style', - renderer: '', - }, - ], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', + componentName: 'AIMakePlaceholder', + docUrl: '', + npm: { + destructuring: false, + exportName: 'AIMakePlaceholder', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', }, + props: [ + { + defaultValue: undefined, + description: '', + name: 'children', + propType: 'oneOfType', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBoxModel', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleLayout', + propType: 'object', + }, + { + defaultValue: '{}', + description: '', + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: '', }, }, { manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/manifest.js', - manifestJS: 'export default {"name":"AIMakeText","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"type","label":"type","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleText","label":"styleText","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestJS: undefined, manifestObj: { - name: 'AIMakeText', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [ - { - defaultValue: undefined, - label: 'children', - name: 'children', - renderer: '', - }, - { - defaultValue: undefined, - label: 'type', - name: 'type', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBoxModel', - name: 'styleBoxModel', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleText', - name: 'styleText', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleLayout', - name: 'styleLayout', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBackground', - name: 'styleBackground', - renderer: '', - }, - { - defaultValue: '{}', - label: 'style', - name: 'style', - renderer: '', - }, - ], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', + componentName: 'AIMakeText', + docUrl: '', + npm: { + destructuring: false, + exportName: 'AIMakeText', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', }, + props: [ + { + defaultValue: undefined, + description: '', + name: 'children', + propType: 'oneOfType', + }, + { + defaultValue: undefined, + description: '', + name: 'type', + propType: 'string', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBoxModel', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleText', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleLayout', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBackground', + propType: 'object', + }, + { + defaultValue: '{}', + description: '', + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: '', }, }, { manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/manifest.js', - manifestJS: 'export default {"name":"Root","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"style","label":"style","renderer":"","defaultValue":"{\\n padding: 0,\\n backgroundColor: \'#f0f2f5\',\\n minHeight: \'100%\'\\n}"},{"name":"children","label":"children","renderer":""}]}}', + manifestJS: undefined, manifestObj: { - name: 'Root', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [ - { - defaultValue: `{␊ - padding: 0,␊ - backgroundColor: '#f0f2f5',␊ - minHeight: '100%'␊ - }`, - label: 'style', - name: 'style', - renderer: '', - }, - { - defaultValue: undefined, - label: 'children', - name: 'children', - renderer: '', - }, - ], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', + componentName: 'Root', + docUrl: '', + npm: { + destructuring: false, + exportName: 'Root', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: 'multiple-exported-component', + subName: '', + version: '1.0.0', }, + props: [ + { + defaultValue: `{␊ + padding: 0,␊ + backgroundColor: '#f0f2f5',␊ + minHeight: '100%'␊ + }`, + description: '', + name: 'style', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'children', + propType: 'oneOfType', + }, + ], + screenshot: '', + title: '', }, }, ] -## materialize multiple exported component by online - -> Snapshot 1 - - [] - ## materialize single exported component by local > Snapshot 1 @@ -392,172 +372,142 @@ Generated by [AVA](https://ava.li). [ { manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/manifest.js', - manifestJS: 'export default {"name":"Demo","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"optionalArray","label":"optionalArray","renderer":""},{"name":"optionalBool","label":"optionalBool","renderer":""},{"name":"optionalFunc","label":"optionalFunc","renderer":""},{"name":"optionalNumber","label":"optionalNumber","renderer":""},{"name":"optionalObject","label":"optionalObject","renderer":""},{"name":"optionalString","label":"optionalString","renderer":""},{"name":"optionalSymbol","label":"optionalSymbol","renderer":""},{"name":"optionalNode","label":"optionalNode","renderer":""},{"name":"optionalElement","label":"optionalElement","renderer":""},{"name":"optionalElementType","label":"optionalElementType","renderer":""},{"name":"optionalMessage","label":"optionalMessage","renderer":""},{"name":"optionalEnum","label":"optionalEnum","renderer":""},{"name":"optionalUnion","label":"optionalUnion","renderer":""},{"name":"optionalArrayOf","label":"optionalArrayOf","renderer":""},{"name":"optionalObjectOf","label":"optionalObjectOf","renderer":""},{"name":"optionalObjectWithShape","label":"optionalObjectWithShape","renderer":""},{"name":"optionalObjectWithShape2","label":"optionalObjectWithShape2","renderer":""},{"name":"optionalObjectWithStrictShape","label":"optionalObjectWithStrictShape","renderer":""},{"name":"requiredFunc","label":"requiredFunc","renderer":""},{"name":"requiredAny","label":"requiredAny","renderer":""}]}}', + manifestJS: undefined, manifestObj: { - name: 'Demo', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [ - { - defaultValue: undefined, - label: 'optionalArray', - name: 'optionalArray', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalBool', - name: 'optionalBool', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalFunc', - name: 'optionalFunc', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalNumber', - name: 'optionalNumber', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalObject', - name: 'optionalObject', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalString', - name: 'optionalString', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalSymbol', - name: 'optionalSymbol', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalNode', - name: 'optionalNode', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalElement', - name: 'optionalElement', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalElementType', - name: 'optionalElementType', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalMessage', - name: 'optionalMessage', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalEnum', - name: 'optionalEnum', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalUnion', - name: 'optionalUnion', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalArrayOf', - name: 'optionalArrayOf', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalObjectOf', - name: 'optionalObjectOf', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalObjectWithShape', - name: 'optionalObjectWithShape', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalObjectWithShape2', - name: 'optionalObjectWithShape2', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalObjectWithStrictShape', - name: 'optionalObjectWithStrictShape', - renderer: '', - }, - { - defaultValue: undefined, - label: 'requiredFunc', - name: 'requiredFunc', - renderer: '', - }, - { - defaultValue: undefined, - label: 'requiredAny', - name: 'requiredAny', - renderer: '', - }, - ], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', - }, - }, - }, - ] - -## materialize single exported component by online - -> Snapshot 1 - - [ - { - manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/node_modules/.temp/xsxTSTosqFrpoTUsaDCkQs/node_modules/@ali/demo-biz-test090702/es/manifest.js', - manifestJS: 'export default {"name":"Demo","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[]}}', - manifestObj: { - name: 'Demo', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', + componentName: 'Demo', + docUrl: '', + npm: { + destructuring: false, + exportName: 'Demo', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js', + package: 'single-exported-component', + subName: '', + version: '1.0.0', }, + props: [ + { + defaultValue: undefined, + description: '', + name: 'optionalArray', + propType: 'array', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalBool', + propType: 'bool', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalFunc', + propType: 'func', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalNumber', + propType: 'number', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalObject', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalString', + propType: 'string', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalSymbol', + propType: 'symbol', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalNode', + propType: 'node', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalElement', + propType: 'element', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalElementType', + propType: 'elementType', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalMessage', + propType: 'instanceOf', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalEnum', + propType: 'oneOf', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalUnion', + propType: 'oneOfType', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalArrayOf', + propType: 'arrayOf', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalObjectOf', + propType: 'objectOf', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalObjectWithShape', + propType: 'shape', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalObjectWithShape2', + propType: 'shape', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalObjectWithStrictShape', + propType: 'exact', + }, + { + defaultValue: undefined, + description: '', + name: 'requiredFunc', + propType: 'func', + }, + { + defaultValue: undefined, + description: '', + name: 'requiredAny', + propType: 'any', + }, + ], + screenshot: '', + title: '', }, }, ] diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.snap b/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.snap index 21b8cb8bc..9cb741a67 100644 Binary files a/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.snap and b/packages/material-parser/test/fixtures/__snapshots__/test/Materialize.ts.snap differ diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.md b/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.md index b6d56ecd5..2c8d6c72c 100644 --- a/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.md +++ b/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.md @@ -11,370 +11,356 @@ Generated by [AVA](https://ava.li). [ { manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/manifest.js', - manifestJS: 'export default {"name":"AIMakeBlank","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"styleFlexLayout","label":"styleFlexLayout","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"},{"name":"id","label":"id","renderer":""}]}}', + manifestJS: undefined, manifestObj: { - name: 'AIMakeBlank', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [ - { - defaultValue: undefined, - label: 'children', - name: 'children', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBoxModel', - name: 'styleBoxModel', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleLayout', - name: 'styleLayout', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBackground', - name: 'styleBackground', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleFlexLayout', - name: 'styleFlexLayout', - renderer: '', - }, - { - defaultValue: '{}', - label: 'style', - name: 'style', - renderer: '', - }, - { - defaultValue: undefined, - label: 'id', - name: 'id', - renderer: '', - }, - ], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', + componentName: 'AIMakeBlank', + docUrl: '', + npm: { + destructuring: false, + exportName: 'AIMakeBlank', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: '@ali/lowcode-engine-material-parser', + subName: '', + version: '0.1.0', }, + props: [ + { + defaultValue: undefined, + description: '', + name: 'children', + propType: 'oneOfType', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBoxModel', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleLayout', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBackground', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleFlexLayout', + propType: 'object', + }, + { + defaultValue: '{}', + description: '', + name: 'style', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'id', + propType: 'string', + }, + ], + screenshot: '', + title: '', }, }, { manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/manifest.js', - manifestJS: 'export default {"name":"AIMakeIcon","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"className","label":"className","renderer":""},{"name":"iconClassName","label":"iconClassName","renderer":""},{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleText","label":"styleText","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestJS: undefined, manifestObj: { - name: 'AIMakeIcon', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [ - { - defaultValue: undefined, - label: 'className', - name: 'className', - renderer: '', - }, - { - defaultValue: undefined, - label: 'iconClassName', - name: 'iconClassName', - renderer: '', - }, - { - defaultValue: undefined, - label: 'children', - name: 'children', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBoxModel', - name: 'styleBoxModel', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleText', - name: 'styleText', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBackground', - name: 'styleBackground', - renderer: '', - }, - { - defaultValue: '{}', - label: 'style', - name: 'style', - renderer: '', - }, - ], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', + componentName: 'AIMakeIcon', + docUrl: '', + npm: { + destructuring: false, + exportName: 'AIMakeIcon', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: '@ali/lowcode-engine-material-parser', + subName: '', + version: '0.1.0', }, + props: [ + { + defaultValue: undefined, + description: '', + name: 'className', + propType: 'string', + }, + { + defaultValue: undefined, + description: '', + name: 'iconClassName', + propType: 'string', + }, + { + defaultValue: undefined, + description: '', + name: 'children', + propType: 'oneOfType', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBoxModel', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleText', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBackground', + propType: 'object', + }, + { + defaultValue: '{}', + description: '', + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: '', }, }, { manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/manifest.js', - manifestJS: 'export default {"name":"AIMakeImage","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestJS: undefined, manifestObj: { - name: 'AIMakeImage', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [ - { - defaultValue: undefined, - label: 'styleBoxModel', - name: 'styleBoxModel', - renderer: '', - }, - { - defaultValue: '{}', - label: 'style', - name: 'style', - renderer: '', - }, - ], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', + componentName: 'AIMakeImage', + docUrl: '', + npm: { + destructuring: false, + exportName: 'AIMakeImage', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: '@ali/lowcode-engine-material-parser', + subName: '', + version: '0.1.0', }, + props: [ + { + defaultValue: undefined, + description: '', + name: 'styleBoxModel', + propType: 'object', + }, + { + defaultValue: '{}', + description: '', + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: '', }, }, { manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/manifest.js', - manifestJS: 'export default {"name":"AIMakeLink","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleText","label":"styleText","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestJS: undefined, manifestObj: { - name: 'AIMakeLink', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [ - { - defaultValue: undefined, - label: 'children', - name: 'children', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBoxModel', - name: 'styleBoxModel', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleText', - name: 'styleText', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleLayout', - name: 'styleLayout', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBackground', - name: 'styleBackground', - renderer: '', - }, - { - defaultValue: '{}', - label: 'style', - name: 'style', - renderer: '', - }, - ], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', + componentName: 'AIMakeLink', + docUrl: '', + npm: { + destructuring: false, + exportName: 'AIMakeLink', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: '@ali/lowcode-engine-material-parser', + subName: '', + version: '0.1.0', }, + props: [ + { + defaultValue: undefined, + description: '', + name: 'children', + propType: 'oneOfType', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBoxModel', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleText', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleLayout', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBackground', + propType: 'object', + }, + { + defaultValue: '{}', + description: '', + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: '', }, }, { manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/manifest.js', - manifestJS: 'export default {"name":"AIMakePlaceholder","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestJS: undefined, manifestObj: { - name: 'AIMakePlaceholder', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [ - { - defaultValue: undefined, - label: 'children', - name: 'children', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBoxModel', - name: 'styleBoxModel', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleLayout', - name: 'styleLayout', - renderer: '', - }, - { - defaultValue: '{}', - label: 'style', - name: 'style', - renderer: '', - }, - ], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', + componentName: 'AIMakePlaceholder', + docUrl: '', + npm: { + destructuring: false, + exportName: 'AIMakePlaceholder', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: '@ali/lowcode-engine-material-parser', + subName: '', + version: '0.1.0', }, + props: [ + { + defaultValue: undefined, + description: '', + name: 'children', + propType: 'oneOfType', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBoxModel', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleLayout', + propType: 'object', + }, + { + defaultValue: '{}', + description: '', + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: '', }, }, { manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/manifest.js', - manifestJS: 'export default {"name":"AIMakeText","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"type","label":"type","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleText","label":"styleText","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}}', + manifestJS: undefined, manifestObj: { - name: 'AIMakeText', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [ - { - defaultValue: undefined, - label: 'children', - name: 'children', - renderer: '', - }, - { - defaultValue: undefined, - label: 'type', - name: 'type', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBoxModel', - name: 'styleBoxModel', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleText', - name: 'styleText', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleLayout', - name: 'styleLayout', - renderer: '', - }, - { - defaultValue: undefined, - label: 'styleBackground', - name: 'styleBackground', - renderer: '', - }, - { - defaultValue: '{}', - label: 'style', - name: 'style', - renderer: '', - }, - ], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', + componentName: 'AIMakeText', + docUrl: '', + npm: { + destructuring: false, + exportName: 'AIMakeText', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: '@ali/lowcode-engine-material-parser', + subName: '', + version: '0.1.0', }, + props: [ + { + defaultValue: undefined, + description: '', + name: 'children', + propType: 'oneOfType', + }, + { + defaultValue: undefined, + description: '', + name: 'type', + propType: 'string', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBoxModel', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleText', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleLayout', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'styleBackground', + propType: 'object', + }, + { + defaultValue: '{}', + description: '', + name: 'style', + propType: 'object', + }, + ], + screenshot: '', + title: '', }, }, { manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/manifest.js', - manifestJS: 'export default {"name":"Root","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"style","label":"style","renderer":"","defaultValue":"{\\n padding: 0,\\n backgroundColor: \'#f0f2f5\',\\n minHeight: \'100%\'\\n}"},{"name":"children","label":"children","renderer":""}]}}', + manifestJS: undefined, manifestObj: { - name: 'Root', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [ - { - defaultValue: `{␊ - padding: 0,␊ - backgroundColor: '#f0f2f5',␊ - minHeight: '100%'␊ - }`, - label: 'style', - name: 'style', - renderer: '', - }, - { - defaultValue: undefined, - label: 'children', - name: 'children', - renderer: '', - }, - ], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', + componentName: 'Root', + docUrl: '', + npm: { + destructuring: false, + exportName: 'Root', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js', + package: '@ali/lowcode-engine-material-parser', + subName: '', + version: '0.1.0', }, + props: [ + { + defaultValue: `{␊ + padding: 0,␊ + backgroundColor: '#f0f2f5',␊ + minHeight: '100%'␊ + }`, + description: '', + name: 'style', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'children', + propType: 'oneOfType', + }, + ], + screenshot: '', + title: '', }, }, ] @@ -386,144 +372,142 @@ Generated by [AVA](https://ava.li). [ { manifestFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/manifest.js', - manifestJS: 'export default {"name":"Demo","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"optionalArray","label":"optionalArray","renderer":""},{"name":"optionalBool","label":"optionalBool","renderer":""},{"name":"optionalFunc","label":"optionalFunc","renderer":""},{"name":"optionalNumber","label":"optionalNumber","renderer":""},{"name":"optionalObject","label":"optionalObject","renderer":""},{"name":"optionalString","label":"optionalString","renderer":""},{"name":"optionalSymbol","label":"optionalSymbol","renderer":""},{"name":"optionalNode","label":"optionalNode","renderer":""},{"name":"optionalElement","label":"optionalElement","renderer":""},{"name":"optionalElementType","label":"optionalElementType","renderer":""},{"name":"optionalMessage","label":"optionalMessage","renderer":""},{"name":"optionalEnum","label":"optionalEnum","renderer":""},{"name":"optionalUnion","label":"optionalUnion","renderer":""},{"name":"optionalArrayOf","label":"optionalArrayOf","renderer":""},{"name":"optionalObjectOf","label":"optionalObjectOf","renderer":""},{"name":"optionalObjectWithShape","label":"optionalObjectWithShape","renderer":""},{"name":"optionalObjectWithShape2","label":"optionalObjectWithShape2","renderer":""},{"name":"optionalObjectWithStrictShape","label":"optionalObjectWithStrictShape","renderer":""},{"name":"requiredFunc","label":"requiredFunc","renderer":""},{"name":"requiredAny","label":"requiredAny","renderer":""}]}}', + manifestJS: undefined, manifestObj: { - name: 'Demo', - settings: { - handles: [ - 'cut', - 'copy', - 'duplicate', - 'delete', - 'paste', - ], - insertionModes: 'tbrl', - props: [ - { - defaultValue: undefined, - label: 'optionalArray', - name: 'optionalArray', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalBool', - name: 'optionalBool', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalFunc', - name: 'optionalFunc', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalNumber', - name: 'optionalNumber', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalObject', - name: 'optionalObject', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalString', - name: 'optionalString', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalSymbol', - name: 'optionalSymbol', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalNode', - name: 'optionalNode', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalElement', - name: 'optionalElement', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalElementType', - name: 'optionalElementType', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalMessage', - name: 'optionalMessage', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalEnum', - name: 'optionalEnum', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalUnion', - name: 'optionalUnion', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalArrayOf', - name: 'optionalArrayOf', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalObjectOf', - name: 'optionalObjectOf', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalObjectWithShape', - name: 'optionalObjectWithShape', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalObjectWithShape2', - name: 'optionalObjectWithShape2', - renderer: '', - }, - { - defaultValue: undefined, - label: 'optionalObjectWithStrictShape', - name: 'optionalObjectWithStrictShape', - renderer: '', - }, - { - defaultValue: undefined, - label: 'requiredFunc', - name: 'requiredFunc', - renderer: '', - }, - { - defaultValue: undefined, - label: 'requiredAny', - name: 'requiredAny', - renderer: '', - }, - ], - shouldActive: true, - shouldDrag: true, - type: 'element_inline', + componentName: 'Demo', + docUrl: '', + npm: { + destructuring: false, + exportName: 'Demo', + main: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js', + package: '@ali/lowcode-engine-material-parser', + subName: '', + version: '0.1.0', }, + props: [ + { + defaultValue: undefined, + description: '', + name: 'optionalArray', + propType: 'array', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalBool', + propType: 'bool', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalFunc', + propType: 'func', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalNumber', + propType: 'number', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalObject', + propType: 'object', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalString', + propType: 'string', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalSymbol', + propType: 'symbol', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalNode', + propType: 'node', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalElement', + propType: 'element', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalElementType', + propType: 'elementType', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalMessage', + propType: 'instanceOf', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalEnum', + propType: 'oneOf', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalUnion', + propType: 'oneOfType', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalArrayOf', + propType: 'arrayOf', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalObjectOf', + propType: 'objectOf', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalObjectWithShape', + propType: 'shape', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalObjectWithShape2', + propType: 'shape', + }, + { + defaultValue: undefined, + description: '', + name: 'optionalObjectWithStrictShape', + propType: 'exact', + }, + { + defaultValue: undefined, + description: '', + name: 'requiredFunc', + propType: 'func', + }, + { + defaultValue: undefined, + description: '', + name: 'requiredAny', + propType: 'any', + }, + ], + screenshot: '', + title: '', }, }, ] diff --git a/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.snap b/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.snap index 0d3c837c2..0b7f2f68a 100644 Binary files a/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.snap and b/packages/material-parser/test/fixtures/__snapshots__/test/accesser/LocalAccesser.ts.snap differ diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/manifest.js index 5b8184e32..17c6c16d0 100644 --- a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/manifest.js +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/manifest.js @@ -1 +1 @@ -export default {"name":"AIMakeBlank","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"styleFlexLayout","label":"styleFlexLayout","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"},{"name":"id","label":"id","renderer":""}]}} \ No newline at end of file +{"componentName":"AIMakeBlank","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakeBlank","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":"oneOfType","description":""},{"name":"styleBoxModel","propType":"object","description":""},{"name":"styleLayout","propType":"object","description":""},{"name":"styleBackground","propType":"object","description":""},{"name":"styleFlexLayout","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"},{"name":"id","propType":"string","description":""}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/manifest.js index ed0d6efc6..21824462a 100644 --- a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/manifest.js +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/manifest.js @@ -1 +1 @@ -export default {"name":"AIMakeIcon","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"className","label":"className","renderer":""},{"name":"iconClassName","label":"iconClassName","renderer":""},{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleText","label":"styleText","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}} \ No newline at end of file +{"componentName":"AIMakeIcon","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakeIcon","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"className","propType":"string","description":""},{"name":"iconClassName","propType":"string","description":""},{"name":"children","propType":"oneOfType","description":""},{"name":"styleBoxModel","propType":"object","description":""},{"name":"styleText","propType":"object","description":""},{"name":"styleBackground","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/manifest.js index 3699a65aa..b5ffde284 100644 --- a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/manifest.js +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/manifest.js @@ -1 +1 @@ -export default {"name":"AIMakeImage","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}} \ No newline at end of file +{"componentName":"AIMakeImage","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakeImage","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"styleBoxModel","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/manifest.js index 0460c17c2..377983d6d 100644 --- a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/manifest.js +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/manifest.js @@ -1 +1 @@ -export default {"name":"AIMakeLink","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleText","label":"styleText","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}} \ No newline at end of file +{"componentName":"AIMakeLink","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakeLink","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":"oneOfType","description":""},{"name":"styleBoxModel","propType":"object","description":""},{"name":"styleText","propType":"object","description":""},{"name":"styleLayout","propType":"object","description":""},{"name":"styleBackground","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/manifest.js index 5f4932f87..7456ed578 100644 --- a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/manifest.js +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/manifest.js @@ -1 +1 @@ -export default {"name":"AIMakePlaceholder","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}} \ No newline at end of file +{"componentName":"AIMakePlaceholder","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakePlaceholder","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":"oneOfType","description":""},{"name":"styleBoxModel","propType":"object","description":""},{"name":"styleLayout","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/manifest.js index 2923da224..b275a1815 100644 --- a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/manifest.js +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/manifest.js @@ -1 +1 @@ -export default {"name":"AIMakeText","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"children","label":"children","renderer":""},{"name":"type","label":"type","renderer":""},{"name":"styleBoxModel","label":"styleBoxModel","renderer":""},{"name":"styleText","label":"styleText","renderer":""},{"name":"styleLayout","label":"styleLayout","renderer":""},{"name":"styleBackground","label":"styleBackground","renderer":""},{"name":"style","label":"style","renderer":"","defaultValue":"{}"}]}} \ No newline at end of file +{"componentName":"AIMakeText","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"AIMakeText","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"children","propType":"oneOfType","description":""},{"name":"type","propType":"string","description":""},{"name":"styleBoxModel","propType":"object","description":""},{"name":"styleText","propType":"object","description":""},{"name":"styleLayout","propType":"object","description":""},{"name":"styleBackground","propType":"object","description":""},{"name":"style","propType":"object","description":"","defaultValue":"{}"}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/manifest.js b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/manifest.js index bf592b537..2ec2d9e3e 100644 --- a/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/manifest.js +++ b/packages/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/manifest.js @@ -1 +1 @@ -export default {"name":"Root","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"style","label":"style","renderer":"","defaultValue":"{\n padding: 0,\n backgroundColor: '#f0f2f5',\n minHeight: '100%'\n}"},{"name":"children","label":"children","renderer":""}]}} \ No newline at end of file +{"componentName":"Root","title":"","docUrl":"","screenshot":"","npm":{"package":"multiple-exported-component","version":"1.0.0","exportName":"Root","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"style","propType":"object","description":"","defaultValue":"{\n padding: 0,\n backgroundColor: '#f0f2f5',\n minHeight: '100%'\n}"},{"name":"children","propType":"oneOfType","description":""}]} \ No newline at end of file diff --git a/packages/material-parser/test/fixtures/single-exported-component/es/manifest.js b/packages/material-parser/test/fixtures/single-exported-component/es/manifest.js index fd6b9ec53..98cfde9b0 100644 --- a/packages/material-parser/test/fixtures/single-exported-component/es/manifest.js +++ b/packages/material-parser/test/fixtures/single-exported-component/es/manifest.js @@ -1 +1 @@ -export default {"name":"Demo","settings":{"type":"element_inline","insertionModes":"tbrl","handles":["cut","copy","duplicate","delete","paste"],"shouldActive":true,"shouldDrag":true,"props":[{"name":"optionalArray","label":"optionalArray","renderer":""},{"name":"optionalBool","label":"optionalBool","renderer":""},{"name":"optionalFunc","label":"optionalFunc","renderer":""},{"name":"optionalNumber","label":"optionalNumber","renderer":""},{"name":"optionalObject","label":"optionalObject","renderer":""},{"name":"optionalString","label":"optionalString","renderer":""},{"name":"optionalSymbol","label":"optionalSymbol","renderer":""},{"name":"optionalNode","label":"optionalNode","renderer":""},{"name":"optionalElement","label":"optionalElement","renderer":""},{"name":"optionalElementType","label":"optionalElementType","renderer":""},{"name":"optionalMessage","label":"optionalMessage","renderer":""},{"name":"optionalEnum","label":"optionalEnum","renderer":""},{"name":"optionalUnion","label":"optionalUnion","renderer":""},{"name":"optionalArrayOf","label":"optionalArrayOf","renderer":""},{"name":"optionalObjectOf","label":"optionalObjectOf","renderer":""},{"name":"optionalObjectWithShape","label":"optionalObjectWithShape","renderer":""},{"name":"optionalObjectWithShape2","label":"optionalObjectWithShape2","renderer":""},{"name":"optionalObjectWithStrictShape","label":"optionalObjectWithStrictShape","renderer":""},{"name":"requiredFunc","label":"requiredFunc","renderer":""},{"name":"requiredAny","label":"requiredAny","renderer":""}]}} \ No newline at end of file +{"componentName":"Demo","title":"","docUrl":"","screenshot":"","npm":{"package":"single-exported-component","version":"1.0.0","exportName":"Demo","main":"/Users/gengyang/code/frontend/low-code/ali-lowcode-engine/packages/material-parser/test/fixtures/single-exported-component/es/index.js","destructuring":false,"subName":""},"props":[{"name":"optionalArray","propType":"array","description":""},{"name":"optionalBool","propType":"bool","description":""},{"name":"optionalFunc","propType":"func","description":""},{"name":"optionalNumber","propType":"number","description":""},{"name":"optionalObject","propType":"object","description":""},{"name":"optionalString","propType":"string","description":""},{"name":"optionalSymbol","propType":"symbol","description":""},{"name":"optionalNode","propType":"node","description":""},{"name":"optionalElement","propType":"element","description":""},{"name":"optionalElementType","propType":"elementType","description":""},{"name":"optionalMessage","propType":"instanceOf","description":""},{"name":"optionalEnum","propType":"oneOf","description":""},{"name":"optionalUnion","propType":"oneOfType","description":""},{"name":"optionalArrayOf","propType":"arrayOf","description":""},{"name":"optionalObjectOf","propType":"objectOf","description":""},{"name":"optionalObjectWithShape","propType":"shape","description":""},{"name":"optionalObjectWithShape2","propType":"shape","description":""},{"name":"optionalObjectWithStrictShape","propType":"exact","description":""},{"name":"requiredFunc","propType":"func","description":""},{"name":"requiredAny","propType":"any","description":""}]} \ No newline at end of file diff --git a/packages/material-parser/test/validate/fixtures/basic-success/src.json b/packages/material-parser/test/validate/fixtures/basic-success/src.json index d1c6f5d8d..3b0f63b83 100644 --- a/packages/material-parser/test/validate/fixtures/basic-success/src.json +++ b/packages/material-parser/test/validate/fixtures/basic-success/src.json @@ -14,5 +14,6 @@ "main": "", "destructuring": true, "version": "0.1.13" - } -} \ No newline at end of file + }, + "props": [] +}