├── .editorconfig
├── .eslintignore
├── .eslintrc.js
├── .github
├── CODEOWNERS
├── ISSUE_TEMPLATE
│ └── bug-report.md
└── workflows
│ ├── check base branch.yml
│ ├── ci.yml
│ ├── cov packages.yml
│ ├── help wanted.yml
│ ├── insufficient information.yml
│ ├── pr comment by chatgpt.yml
│ ├── pre build.yml
│ ├── publish docs.yml
│ ├── publish engine beta.yml
│ ├── publish engine.yml
│ ├── stale.yml
│ ├── test modules.yml
│ └── test packages.yml
├── .gitignore
├── .prettierrc.js
├── .stylelintignore
├── .stylelintrc.js
├── CONTRIBUTOR.md
├── LICENSE
├── README-zh_CN.md
├── README.md
├── abc.json
├── babel.config.js
├── commitlint.config.js
├── deploy-space
├── lerna.json
├── package.json
├── static
│ ├── index.html
│ └── preview.html
└── tsconfig.json
├── docs
├── .gitignore
├── README.md
├── babel.config.js
├── community
│ ├── img
│ │ ├── i-see.png
│ │ └── you-think.png
│ └── issue.md
├── config
│ ├── navbar.js
│ ├── sidebars.js
│ └── sidebarsCommunity.js
├── docs
│ ├── api
│ │ ├── canvas.md
│ │ ├── command.md
│ │ ├── common.md
│ │ ├── commonUI.md
│ │ ├── config.md
│ │ ├── configOptions.md
│ │ ├── event.md
│ │ ├── hotkey.md
│ │ ├── index.md
│ │ ├── init.md
│ │ ├── logger.md
│ │ ├── material.md
│ │ ├── model
│ │ │ ├── _category_.json
│ │ │ ├── clipboard.md
│ │ │ ├── component-meta.md
│ │ │ ├── detecting.md
│ │ │ ├── document-model.md
│ │ │ ├── dragon.md
│ │ │ ├── drop-location.md
│ │ │ ├── editor-view.md
│ │ │ ├── history.md
│ │ │ ├── modal-nodes-manager.md
│ │ │ ├── node-children.md
│ │ │ ├── node.md
│ │ │ ├── plugin-instance.md
│ │ │ ├── prop.md
│ │ │ ├── props.md
│ │ │ ├── resource.md
│ │ │ ├── selection.md
│ │ │ ├── setting-field.md
│ │ │ ├── setting-top-entry.md
│ │ │ ├── simulatorRender.md
│ │ │ └── window.md
│ │ ├── plugins.md
│ │ ├── project.md
│ │ ├── setters.md
│ │ ├── simulatorHost.md
│ │ ├── skeleton.md
│ │ └── workspace.md
│ ├── article
│ │ └── index.md
│ ├── demoUsage
│ │ ├── advanced
│ │ │ ├── _category_.json
│ │ │ └── hotkey.md
│ │ ├── appendix
│ │ │ ├── _category_.json
│ │ │ ├── api.md
│ │ │ └── loop.md
│ │ ├── intro.md
│ │ ├── makeStuff
│ │ │ ├── _category_.json
│ │ │ ├── dialog.md
│ │ │ └── table.md
│ │ └── panels
│ │ │ ├── _category_.json
│ │ │ ├── canvas.md
│ │ │ ├── code.md
│ │ │ ├── component.md
│ │ │ ├── datasource.md
│ │ │ └── settings.md
│ ├── faq
│ │ ├── faq001.md
│ │ ├── faq002.md
│ │ ├── faq003.md
│ │ ├── faq004.md
│ │ ├── faq005.md
│ │ ├── faq006.md
│ │ ├── faq007.md
│ │ ├── faq008.md
│ │ ├── faq009.md
│ │ ├── faq010.md
│ │ ├── faq011.md
│ │ ├── faq012.md
│ │ ├── faq013.md
│ │ ├── faq014.md
│ │ ├── faq015.md
│ │ ├── faq016.md
│ │ ├── faq017.md
│ │ ├── faq018.md
│ │ ├── faq019.md
│ │ ├── faq020.md
│ │ ├── faq021.md
│ │ ├── faq022.md
│ │ ├── faq023.md
│ │ ├── faq024.md
│ │ └── index.md
│ ├── guide
│ │ ├── appendix
│ │ │ ├── _category_.json
│ │ │ ├── glossary.md
│ │ │ ├── metaSpec.md
│ │ │ ├── npms.md
│ │ │ ├── repos.md
│ │ │ ├── setterDetails
│ │ │ │ ├── _category_.json
│ │ │ │ ├── array.md
│ │ │ │ ├── behavior.md
│ │ │ │ ├── bool.md
│ │ │ │ ├── color.md
│ │ │ │ ├── event.md
│ │ │ │ ├── function.md
│ │ │ │ ├── icon.md
│ │ │ │ ├── mixed.md
│ │ │ │ ├── number.md
│ │ │ │ ├── radioGroup.md
│ │ │ │ ├── select.md
│ │ │ │ ├── slot.md
│ │ │ │ ├── string.md
│ │ │ │ ├── style.md
│ │ │ │ ├── textArea.md
│ │ │ │ └── variable.md
│ │ │ └── setters.md
│ │ ├── create
│ │ │ ├── _category_.json
│ │ │ ├── useEditor.md
│ │ │ └── useRenderer.md
│ │ ├── design
│ │ │ ├── _category_.json
│ │ │ ├── datasourceEngine.md
│ │ │ ├── editor.md
│ │ │ ├── generator.md
│ │ │ ├── materialParser.md
│ │ │ ├── renderer.md
│ │ │ ├── setter.md
│ │ │ ├── specs.md
│ │ │ └── summary.md
│ │ ├── expand
│ │ │ ├── _category_.json
│ │ │ ├── editor
│ │ │ │ ├── _category_.json
│ │ │ │ ├── cli.md
│ │ │ │ ├── graph.md
│ │ │ │ ├── material.md
│ │ │ │ ├── metaSpec.md
│ │ │ │ ├── parts
│ │ │ │ │ ├── _category_.json
│ │ │ │ │ ├── partsIntro.md
│ │ │ │ │ ├── partsassets.md
│ │ │ │ │ ├── partslcc.md
│ │ │ │ │ └── prototype.md
│ │ │ │ ├── pluginContextMenu.md
│ │ │ │ ├── pluginWidget.md
│ │ │ │ ├── setter.md
│ │ │ │ ├── summary.md
│ │ │ │ └── theme.md
│ │ │ └── runtime
│ │ │ │ ├── _category_.json
│ │ │ │ ├── codeGeneration.md
│ │ │ │ └── renderer.md
│ │ └── quickStart
│ │ │ ├── _category_.json
│ │ │ ├── demo.md
│ │ │ ├── intro.md
│ │ │ └── start.md
│ ├── participate
│ │ ├── code-specification.md
│ │ ├── flow.md
│ │ ├── index.md
│ │ └── meet.md
│ ├── specs
│ │ ├── assets-spec.md
│ │ ├── lowcode-spec.md
│ │ └── material-spec.md
│ └── video
│ │ └── index.md
├── docusaurus.config.js
├── package.json
├── scripts
│ ├── getDocsFromDir.js
│ └── sync-oss.js
├── src
│ ├── css
│ │ └── custom.css
│ └── pages
│ │ ├── index-old.tsx
│ │ ├── index.module.css
│ │ ├── index.tsx
│ │ └── markdown-page.md
├── static
│ └── img
│ │ ├── docusaurus.png
│ │ ├── logo.svg
│ │ ├── undraw_docusaurus_mountain.svg
│ │ ├── undraw_docusaurus_react.svg
│ │ └── undraw_docusaurus_tree.svg
└── tsconfig.json
├── index.ts
├── lerna.json
├── modules
├── code-generator
│ ├── .gitignore
│ ├── .prettierrc.js
│ ├── .versionrc
│ ├── CHANGELOG.md
│ ├── CONTRIBUTING.md
│ ├── README.md
│ ├── babel.config.js
│ ├── bin
│ │ └── lowcode-code-generator.js
│ ├── example-schema.json
│ ├── example-schema.json5
│ ├── jest.config.js
│ ├── jest.setup.js
│ ├── package.json
│ ├── scripts
│ │ ├── build-cli.js
│ │ ├── build-standalone-loader.js
│ │ ├── build-standalone-worker.js
│ │ ├── build-standalone.js
│ │ ├── build-template-static-files.js
│ │ ├── build-types
│ │ ├── build.js
│ │ ├── move-files-to-build-dest.js
│ │ ├── run-demo-project
│ │ └── test-standalone.js
│ ├── src
│ │ ├── analyzer
│ │ │ └── componentAnalyzer.ts
│ │ ├── cli
│ │ │ ├── index.ts
│ │ │ ├── init-solution.ts
│ │ │ ├── run.ts
│ │ │ └── solutions
│ │ │ │ └── example-solution.ts
│ │ ├── config
│ │ │ └── env.ts
│ │ ├── const
│ │ │ ├── file.ts
│ │ │ ├── generator.ts
│ │ │ └── index.ts
│ │ ├── core
│ │ │ └── jsx
│ │ │ │ ├── handlers
│ │ │ │ ├── transformJsExpression.ts
│ │ │ │ └── transformThis2Context.ts
│ │ │ │ └── util
│ │ │ │ ├── isLiteralAtomicExpr.ts
│ │ │ │ └── isSimpleStraightLiteral.ts
│ │ ├── generator
│ │ │ ├── ChunkBuilder.ts
│ │ │ ├── CodeBuilder.ts
│ │ │ ├── ModuleBuilder.ts
│ │ │ └── ProjectBuilder.ts
│ │ ├── index.ts
│ │ ├── parser
│ │ │ └── SchemaParser.ts
│ │ ├── plugins
│ │ │ ├── common
│ │ │ │ ├── esmodule.ts
│ │ │ │ ├── requireUtils.ts
│ │ │ │ └── styleImport.ts
│ │ │ ├── component
│ │ │ │ ├── rax
│ │ │ │ │ ├── commonDeps.ts
│ │ │ │ │ ├── const.ts
│ │ │ │ │ ├── containerClass.ts
│ │ │ │ │ ├── containerInitState.ts
│ │ │ │ │ ├── containerInjectContext.ts
│ │ │ │ │ ├── containerInjectDataSourceEngine.ts
│ │ │ │ │ ├── containerInjectUtils.ts
│ │ │ │ │ ├── containerLifeCycle.ts
│ │ │ │ │ ├── containerMethods.ts
│ │ │ │ │ └── jsx.ts
│ │ │ │ ├── react
│ │ │ │ │ ├── const.ts
│ │ │ │ │ ├── containerClass.ts
│ │ │ │ │ ├── containerInitState.ts
│ │ │ │ │ ├── containerInjectConstants.ts
│ │ │ │ │ ├── containerInjectContext.ts
│ │ │ │ │ ├── containerInjectDataSourceEngine.ts
│ │ │ │ │ ├── containerInjectI18n.ts
│ │ │ │ │ ├── containerInjectUtils.ts
│ │ │ │ │ ├── containerLifeCycle.ts
│ │ │ │ │ ├── containerMethod.ts
│ │ │ │ │ ├── jsx.ts
│ │ │ │ │ └── reactCommonDeps.ts
│ │ │ │ └── style
│ │ │ │ │ └── css.ts
│ │ │ └── project
│ │ │ │ ├── constants.ts
│ │ │ │ ├── framework
│ │ │ │ ├── icejs
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── plugins
│ │ │ │ │ │ ├── entry.ts
│ │ │ │ │ │ ├── entryHtml.ts
│ │ │ │ │ │ ├── globalStyle.ts
│ │ │ │ │ │ ├── packageJSON.ts
│ │ │ │ │ │ └── router.ts
│ │ │ │ │ └── template
│ │ │ │ │ │ ├── files
│ │ │ │ │ │ ├── README.md.ts
│ │ │ │ │ │ ├── abc.json.ts
│ │ │ │ │ │ ├── build.json.ts
│ │ │ │ │ │ ├── editorconfig.ts
│ │ │ │ │ │ ├── eslintignore.ts
│ │ │ │ │ │ ├── eslintrc.js.ts
│ │ │ │ │ │ ├── gitignore.ts
│ │ │ │ │ │ ├── jsconfig.json.ts
│ │ │ │ │ │ ├── prettierignore.ts
│ │ │ │ │ │ ├── prettierrc.js.ts
│ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ └── layouts
│ │ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ ├── index.jsx.ts
│ │ │ │ │ │ │ │ │ └── index.style.ts
│ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ ├── index.jsx.ts
│ │ │ │ │ │ │ │ │ └── index.style.ts
│ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ └── index.jsx.ts
│ │ │ │ │ │ │ │ ├── index.jsx.ts
│ │ │ │ │ │ │ │ └── menuConfig.js.ts
│ │ │ │ │ │ ├── stylelintignore.ts
│ │ │ │ │ │ ├── stylelintrc.js.ts
│ │ │ │ │ │ └── tsconfig.json.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── static-files.ts
│ │ │ │ ├── icejs3
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── plugins
│ │ │ │ │ │ ├── appConfig.ts
│ │ │ │ │ │ ├── buildConfig.ts
│ │ │ │ │ │ ├── globalStyle.ts
│ │ │ │ │ │ ├── layout.ts
│ │ │ │ │ │ └── packageJSON.ts
│ │ │ │ │ └── template
│ │ │ │ │ │ ├── files
│ │ │ │ │ │ ├── README.md.ts
│ │ │ │ │ │ ├── browserslistrc.ts
│ │ │ │ │ │ ├── document.ts
│ │ │ │ │ │ ├── gitignore.ts
│ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ └── layouts
│ │ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ ├── index.jsx.ts
│ │ │ │ │ │ │ │ │ └── index.style.ts
│ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ ├── index.jsx.ts
│ │ │ │ │ │ │ │ │ └── index.style.ts
│ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ └── index.jsx.ts
│ │ │ │ │ │ │ │ ├── index.jsx.ts
│ │ │ │ │ │ │ │ └── menuConfig.js.ts
│ │ │ │ │ │ ├── tsconfig.ts
│ │ │ │ │ │ └── typings.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── static-files.ts
│ │ │ │ └── rax
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── plugins
│ │ │ │ │ ├── appConfig.ts
│ │ │ │ │ ├── buildConfig.ts
│ │ │ │ │ ├── entry.ts
│ │ │ │ │ ├── entryDocument.ts
│ │ │ │ │ ├── globalStyle.ts
│ │ │ │ │ └── packageJSON.ts
│ │ │ │ │ ├── template
│ │ │ │ │ ├── files
│ │ │ │ │ │ ├── .eslintignore.ts
│ │ │ │ │ │ ├── .eslintrc.js.ts
│ │ │ │ │ │ ├── .gitignore.ts
│ │ │ │ │ │ ├── .prettierignore.ts
│ │ │ │ │ │ ├── .prettierrc.js.ts
│ │ │ │ │ │ ├── .stylelintignore.ts
│ │ │ │ │ │ ├── .stylelintrc.js.ts
│ │ │ │ │ │ ├── README.md.ts
│ │ │ │ │ │ ├── jsconfig.json.ts
│ │ │ │ │ │ └── tsconfig.json.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── static-files.ts
│ │ │ │ │ └── types
│ │ │ │ │ └── RaxFrameworkOptions.ts
│ │ │ │ ├── i18n.ts
│ │ │ │ └── utils.ts
│ │ ├── polyfills
│ │ │ └── buffer.ts
│ │ ├── postprocessor
│ │ │ ├── index.ts
│ │ │ └── prettier
│ │ │ │ └── index.ts
│ │ ├── publisher
│ │ │ ├── disk
│ │ │ │ ├── index.ts
│ │ │ │ └── utils.ts
│ │ │ └── zip
│ │ │ │ ├── index.ts
│ │ │ │ └── utils.ts
│ │ ├── solutions
│ │ │ ├── icejs.ts
│ │ │ ├── icejs3.ts
│ │ │ └── rax-app.ts
│ │ ├── standalone-loader.ts
│ │ ├── standalone-worker.ts
│ │ ├── standalone.ts
│ │ ├── types
│ │ │ ├── analyze.ts
│ │ │ ├── core.ts
│ │ │ ├── deps.ts
│ │ │ ├── error.ts
│ │ │ ├── file.ts
│ │ │ ├── index.ts
│ │ │ ├── intermediate.ts
│ │ │ ├── jsx.ts
│ │ │ └── publisher.ts
│ │ ├── typings.d.ts
│ │ └── utils
│ │ │ ├── OrderedSet.ts
│ │ │ ├── Scope.ts
│ │ │ ├── ScopeBindings.ts
│ │ │ ├── aopHelper.ts
│ │ │ ├── common.ts
│ │ │ ├── compositeType.ts
│ │ │ ├── dataSource.ts
│ │ │ ├── debug.ts
│ │ │ ├── encodeJsxAttrString.ts
│ │ │ ├── errors.ts
│ │ │ ├── expressionParser.ts
│ │ │ ├── format.ts
│ │ │ ├── index.ts
│ │ │ ├── jsExpression.ts
│ │ │ ├── jsSlot.ts
│ │ │ ├── jsxHelpers.ts
│ │ │ ├── nodeToJSX.ts
│ │ │ ├── pathHelper.ts
│ │ │ ├── resultHelper.ts
│ │ │ ├── schema.ts
│ │ │ ├── templateHelper.ts
│ │ │ ├── theme.ts
│ │ │ ├── validate.ts
│ │ │ └── version.ts
│ ├── standalone-loader
│ │ ├── index.js
│ │ └── package.json
│ ├── standalone-worker
│ │ ├── index.js
│ │ └── package.json
│ ├── standalone
│ │ ├── index.js
│ │ └── package.json
│ ├── static-files
│ │ └── rax
│ │ │ ├── .eslintignore.template
│ │ │ ├── .eslintrc.js.template
│ │ │ ├── .gitignore.template
│ │ │ ├── .prettierignore.template
│ │ │ ├── .prettierrc.js.template
│ │ │ ├── .stylelintignore.template
│ │ │ ├── .stylelintrc.js.template
│ │ │ ├── README.md.template
│ │ │ ├── jsconfig.json.template
│ │ │ └── tsconfig.json.template
│ ├── tests
│ │ ├── bugfix
│ │ │ ├── .gitignore
│ │ │ ├── i18n-with-params.schema.json
│ │ │ ├── i18n-with-params.test.ts
│ │ │ ├── icejs-import-wrong-naming.schema.json
│ │ │ ├── icejs-import-wrong-naming.test.ts
│ │ │ ├── icejs-js-function1.schema.json
│ │ │ ├── icejs-js-function1.test.ts
│ │ │ ├── icejs-missing-imports-1.schema.json
│ │ │ ├── icejs-missing-imports-1.test.ts
│ │ │ ├── icejs-package-json-dependencies.schema.json
│ │ │ ├── icejs-package-json-dependencies.test.ts
│ │ │ ├── icejs-page-map1.schema.json
│ │ │ ├── icejs-page-map1.test.ts
│ │ │ ├── page-element1.schema.json
│ │ │ ├── page-element1.test.ts
│ │ │ ├── page-element2.schema.json
│ │ │ ├── page-element2.test.ts
│ │ │ ├── strict-mode-context-1.schema.json
│ │ │ ├── strict-mode-context-1.test.ts
│ │ │ ├── tolerate-eval-errors-1-loop.schema.json
│ │ │ ├── tolerate-eval-errors-1-loop.test.ts
│ │ │ ├── tolerate-eval-errors-2-nested-loop.schema.json
│ │ │ └── tolerate-eval-errors-2-nested-loop.test.ts
│ │ ├── cli.test.ts
│ │ ├── fixtures
│ │ │ └── test-cases
│ │ │ │ ├── .gitignore
│ │ │ │ ├── icejs3-app
│ │ │ │ ├── demo1
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .browserslistrc
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── ice.config.mts
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── app.ts
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document.tsx
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ ├── Test
│ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── layout.jsx
│ │ │ │ │ │ │ ├── typings.d.ts
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo2-utils-name-alias
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .browserslistrc
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── ice.config.mts
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── app.ts
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document.tsx
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ ├── Aaaa
│ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── layout.jsx
│ │ │ │ │ │ │ ├── typings.d.ts
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo2
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .browserslistrc
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── ice.config.mts
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── app.ts
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document.tsx
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ ├── Test
│ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── layout.jsx
│ │ │ │ │ │ │ ├── typings.d.ts
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo3
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .browserslistrc
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── ice.config.mts
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── app.ts
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document.tsx
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ ├── Test
│ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── layout.jsx
│ │ │ │ │ │ │ ├── typings.d.ts
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo4
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .browserslistrc
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── ice.config.mts
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── app.ts
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document.tsx
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ ├── Test
│ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── layout.jsx
│ │ │ │ │ │ │ ├── typings.d.ts
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo5
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .browserslistrc
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── ice.config.mts
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── app.ts
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document.tsx
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ ├── Test
│ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── layout.jsx
│ │ │ │ │ │ │ ├── typings.d.ts
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo6-literal-condition
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .browserslistrc
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── ice.config.mts
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── app.ts
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document.tsx
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ ├── Test
│ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── layout.jsx
│ │ │ │ │ │ │ ├── typings.d.ts
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo7-literal-condition2
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .browserslistrc
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── ice.config.mts
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── app.ts
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document.tsx
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ ├── Test
│ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── layout.jsx
│ │ │ │ │ │ │ ├── typings.d.ts
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo8-datasource-prop
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .browserslistrc
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── ice.config.mts
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── app.ts
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document.tsx
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ ├── Example
│ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── layout.jsx
│ │ │ │ │ │ │ ├── typings.d.ts
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo9-datasource-engine
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .browserslistrc
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── ice.config.mts
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── app.ts
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document.tsx
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ ├── $
│ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── layout.jsx
│ │ │ │ │ │ │ ├── typings.d.ts
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo_10-jsslot
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .browserslistrc
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── ice.config.mts
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── app.ts
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document.tsx
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ ├── Test
│ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── layout.jsx
│ │ │ │ │ │ │ ├── typings.d.ts
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ └── schema.json5
│ │ │ │ └── demo_11-jsslot-2
│ │ │ │ │ ├── expected
│ │ │ │ │ └── demo-project
│ │ │ │ │ │ ├── .browserslistrc
│ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── ice.config.mts
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ └── src
│ │ │ │ │ │ ├── app.ts
│ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ ├── document.tsx
│ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ ├── pages
│ │ │ │ │ │ ├── Test
│ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ └── layout.jsx
│ │ │ │ │ │ ├── typings.d.ts
│ │ │ │ │ │ └── utils.js
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── rax-app
│ │ │ │ ├── demo01
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── app.json
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── global.css
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Home
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo02
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── app.json
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── global.css
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Home
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo03
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── app.json
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── global.css
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ ├── Detail
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ ├── Home
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ └── List
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo04
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── app.json
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── global.css
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Home
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo05
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── app.json
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── global.css
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Home
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo06-jsslot
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── app.json
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── global.css
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Home
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo07-newline-in-props
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── app.json
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── global.css
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Home
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo08-jsslot-with-multiple-children
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── app.json
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── global.css
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Home
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo09-jsslot-with-conditional-children
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── app.json
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── global.css
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Home
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo10-jsslot-with-loop-children
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── app.json
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── global.css
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Home
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo11-utils-name-alias
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── app.json
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── global.css
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Aaaa
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo12-refs
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── app.json
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── document
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── global.css
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Home
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ └── demo13-datasource-prop
│ │ │ │ │ ├── expected
│ │ │ │ │ └── demo-project
│ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── src
│ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ ├── app.json
│ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ ├── document
│ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ ├── global.css
│ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ └── Example
│ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── react-app
│ │ │ │ ├── demo1
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .editorconfig
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── abc.json
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── public
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Test
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── routes.js
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo2-utils-name-alias
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .editorconfig
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── abc.json
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── public
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Aaaa
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── routes.js
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo2
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .editorconfig
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── abc.json
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── public
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Test
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── routes.js
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo3
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .editorconfig
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── abc.json
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── public
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Test
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── routes.js
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo4
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .editorconfig
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── abc.json
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── public
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Test
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── routes.js
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo5
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .editorconfig
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── abc.json
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── public
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Test
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── routes.js
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo6-literal-condition
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .editorconfig
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── abc.json
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── public
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Test
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── routes.js
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo7-literal-condition2
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .editorconfig
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── abc.json
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── public
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Test
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── routes.js
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo8-datasource-prop
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .editorconfig
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── abc.json
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── public
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Example
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── routes.js
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo9-datasource-engine
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .editorconfig
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── abc.json
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── public
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── $
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── routes.js
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ ├── demo_10-jsslot
│ │ │ │ │ ├── expected
│ │ │ │ │ │ └── demo-project
│ │ │ │ │ │ │ ├── .editorconfig
│ │ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── abc.json
│ │ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ │ ├── public
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ │ └── Test
│ │ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── routes.js
│ │ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ └── demo_11-jsslot-2
│ │ │ │ │ ├── expected
│ │ │ │ │ └── demo-project
│ │ │ │ │ │ ├── .editorconfig
│ │ │ │ │ │ ├── .eslintignore
│ │ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ │ ├── .gitignore
│ │ │ │ │ │ ├── .prettierignore
│ │ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── abc.json
│ │ │ │ │ │ ├── build.json
│ │ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── public
│ │ │ │ │ │ └── index.html
│ │ │ │ │ │ ├── src
│ │ │ │ │ │ ├── app.js
│ │ │ │ │ │ ├── constants.js
│ │ │ │ │ │ ├── global.scss
│ │ │ │ │ │ ├── i18n.js
│ │ │ │ │ │ ├── layouts
│ │ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ │ ├── pages
│ │ │ │ │ │ │ └── Test
│ │ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ ├── routes.js
│ │ │ │ │ │ └── utils.js
│ │ │ │ │ │ └── tsconfig.json
│ │ │ │ │ └── schema.json5
│ │ │ │ └── react-module
│ │ │ │ └── demo1
│ │ │ │ ├── expected
│ │ │ │ └── demo-project
│ │ │ │ │ ├── .editorconfig
│ │ │ │ │ ├── .eslintignore
│ │ │ │ │ ├── .eslintrc.js
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── .prettierignore
│ │ │ │ │ ├── .prettierrc.js
│ │ │ │ │ ├── .stylelintignore
│ │ │ │ │ ├── .stylelintrc.js
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── abc.json
│ │ │ │ │ ├── build.json
│ │ │ │ │ ├── jsconfig.json
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── public
│ │ │ │ │ └── index.html
│ │ │ │ │ ├── src
│ │ │ │ │ ├── app.js
│ │ │ │ │ ├── constants.js
│ │ │ │ │ ├── global.scss
│ │ │ │ │ ├── i18n.js
│ │ │ │ │ ├── layouts
│ │ │ │ │ │ └── BasicLayout
│ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ ├── Logo
│ │ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ │ └── index.module.scss
│ │ │ │ │ │ │ └── PageNav
│ │ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ │ │ ├── index.jsx
│ │ │ │ │ │ │ └── menuConfig.js
│ │ │ │ │ ├── pages
│ │ │ │ │ │ └── Test
│ │ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ │ └── index.jsx
│ │ │ │ │ ├── routes.js
│ │ │ │ │ └── utils.js
│ │ │ │ │ └── tsconfig.json
│ │ │ │ └── schema.json5
│ │ ├── helpers
│ │ │ └── solutionHelper.ts
│ │ ├── plugins
│ │ │ ├── common
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── requireUtils.test.ts.snap
│ │ │ │ └── requireUtils.test.ts
│ │ │ └── jsx
│ │ │ │ ├── __snapshots__
│ │ │ │ └── p0-condition-at-root.test.ts.snap
│ │ │ │ └── p0-condition-at-root.test.ts
│ │ ├── postprocessor
│ │ │ ├── __snapshots__
│ │ │ │ └── prettier.test.ts.snap
│ │ │ └── prettier.test.ts
│ │ ├── public
│ │ │ ├── README.md
│ │ │ ├── SchemaParser
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── p0-basic.test.ts.snap
│ │ │ │ ├── data
│ │ │ │ │ └── schema-with-slot.json
│ │ │ │ └── p0-basic.test.ts
│ │ │ ├── cli.test.ts
│ │ │ ├── publisher
│ │ │ │ ├── disk
│ │ │ │ │ └── disk.test.ts
│ │ │ │ └── zip
│ │ │ │ │ └── zip.test.ts
│ │ │ └── solutions
│ │ │ │ ├── icejs3-app.test.ts
│ │ │ │ ├── rax-app.test.ts
│ │ │ │ └── react-app.test.ts
│ │ └── utils
│ │ │ ├── compositeType.test.ts
│ │ │ ├── errors.test.ts
│ │ │ ├── expressionParser
│ │ │ ├── jsExpression.test.ts
│ │ │ ├── parseExpressionConvertThis2Context.test.ts
│ │ │ ├── parseExpressionGetGlobalVariables.test.ts
│ │ │ └── parseExpressionGetKeywords.test.ts
│ │ │ ├── flattenResult.test.ts
│ │ │ ├── resultHelper
│ │ │ ├── example-result.json
│ │ │ ├── findFile.test.ts
│ │ │ ├── globFiles.test.ts
│ │ │ ├── removeDirsFromResult.test.ts
│ │ │ ├── removeFilesFromResult.test.ts
│ │ │ └── scanFiles.test.ts
│ │ │ ├── schema
│ │ │ ├── data
│ │ │ │ └── schema-with-slot.json
│ │ │ └── handleSubNodes.test.ts
│ │ │ ├── validate.test.ts
│ │ │ └── version.test.ts
│ └── tsconfig.json
└── material-parser
│ ├── README.md
│ ├── build.test.json
│ ├── demo
│ ├── component.jsx
│ ├── component.tsx
│ ├── parse-jsx.js
│ └── parse-tsx.js
│ ├── jest.config.js
│ ├── package.json
│ ├── schemas
│ ├── schema.json
│ └── schema.yml
│ ├── scripts
│ └── transform.js
│ ├── src
│ ├── core
│ │ ├── index.ts
│ │ └── schema
│ │ │ └── types.ts
│ ├── generate.ts
│ ├── index.ts
│ ├── localize.ts
│ ├── parse
│ │ ├── dynamic
│ │ │ ├── index.ts
│ │ │ └── requireInSandbox.ts
│ │ ├── index.ts
│ │ ├── js
│ │ │ ├── handlers
│ │ │ │ ├── defaultPropsHandler.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── preProcessHandler.ts
│ │ │ │ ├── propTypeHandler.ts
│ │ │ │ └── propTypeJsDocHandler.ts
│ │ │ ├── index.ts
│ │ │ ├── resolver
│ │ │ │ ├── checkIsIIFE.ts
│ │ │ │ ├── findAssignedMethods.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── isReactComponentStaticMember.ts
│ │ │ │ ├── isStaticMethod.ts
│ │ │ │ ├── resolveExportDeclaration.ts
│ │ │ │ ├── resolveHOC.ts
│ │ │ │ ├── resolveIIFE.ts
│ │ │ │ ├── resolveImport.ts
│ │ │ │ └── resolveTranspiledClass.ts
│ │ │ └── utils
│ │ │ │ ├── cache.ts
│ │ │ │ ├── evaluate.ts
│ │ │ │ ├── findJSFilePath.ts
│ │ │ │ ├── getComposedPath.ts
│ │ │ │ ├── getName.ts
│ │ │ │ ├── getRoot.ts
│ │ │ │ └── makeProxy.ts
│ │ ├── transform.ts
│ │ └── ts
│ │ │ ├── generateDTS.ts
│ │ │ ├── index.ts
│ │ │ └── tsconfig.json
│ ├── scan.ts
│ ├── types
│ │ ├── Basic.ts
│ │ ├── ChannelType.ts
│ │ ├── DSLType.ts
│ │ ├── IAccesser.ts
│ │ ├── IExtensionConfigManifest.ts
│ │ ├── IMaterialParsedModel.ts
│ │ ├── IMaterialScanModel.ts
│ │ ├── IMaterializeOptions.ts
│ │ ├── Meta.ts
│ │ └── index.ts
│ ├── utils.ts
│ └── validate
│ │ ├── index.ts
│ │ └── schema.json
│ ├── test
│ ├── __snapshots__
│ │ ├── dynamic.test.ts.snap
│ │ ├── index.test.ts.snap
│ │ └── online.test.ts.snap
│ ├── dynamic.test.ts
│ ├── fixtures
│ │ ├── dts-component
│ │ │ ├── index.d.ts
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ ├── data.js
│ │ │ │ ├── i18n.js
│ │ │ │ ├── index.jsx
│ │ │ │ ├── main.scss
│ │ │ │ └── scss
│ │ │ │ └── variable.scss
│ │ ├── multiple-exported-component
│ │ │ ├── es
│ │ │ │ ├── basic
│ │ │ │ │ ├── AIMakeBlank
│ │ │ │ │ │ ├── amContainer.js
│ │ │ │ │ │ ├── amManifest.js
│ │ │ │ │ │ ├── container.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── manifest.js
│ │ │ │ │ │ └── manifest.json
│ │ │ │ │ ├── AIMakeIcon
│ │ │ │ │ │ ├── IconFont.js
│ │ │ │ │ │ ├── amContainer.js
│ │ │ │ │ │ ├── amManifest.js
│ │ │ │ │ │ ├── container.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── manifest.js
│ │ │ │ │ │ └── manifest.json
│ │ │ │ │ ├── AIMakeImage
│ │ │ │ │ │ ├── amContainer.js
│ │ │ │ │ │ ├── amManifest.js
│ │ │ │ │ │ ├── container.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── manifest.js
│ │ │ │ │ │ └── manifest.json
│ │ │ │ │ ├── AIMakeLink
│ │ │ │ │ │ ├── amContainer.js
│ │ │ │ │ │ ├── amManifest.js
│ │ │ │ │ │ ├── container.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── manifest.js
│ │ │ │ │ │ └── manifest.json
│ │ │ │ │ ├── AIMakePlaceholder
│ │ │ │ │ │ ├── amContainer.js
│ │ │ │ │ │ ├── amManifest.js
│ │ │ │ │ │ ├── container.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── manifest.js
│ │ │ │ │ │ └── manifest.json
│ │ │ │ │ ├── AIMakeText
│ │ │ │ │ │ ├── amContainer.js
│ │ │ │ │ │ ├── amManifest.js
│ │ │ │ │ │ ├── container.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── manifest.js
│ │ │ │ │ │ └── manifest.json
│ │ │ │ │ ├── Root
│ │ │ │ │ │ ├── amContainer.js
│ │ │ │ │ │ ├── amManifest.js
│ │ │ │ │ │ ├── container.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── manifest.js
│ │ │ │ │ │ └── manifest.json
│ │ │ │ │ ├── style
│ │ │ │ │ │ ├── index.css
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ └── index.less
│ │ │ │ │ └── utils
│ │ │ │ │ │ ├── HOCBackgroundProps.js
│ │ │ │ │ │ ├── HOCBoxModelProps.js
│ │ │ │ │ │ ├── HOCFlexLayoutProps.js
│ │ │ │ │ │ ├── HOCLayoutProps.js
│ │ │ │ │ │ └── HOCTextProps.js
│ │ │ │ └── index.js
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ ├── basic
│ │ │ │ ├── AIMakeBlank
│ │ │ │ │ ├── amContainer.js
│ │ │ │ │ ├── amManifest.js
│ │ │ │ │ ├── container.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── manifest.js
│ │ │ │ │ └── manifest.json
│ │ │ │ ├── AIMakeIcon
│ │ │ │ │ ├── IconFont.js
│ │ │ │ │ ├── amContainer.js
│ │ │ │ │ ├── amManifest.js
│ │ │ │ │ ├── container.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── manifest.js
│ │ │ │ │ └── manifest.json
│ │ │ │ ├── AIMakeImage
│ │ │ │ │ ├── amContainer.js
│ │ │ │ │ ├── amManifest.js
│ │ │ │ │ ├── container.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── manifest.js
│ │ │ │ │ └── manifest.json
│ │ │ │ ├── AIMakeLink
│ │ │ │ │ ├── amContainer.js
│ │ │ │ │ ├── amManifest.js
│ │ │ │ │ ├── container.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── manifest.js
│ │ │ │ │ └── manifest.json
│ │ │ │ ├── AIMakePlaceholder
│ │ │ │ │ ├── amContainer.js
│ │ │ │ │ ├── amManifest.js
│ │ │ │ │ ├── container.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── manifest.js
│ │ │ │ │ └── manifest.json
│ │ │ │ ├── AIMakeText
│ │ │ │ │ ├── amContainer.js
│ │ │ │ │ ├── amManifest.js
│ │ │ │ │ ├── container.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── manifest.js
│ │ │ │ │ └── manifest.json
│ │ │ │ ├── Root
│ │ │ │ │ ├── amContainer.js
│ │ │ │ │ ├── amManifest.js
│ │ │ │ │ ├── container.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── manifest.js
│ │ │ │ │ └── manifest.json
│ │ │ │ ├── style
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── index.less
│ │ │ │ └── utils
│ │ │ │ │ ├── HOCBackgroundProps.js
│ │ │ │ │ ├── HOCBoxModelProps.js
│ │ │ │ │ ├── HOCFlexLayoutProps.js
│ │ │ │ │ ├── HOCLayoutProps.js
│ │ │ │ │ └── HOCTextProps.js
│ │ │ │ └── index.js
│ │ ├── rax-component
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ ├── index.css
│ │ │ │ └── index.tsx
│ │ ├── single-exported-component
│ │ │ ├── es
│ │ │ │ ├── container.js
│ │ │ │ ├── index.js
│ │ │ │ ├── main.css
│ │ │ │ ├── main.scss
│ │ │ │ ├── manifest.js
│ │ │ │ └── manifest.json
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ ├── index.js
│ │ │ │ └── main.scss
│ │ ├── transpiled-component
│ │ │ └── package.json
│ │ ├── ts-component
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ ├── index.tsx
│ │ │ │ ├── main-module.tsx
│ │ │ │ └── sub-module.tsx
│ │ ├── ts-component2
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ ├── empty.tsx
│ │ │ │ ├── index.scss
│ │ │ │ └── index.tsx
│ │ └── without-display-name
│ │ │ ├── index.js
│ │ │ └── package.json
│ ├── helpers
│ │ └── index.ts
│ ├── index.test.ts
│ ├── localize.test.ts
│ ├── online.test.ts
│ └── validate
│ │ ├── __snapshots__
│ │ └── index.test.ts.snap
│ │ ├── fixtures
│ │ ├── basic-error
│ │ │ └── schema.json
│ │ ├── basic-success
│ │ │ └── schema.json
│ │ ├── configure
│ │ │ └── schema.json
│ │ ├── props-basic-type
│ │ │ └── schema.json
│ │ └── props-complex-type
│ │ │ └── schema.json
│ │ └── index.test.ts
│ ├── tsconfig.json
│ └── webpack.config.js
├── package.json
├── packages
├── designer
│ ├── README.md
│ ├── babel.config.js
│ ├── build.json
│ ├── build.test.json
│ ├── jest.config.js
│ ├── package.json
│ ├── src
│ │ ├── builtin-simulator
│ │ │ ├── README.md
│ │ │ ├── bem-tools
│ │ │ │ ├── bem-tools.less
│ │ │ │ ├── border-container.tsx
│ │ │ │ ├── border-detecting.tsx
│ │ │ │ ├── border-resizing.tsx
│ │ │ │ ├── border-selecting.tsx
│ │ │ │ ├── borders.less
│ │ │ │ ├── drag-resize-engine.ts
│ │ │ │ ├── index.tsx
│ │ │ │ ├── insertion.less
│ │ │ │ ├── insertion.tsx
│ │ │ │ └── manager.ts
│ │ │ ├── context.ts
│ │ │ ├── create-simulator.ts
│ │ │ ├── host-view.tsx
│ │ │ ├── host.less
│ │ │ ├── host.ts
│ │ │ ├── index.ts
│ │ │ ├── live-editing
│ │ │ │ └── live-editing.ts
│ │ │ ├── node-selector
│ │ │ │ ├── index.less
│ │ │ │ └── index.tsx
│ │ │ ├── renderer.ts
│ │ │ ├── resource-consumer.ts
│ │ │ ├── utils
│ │ │ │ ├── clickable.ts
│ │ │ │ ├── parse-metadata.ts
│ │ │ │ ├── path.ts
│ │ │ │ └── throttle.ts
│ │ │ └── viewport.ts
│ │ ├── component-actions.ts
│ │ ├── component-meta.ts
│ │ ├── context-menu-actions.scss
│ │ ├── context-menu-actions.ts
│ │ ├── designer
│ │ │ ├── active-tracker.ts
│ │ │ ├── clipboard.ts
│ │ │ ├── designer-view.tsx
│ │ │ ├── designer.less
│ │ │ ├── designer.ts
│ │ │ ├── detecting.ts
│ │ │ ├── drag-ghost
│ │ │ │ ├── README.md
│ │ │ │ ├── ghost.less
│ │ │ │ └── index.tsx
│ │ │ ├── dragon.ts
│ │ │ ├── index.ts
│ │ │ ├── location.ts
│ │ │ ├── offset-observer.ts
│ │ │ ├── scroller.ts
│ │ │ └── setting
│ │ │ │ ├── index.ts
│ │ │ │ ├── setting-entry-type.ts
│ │ │ │ ├── setting-field.ts
│ │ │ │ ├── setting-prop-entry.ts
│ │ │ │ ├── setting-top-entry.ts
│ │ │ │ └── utils.ts
│ │ ├── document
│ │ │ ├── document-model.ts
│ │ │ ├── document-view.tsx
│ │ │ ├── history.ts
│ │ │ ├── index.ts
│ │ │ ├── node
│ │ │ │ ├── exclusive-group.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── modal-nodes-manager.ts
│ │ │ │ ├── node-children.ts
│ │ │ │ ├── node.ts
│ │ │ │ ├── props
│ │ │ │ │ ├── prop.ts
│ │ │ │ │ ├── props.ts
│ │ │ │ │ └── value-to-source.ts
│ │ │ │ └── transform-stage.ts
│ │ │ └── selection.ts
│ │ ├── icons
│ │ │ ├── clone.tsx
│ │ │ ├── component.tsx
│ │ │ ├── container.tsx
│ │ │ ├── hidden.tsx
│ │ │ ├── index.ts
│ │ │ ├── lock.tsx
│ │ │ ├── page.tsx
│ │ │ ├── remove.tsx
│ │ │ ├── setting.tsx
│ │ │ └── unlock.tsx
│ │ ├── index.ts
│ │ ├── less-variables.less
│ │ ├── locale
│ │ │ ├── en-US.json
│ │ │ ├── index.ts
│ │ │ └── zh-CN.json
│ │ ├── plugin
│ │ │ ├── index.ts
│ │ │ ├── plugin-context.ts
│ │ │ ├── plugin-manager.ts
│ │ │ ├── plugin-types.ts
│ │ │ ├── plugin-utils.ts
│ │ │ ├── plugin.ts
│ │ │ └── sequencify.ts
│ │ ├── project
│ │ │ ├── index.ts
│ │ │ ├── project-view.tsx
│ │ │ ├── project.less
│ │ │ └── project.ts
│ │ ├── simulator.ts
│ │ ├── transducers
│ │ │ └── index.ts
│ │ ├── types
│ │ │ └── index.ts
│ │ └── utils
│ │ │ ├── index.ts
│ │ │ ├── invariant.ts
│ │ │ ├── misc.ts
│ │ │ ├── slot.ts
│ │ │ └── tree.ts
│ ├── tests
│ │ ├── __mocks__
│ │ │ ├── document-model.ts
│ │ │ └── node.ts
│ │ ├── bugs
│ │ │ ├── misc.ts.bak
│ │ │ ├── prop-variable-jse.test.ts
│ │ │ └── why.md
│ │ ├── builtin-simulator
│ │ │ ├── bem-tools
│ │ │ │ ├── drag-resize-engine.test.ts
│ │ │ │ └── manager.test.tsx
│ │ │ ├── host.test.ts
│ │ │ ├── renderer.test.tsx
│ │ │ ├── resource-consumer.test.ts
│ │ │ ├── utils
│ │ │ │ ├── parse-metadata.test.ts
│ │ │ │ ├── path.test.ts
│ │ │ │ └── throttle.test.ts
│ │ │ └── viewport.test.ts
│ │ ├── designer
│ │ │ ├── active-tracker.test.ts
│ │ │ ├── builtin-hotkey.test.ts
│ │ │ ├── designer.test.ts
│ │ │ ├── detecting.test.ts
│ │ │ ├── dragon.test.ts
│ │ │ ├── location.test.ts
│ │ │ ├── scroller.test.ts
│ │ │ └── setting
│ │ │ │ ├── __snapshots__
│ │ │ │ └── setting-field.test.ts.snap
│ │ │ │ ├── setting-field.test.ts
│ │ │ │ ├── setting-prop-entry.test.ts
│ │ │ │ └── setting-top-entry.test.ts
│ │ ├── document
│ │ │ ├── document-model
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── document-model.test.ts.snap
│ │ │ │ └── document-model.test.ts
│ │ │ ├── history
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── history.test.ts.snap
│ │ │ │ ├── history.test.ts
│ │ │ │ └── session.test.ts
│ │ │ ├── node
│ │ │ │ ├── modal-nodes-manager.test.ts
│ │ │ │ ├── node-children.test.ts
│ │ │ │ ├── node.add.test.ts
│ │ │ │ ├── node.dragdrop.test.ts
│ │ │ │ ├── node.modify.test.ts
│ │ │ │ ├── node.remove.test.ts
│ │ │ │ ├── node.test.ts
│ │ │ │ └── props
│ │ │ │ │ ├── __snapshots__
│ │ │ │ │ └── value-to-source.test.ts.snap
│ │ │ │ │ ├── prop.test.ts
│ │ │ │ │ ├── props.test.ts
│ │ │ │ │ └── value-to-source.test.ts
│ │ │ └── selection.test.ts
│ │ ├── fixtures
│ │ │ ├── component-metadata
│ │ │ │ ├── abcgroup.ts
│ │ │ │ ├── abcitem.ts
│ │ │ │ ├── abcnode.ts
│ │ │ │ ├── abcoption.ts
│ │ │ │ ├── button.ts
│ │ │ │ ├── dialog.ts
│ │ │ │ ├── div.ts
│ │ │ │ ├── div10.ts
│ │ │ │ ├── div2.ts
│ │ │ │ ├── div3.ts
│ │ │ │ ├── div4.ts
│ │ │ │ ├── div5.ts
│ │ │ │ ├── div6.ts
│ │ │ │ ├── div7.ts
│ │ │ │ ├── div8.ts
│ │ │ │ ├── div9.ts
│ │ │ │ ├── form.ts
│ │ │ │ ├── other.ts
│ │ │ │ ├── page.ts
│ │ │ │ ├── page2.ts
│ │ │ │ ├── root-content.ts
│ │ │ │ ├── root-footer.ts
│ │ │ │ └── root-header.ts
│ │ │ ├── disable-raf.ts
│ │ │ ├── schema
│ │ │ │ ├── form-with-modal.ts
│ │ │ │ ├── form.ts
│ │ │ │ └── setting.ts
│ │ │ ├── silent-console.ts
│ │ │ ├── unhandled-rejection.ts
│ │ │ └── window.ts
│ │ ├── main
│ │ │ ├── meta
│ │ │ │ └── component-meta.test.ts
│ │ │ └── simulator.test.ts
│ │ ├── plugin
│ │ │ ├── plugin-manager.test.ts
│ │ │ ├── plugin-utils.test.ts
│ │ │ └── sequencify.test.ts
│ │ ├── project
│ │ │ ├── project-methods.test.ts
│ │ │ └── project.test.ts
│ │ ├── utils-ut
│ │ │ ├── invariant.test.ts
│ │ │ ├── misc.test.ts
│ │ │ └── slot.test.ts
│ │ └── utils
│ │ │ ├── bom.ts
│ │ │ ├── event.ts
│ │ │ ├── index.ts
│ │ │ ├── misc.ts
│ │ │ └── renderer.ts
│ └── tsconfig.json
├── editor-core
│ ├── build.json
│ ├── build.plugin.js
│ ├── build.test.json
│ ├── jest.config.js
│ ├── package.json
│ ├── src
│ │ ├── command.ts
│ │ ├── config.ts
│ │ ├── di
│ │ │ ├── index.ts
│ │ │ ├── ioc-context.ts
│ │ │ └── setter.ts
│ │ ├── editor.ts
│ │ ├── event-bus.ts
│ │ ├── hotkey.ts
│ │ ├── index.ts
│ │ ├── intl
│ │ │ ├── global-locale.ts
│ │ │ └── index.ts
│ │ ├── utils
│ │ │ ├── app-preset.ts
│ │ │ ├── assets-transform.ts
│ │ │ ├── control.ts
│ │ │ ├── focus-tracker.ts
│ │ │ ├── get-public-path.ts
│ │ │ ├── index.ts
│ │ │ ├── logger.ts
│ │ │ ├── obx.ts
│ │ │ ├── preference.ts
│ │ │ └── request.ts
│ │ └── widgets
│ │ │ ├── index.ts
│ │ │ ├── tip
│ │ │ ├── help-tips.tsx
│ │ │ ├── index.ts
│ │ │ ├── style.less
│ │ │ ├── tip-container.tsx
│ │ │ ├── tip-handler.ts
│ │ │ ├── tip-item.tsx
│ │ │ ├── tip.tsx
│ │ │ └── utils.ts
│ │ │ └── title
│ │ │ ├── index.tsx
│ │ │ └── title.less
│ ├── test
│ │ └── command.test.ts
│ └── tsconfig.json
├── editor-skeleton
│ ├── build.json
│ ├── build.test.json
│ ├── jest.config.js
│ ├── package.json
│ ├── src
│ │ ├── area.ts
│ │ ├── components
│ │ │ ├── draggable-line
│ │ │ │ ├── index.less
│ │ │ │ └── index.tsx
│ │ │ ├── field
│ │ │ │ ├── fields.tsx
│ │ │ │ ├── index.less
│ │ │ │ ├── index.ts
│ │ │ │ └── inlinetip.tsx
│ │ │ ├── popup
│ │ │ │ ├── index.tsx
│ │ │ │ └── style.less
│ │ │ ├── settings
│ │ │ │ ├── index.ts
│ │ │ │ ├── main.ts
│ │ │ │ ├── settings-pane.tsx
│ │ │ │ ├── settings-primary-pane.tsx
│ │ │ │ ├── style.less
│ │ │ │ └── utils.ts
│ │ │ ├── stage-box
│ │ │ │ ├── index.less
│ │ │ │ ├── index.ts
│ │ │ │ ├── stage-box.tsx
│ │ │ │ ├── stage-chain.ts
│ │ │ │ └── stage.tsx
│ │ │ └── widget-views
│ │ │ │ ├── index.less
│ │ │ │ ├── index.tsx
│ │ │ │ └── panel-operation-row.tsx
│ │ ├── context.ts
│ │ ├── icons
│ │ │ ├── arrow.tsx
│ │ │ ├── clear.tsx
│ │ │ ├── convert.tsx
│ │ │ ├── exit.tsx
│ │ │ ├── fix.tsx
│ │ │ ├── float.tsx
│ │ │ ├── slot.tsx
│ │ │ └── variable.tsx
│ │ ├── index.ts
│ │ ├── layouts
│ │ │ ├── bottom-area.tsx
│ │ │ ├── index.ts
│ │ │ ├── left-area.tsx
│ │ │ ├── left-fixed-pane.tsx
│ │ │ ├── left-float-pane.tsx
│ │ │ ├── main-area.tsx
│ │ │ ├── right-area.tsx
│ │ │ ├── sub-top-area.tsx
│ │ │ ├── theme.less
│ │ │ ├── toolbar.tsx
│ │ │ ├── top-area.tsx
│ │ │ ├── workbench.less
│ │ │ └── workbench.tsx
│ │ ├── less-variables.less
│ │ ├── locale
│ │ │ ├── en-US.json
│ │ │ ├── index.ts
│ │ │ └── zh-CN.json
│ │ ├── register-defaults.ts
│ │ ├── skeleton.ts
│ │ ├── transducers
│ │ │ ├── addon-combine.ts
│ │ │ ├── parse-func.ts
│ │ │ └── parse-props.ts
│ │ ├── types.ts
│ │ └── widget
│ │ │ ├── dialog-dock.ts
│ │ │ ├── dock.ts
│ │ │ ├── index.ts
│ │ │ ├── panel-dock.ts
│ │ │ ├── panel.ts
│ │ │ ├── stage.ts
│ │ │ ├── utils.ts
│ │ │ ├── widget-container.ts
│ │ │ └── widget.ts
│ ├── tests
│ │ └── widget
│ │ │ └── utils.test.ts
│ └── tsconfig.json
├── engine
│ ├── README-zh_CN.md
│ ├── README.md
│ ├── babel.config.js
│ ├── build.json
│ ├── build.plugin.js
│ ├── build.test.json
│ ├── build.umd.json
│ ├── jest.config.js
│ ├── package.json
│ ├── src
│ │ ├── engine-core.ts
│ │ ├── index.ts
│ │ ├── inner-plugins
│ │ │ ├── builtin-hotkey.ts
│ │ │ ├── component-meta-parser.ts
│ │ │ ├── default-context-menu.ts
│ │ │ ├── default-panel-registry.tsx
│ │ │ └── setter-registry.ts
│ │ ├── locale
│ │ │ ├── en-US.json
│ │ │ ├── index.ts
│ │ │ └── zh-CN.json
│ │ └── modules
│ │ │ ├── classes.ts
│ │ │ ├── designer-types.ts
│ │ │ ├── live-editing.ts
│ │ │ ├── lowcode-types.ts
│ │ │ ├── shell-model-factory.ts
│ │ │ ├── skeleton-types.ts
│ │ │ └── symbols.ts
│ └── tsconfig.json
├── ignitor
│ ├── babel.config.js
│ ├── build.json
│ ├── build.plugin.js
│ ├── jest.config.js
│ ├── package.json
│ ├── public
│ │ ├── favicon.png
│ │ └── index.html
│ └── tsconfig.json
├── plugin-command
│ ├── README.md
│ ├── __tests__
│ │ └── node-command.test.ts
│ ├── build.json
│ ├── build.test.json
│ ├── jest.config.js
│ ├── package.json
│ └── src
│ │ ├── history-command.ts
│ │ ├── index.ts
│ │ └── node-command.ts
├── plugin-designer
│ ├── .gitignore
│ ├── build.json
│ ├── package.json
│ ├── src
│ │ ├── index.scss
│ │ └── index.tsx
│ └── tsconfig.json
├── plugin-outline-pane
│ ├── .gitignore
│ ├── build.json
│ ├── package.json
│ └── src
│ │ ├── README.md
│ │ ├── controllers
│ │ ├── pane-controller.ts
│ │ ├── ric-shim.d.ts
│ │ ├── tree-master.ts
│ │ ├── tree-node.ts
│ │ └── tree.ts
│ │ ├── helper
│ │ ├── consts.ts
│ │ ├── dwell-timer.ts
│ │ └── indent-track.ts
│ │ ├── icons
│ │ ├── arrow-right.tsx
│ │ ├── cond.tsx
│ │ ├── delete.tsx
│ │ ├── eye-close.tsx
│ │ ├── eye.tsx
│ │ ├── filter.tsx
│ │ ├── index.ts
│ │ ├── lock.tsx
│ │ ├── loop.tsx
│ │ ├── outline.tsx
│ │ ├── radio-active.tsx
│ │ ├── radio.tsx
│ │ ├── setting.tsx
│ │ └── unlock.tsx
│ │ ├── index.tsx
│ │ ├── locale
│ │ ├── en-US.json
│ │ ├── index.ts
│ │ └── zh-CN.json
│ │ └── views
│ │ ├── filter-tree.ts
│ │ ├── filter.tsx
│ │ ├── pane.tsx
│ │ ├── style.less
│ │ ├── tree-branches.tsx
│ │ ├── tree-node.tsx
│ │ ├── tree-title.tsx
│ │ └── tree.tsx
├── react-renderer
│ ├── README.md
│ ├── build.json
│ ├── build.test.json
│ ├── build.umd.json
│ ├── demo
│ │ ├── compose.md
│ │ ├── config
│ │ │ ├── components
│ │ │ │ ├── A.jsx
│ │ │ │ ├── Div.jsx
│ │ │ │ ├── Image.jsx
│ │ │ │ ├── Text.jsx
│ │ │ │ └── index.js
│ │ │ ├── constants.js
│ │ │ └── utils.js
│ │ ├── dataSource.md
│ │ ├── i18n.md
│ │ ├── list.md
│ │ ├── schemas
│ │ │ ├── compose.js
│ │ │ ├── dataSource.js
│ │ │ ├── i18n.js
│ │ │ ├── list.js
│ │ │ └── table.js
│ │ └── table.md
│ ├── jest.config.js
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ ├── tests
│ │ ├── __snapshots__
│ │ │ └── index.test.tsx.snap
│ │ ├── fixtures
│ │ │ └── schema
│ │ │ │ └── basic.ts
│ │ └── index.test.tsx
│ └── tsconfig.json
├── react-simulator-renderer
│ ├── .babelrc
│ ├── babel.config.js
│ ├── build.json
│ ├── build.plugin.js
│ ├── build.test.json
│ ├── build.umd.json
│ ├── jest.config.js
│ ├── package.json
│ ├── src
│ │ ├── README.md
│ │ ├── builtin-components
│ │ │ ├── builtin-components.ts
│ │ │ ├── leaf.tsx
│ │ │ └── slot.tsx
│ │ ├── host.ts
│ │ ├── index.ts
│ │ ├── locale
│ │ │ ├── en-US.json
│ │ │ ├── index.ts
│ │ │ └── zh-CN.json
│ │ ├── renderer-view.tsx
│ │ ├── renderer.less
│ │ ├── renderer.ts
│ │ └── utils
│ │ │ ├── get-client-rects.ts
│ │ │ ├── is-dom-node.ts
│ │ │ ├── misc.ts
│ │ │ ├── react-find-dom-nodes.ts
│ │ │ └── url.ts
│ ├── test
│ │ ├── schema
│ │ │ └── basic.ts
│ │ ├── src
│ │ │ └── renderer
│ │ │ │ ├── __snapshots__
│ │ │ │ └── demo.test.tsx.snap
│ │ │ │ └── demo.test.tsx
│ │ └── utils
│ │ │ ├── components.tsx
│ │ │ └── host.ts
│ └── tsconfig.json
├── renderer-core
│ ├── babel.config.js
│ ├── build.json
│ ├── build.test.json
│ ├── jest.config.js
│ ├── package.json
│ ├── src
│ │ ├── adapter
│ │ │ └── index.ts
│ │ ├── components
│ │ │ ├── Div.tsx
│ │ │ └── VisualDom
│ │ │ │ ├── index.css
│ │ │ │ └── index.tsx
│ │ ├── context
│ │ │ └── index.ts
│ │ ├── hoc
│ │ │ ├── index.tsx
│ │ │ └── leaf.tsx
│ │ ├── index.ts
│ │ ├── renderer
│ │ │ ├── addon.tsx
│ │ │ ├── base.tsx
│ │ │ ├── block.tsx
│ │ │ ├── component.tsx
│ │ │ ├── index.ts
│ │ │ ├── page.tsx
│ │ │ ├── renderer.tsx
│ │ │ └── temp.tsx
│ │ ├── types
│ │ │ └── index.ts
│ │ └── utils
│ │ │ ├── common.ts
│ │ │ ├── data-helper.ts
│ │ │ ├── index.ts
│ │ │ ├── is-use-loop.ts
│ │ │ ├── logger.ts
│ │ │ └── request.ts
│ ├── tests
│ │ ├── adapter
│ │ │ └── adapter.test.ts
│ │ ├── fixtures
│ │ │ ├── schema
│ │ │ │ └── basic.ts
│ │ │ └── unhandled-rejection.ts
│ │ ├── hoc
│ │ │ ├── __snapshots__
│ │ │ │ └── leaf.test.tsx.snap
│ │ │ └── leaf.test.tsx
│ │ ├── mock
│ │ │ ├── loop.ts
│ │ │ ├── sample.ts
│ │ │ └── styleMock.js
│ │ ├── renderer
│ │ │ ├── __snapshots__
│ │ │ │ └── renderer.test.tsx.snap
│ │ │ ├── base.test.tsx
│ │ │ └── renderer.test.tsx
│ │ ├── setup.ts
│ │ └── utils
│ │ │ ├── common.test.ts
│ │ │ ├── components.tsx
│ │ │ ├── data-helper.test.ts
│ │ │ ├── is-use-loop.test.ts
│ │ │ ├── node.ts
│ │ │ ├── react-env-init.ts
│ │ │ └── request.test.ts
│ └── tsconfig.json
├── shell
│ ├── build.json
│ ├── build.test.json
│ ├── package.json
│ └── src
│ │ ├── api
│ │ ├── canvas.ts
│ │ ├── command.ts
│ │ ├── common.tsx
│ │ ├── commonUI.tsx
│ │ ├── config.ts
│ │ ├── event.ts
│ │ ├── hotkey.ts
│ │ ├── index.ts
│ │ ├── logger.ts
│ │ ├── material.ts
│ │ ├── plugins.ts
│ │ ├── project.ts
│ │ ├── setters.ts
│ │ ├── simulator-host.ts
│ │ ├── skeleton.ts
│ │ └── workspace.ts
│ │ ├── components
│ │ └── context-menu.tsx
│ │ ├── index.ts
│ │ ├── model
│ │ ├── active-tracker.ts
│ │ ├── clipboard.ts
│ │ ├── component-meta.ts
│ │ ├── condition-group.ts
│ │ ├── detecting.ts
│ │ ├── document-model.ts
│ │ ├── drag-object.ts
│ │ ├── dragon.ts
│ │ ├── drop-location.ts
│ │ ├── editor-view.ts
│ │ ├── history.ts
│ │ ├── index.ts
│ │ ├── locate-event.ts
│ │ ├── modal-nodes-manager.ts
│ │ ├── node-children.ts
│ │ ├── node.ts
│ │ ├── plugin-instance.ts
│ │ ├── prop.ts
│ │ ├── props.ts
│ │ ├── resource.ts
│ │ ├── selection.ts
│ │ ├── setting-field.ts
│ │ ├── setting-top-entry.ts
│ │ ├── simulator-render.ts
│ │ ├── skeleton-item.ts
│ │ └── window.ts
│ │ └── symbols.ts
├── types
│ ├── .eslintignore
│ ├── .prettierrc.js
│ ├── CHANGELOG.md
│ ├── build.json
│ ├── package.json
│ ├── src
│ │ ├── activity.ts
│ │ ├── assets.ts
│ │ ├── code-intermediate.ts
│ │ ├── code-result.ts
│ │ ├── deprecated
│ │ │ ├── index.ts
│ │ │ ├── isActionContentObject.ts
│ │ │ ├── isCustomView.ts
│ │ │ ├── isDOMText.ts
│ │ │ ├── isDynamicSetter.ts
│ │ │ ├── isI18nData.ts
│ │ │ ├── isJSBlock.ts
│ │ │ ├── isJSExpression.ts
│ │ │ ├── isJSFunction.ts
│ │ │ ├── isJSSlot.ts
│ │ │ ├── isLowCodeComponentType.ts
│ │ │ ├── isNodeSchema.ts
│ │ │ ├── isPlainObject.ts
│ │ │ ├── isProCodeComponentType.ts
│ │ │ ├── isProjectSchema.ts
│ │ │ ├── isReactClass.ts
│ │ │ ├── isReactComponent.ts
│ │ │ ├── isSetterConfig.ts
│ │ │ └── isTitleConfig.ts
│ │ ├── editor.ts
│ │ ├── event
│ │ │ ├── index.ts
│ │ │ ├── node.ts
│ │ │ └── prop.ts
│ │ ├── index.ts
│ │ ├── shell-model-factory.ts
│ │ ├── shell
│ │ │ ├── api
│ │ │ │ ├── canvas.ts
│ │ │ │ ├── command.ts
│ │ │ │ ├── common.ts
│ │ │ │ ├── commonUI.ts
│ │ │ │ ├── event.ts
│ │ │ │ ├── hotkey.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── logger.ts
│ │ │ │ ├── material.ts
│ │ │ │ ├── plugins.ts
│ │ │ │ ├── project.ts
│ │ │ │ ├── setters.ts
│ │ │ │ ├── simulator-host.ts
│ │ │ │ ├── skeleton.ts
│ │ │ │ └── workspace.ts
│ │ │ ├── enum
│ │ │ │ ├── context-menu.ts
│ │ │ │ ├── drag-object-type.ts
│ │ │ │ ├── event-names.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── plugin-register-level.ts
│ │ │ │ ├── prop-value-changed-type.ts
│ │ │ │ ├── transform-stage.ts
│ │ │ │ └── transition-type.ts
│ │ │ ├── index.ts
│ │ │ ├── model
│ │ │ │ ├── active-tracker.ts
│ │ │ │ ├── clipboard.ts
│ │ │ │ ├── component-meta.ts
│ │ │ │ ├── detecting.ts
│ │ │ │ ├── document-model.ts
│ │ │ │ ├── drag-object.ts
│ │ │ │ ├── dragon.ts
│ │ │ │ ├── drop-location.ts
│ │ │ │ ├── editor-view.ts
│ │ │ │ ├── editor.ts
│ │ │ │ ├── engine-config.ts
│ │ │ │ ├── exclusive-group.ts
│ │ │ │ ├── history.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── locate-event.ts
│ │ │ │ ├── modal-nodes-manager.ts
│ │ │ │ ├── node-children.ts
│ │ │ │ ├── node.ts
│ │ │ │ ├── plugin-context.ts
│ │ │ │ ├── plugin-instance.ts
│ │ │ │ ├── preference.ts
│ │ │ │ ├── prop.ts
│ │ │ │ ├── props.ts
│ │ │ │ ├── resource.ts
│ │ │ │ ├── scroll-target.ts
│ │ │ │ ├── scroller.ts
│ │ │ │ ├── selection.ts
│ │ │ │ ├── sensor.ts
│ │ │ │ ├── setting-field.ts
│ │ │ │ ├── setting-prop-entry.ts
│ │ │ │ ├── setting-target.ts
│ │ │ │ ├── setting-top-entry.ts
│ │ │ │ ├── simulator-render.ts
│ │ │ │ ├── skeleton-item.ts
│ │ │ │ └── window.ts
│ │ │ └── type
│ │ │ │ ├── action-content-object.ts
│ │ │ │ ├── active-target.ts
│ │ │ │ ├── advanced.ts
│ │ │ │ ├── app-config.ts
│ │ │ │ ├── assets-json.ts
│ │ │ │ ├── block-schema.ts
│ │ │ │ ├── command.ts
│ │ │ │ ├── component-action.ts
│ │ │ │ ├── component-description.ts
│ │ │ │ ├── component-instance.ts
│ │ │ │ ├── component-metadata.ts
│ │ │ │ ├── component-schema.ts
│ │ │ │ ├── component-sort.ts
│ │ │ │ ├── composite-value.ts
│ │ │ │ ├── config-transducer.ts
│ │ │ │ ├── configure.ts
│ │ │ │ ├── container-schema.ts
│ │ │ │ ├── context-menu.ts
│ │ │ │ ├── custom-view.ts
│ │ │ │ ├── disposable.ts
│ │ │ │ ├── dom-text.ts
│ │ │ │ ├── drag-any-object.ts
│ │ │ │ ├── drag-node-data-object.ts
│ │ │ │ ├── drag-node-object.ts
│ │ │ │ ├── drag-object.ts
│ │ │ │ ├── dynamic-props.ts
│ │ │ │ ├── dynamic-setter.ts
│ │ │ │ ├── editor-get-options.ts
│ │ │ │ ├── editor-get-result.ts
│ │ │ │ ├── editor-register-options.ts
│ │ │ │ ├── editor-value-key.ts
│ │ │ │ ├── editor-view-config.ts
│ │ │ │ ├── editor-view.ts
│ │ │ │ ├── engine-options.ts
│ │ │ │ ├── field-config.ts
│ │ │ │ ├── field-extra-props.ts
│ │ │ │ ├── hotkey-callback-config.ts
│ │ │ │ ├── hotkey-callback.ts
│ │ │ │ ├── hotkey-callbacks.ts
│ │ │ │ ├── i18n-map.ts
│ │ │ │ ├── i8n-data.ts
│ │ │ │ ├── icon-config.ts
│ │ │ │ ├── icon-type.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── location.ts
│ │ │ │ ├── metadata-transducer.ts
│ │ │ │ ├── metadata.ts
│ │ │ │ ├── node-data-type.ts
│ │ │ │ ├── node-data.ts
│ │ │ │ ├── node-instance.ts
│ │ │ │ ├── node-schema.ts
│ │ │ │ ├── npm-info.ts
│ │ │ │ ├── npm.ts
│ │ │ │ ├── on-change-options.ts
│ │ │ │ ├── package.ts
│ │ │ │ ├── page-schema.ts
│ │ │ │ ├── plugin-config.ts
│ │ │ │ ├── plugin-creater.ts
│ │ │ │ ├── plugin-declaration-property.ts
│ │ │ │ ├── plugin-declaration.ts
│ │ │ │ ├── plugin-meta.ts
│ │ │ │ ├── plugin-register-options.ts
│ │ │ │ ├── plugin.ts
│ │ │ │ ├── preference-value-type.ts
│ │ │ │ ├── project-schema.ts
│ │ │ │ ├── prop-change-options.ts
│ │ │ │ ├── prop-config.ts
│ │ │ │ ├── prop-types.ts
│ │ │ │ ├── props-list.ts
│ │ │ │ ├── props-map.ts
│ │ │ │ ├── props-transducer.ts
│ │ │ │ ├── reference.ts
│ │ │ │ ├── registered-setter.ts
│ │ │ │ ├── remote-component-description.ts
│ │ │ │ ├── resource-list.ts
│ │ │ │ ├── resource-type-config.ts
│ │ │ │ ├── resource-type.ts
│ │ │ │ ├── root-schema.ts
│ │ │ │ ├── scrollable.ts
│ │ │ │ ├── set-value-options.ts
│ │ │ │ ├── setter-config.ts
│ │ │ │ ├── setter-type.ts
│ │ │ │ ├── simulator-renderer.ts
│ │ │ │ ├── slot-schema.ts
│ │ │ │ ├── snippet.ts
│ │ │ │ ├── tip-config.ts
│ │ │ │ ├── tip-content.ts
│ │ │ │ ├── title-config.ts
│ │ │ │ ├── title-content.ts
│ │ │ │ ├── transformed-component-metadata.ts
│ │ │ │ ├── value-type.ts
│ │ │ │ ├── widget-base-config.ts
│ │ │ │ └── widget-config-area.ts
│ │ └── utils.ts
│ └── tsconfig.json
├── utils
│ ├── build.json
│ ├── build.test.json
│ ├── jest.config.js
│ ├── jest.setup.js
│ ├── package.json
│ ├── src
│ │ ├── app-helper.ts
│ │ ├── asset.ts
│ │ ├── build-components.ts
│ │ ├── check-prop-types.ts
│ │ ├── check-types
│ │ │ ├── index.ts
│ │ │ ├── is-action-content-object.ts
│ │ │ ├── is-basic-prop-type.ts
│ │ │ ├── is-component-schema.ts
│ │ │ ├── is-custom-view.ts
│ │ │ ├── is-dom-text.ts
│ │ │ ├── is-drag-any-object.ts
│ │ │ ├── is-drag-node-data-object.ts
│ │ │ ├── is-drag-node-object.ts
│ │ │ ├── is-dynamic-setter.ts
│ │ │ ├── is-function.ts
│ │ │ ├── is-i18n-data.ts
│ │ │ ├── is-isfunction.ts
│ │ │ ├── is-jsblock.ts
│ │ │ ├── is-jsexpression.ts
│ │ │ ├── is-jsslot.ts
│ │ │ ├── is-location-children-detail.ts
│ │ │ ├── is-location-data.ts
│ │ │ ├── is-lowcode-component-type.ts
│ │ │ ├── is-lowcode-project-schema.ts
│ │ │ ├── is-node-schema.ts
│ │ │ ├── is-node.ts
│ │ │ ├── is-object.ts
│ │ │ ├── is-procode-component-type.ts
│ │ │ ├── is-project-schema.ts
│ │ │ ├── is-required-prop-type.ts
│ │ │ ├── is-setter-config.ts
│ │ │ ├── is-setting-field.ts
│ │ │ └── is-title-config.ts
│ │ ├── clone-deep.ts
│ │ ├── clone-enumerable-property.ts
│ │ ├── context-menu.scss
│ │ ├── context-menu.tsx
│ │ ├── create-content.ts
│ │ ├── create-defer.ts
│ │ ├── create-icon.tsx
│ │ ├── css-helper.ts
│ │ ├── cursor.css
│ │ ├── cursor.ts
│ │ ├── env.ts
│ │ ├── get-prototype-of.ts
│ │ ├── has-own-property.ts
│ │ ├── index.ts
│ │ ├── is-css-url.ts
│ │ ├── is-element.ts
│ │ ├── is-es-module.ts
│ │ ├── is-form-event.ts
│ │ ├── is-function.ts
│ │ ├── is-object.ts
│ │ ├── is-plain-object.ts
│ │ ├── is-plugin-event-name.ts
│ │ ├── is-react.ts
│ │ ├── is-shaken.ts
│ │ ├── logger.ts
│ │ ├── misc.ts
│ │ ├── navtive-selection.ts
│ │ ├── node-helper.ts
│ │ ├── schema.ts
│ │ ├── script.ts
│ │ ├── set-prototype-of.ts
│ │ ├── shallow-equal.ts
│ │ ├── svg-icon.tsx
│ │ ├── transaction-manager.ts
│ │ ├── unique-id.ts
│ │ └── workspace.tsx
│ ├── test
│ │ └── src
│ │ │ ├── __snapshots__
│ │ │ ├── is-react.test.tsx.snap
│ │ │ └── schema.test.ts.snap
│ │ │ ├── build-components
│ │ │ ├── buildComponents.test.tsx
│ │ │ ├── getProjectUtils.test.ts
│ │ │ └── getSubComponent.test.ts
│ │ │ ├── check-prop-types.test.ts
│ │ │ ├── check-types
│ │ │ ├── is-action-content-object.test.ts
│ │ │ ├── is-basic-prop-type.test.ts
│ │ │ ├── is-custom-view.test.tsx
│ │ │ ├── is-dom-text.test.ts
│ │ │ ├── is-drag-any-object.test.ts
│ │ │ ├── is-drag-node-data-object.test.ts
│ │ │ ├── is-drag-node-object.test.ts
│ │ │ ├── is-dynamic-setter.test.ts
│ │ │ ├── is-i18n-data.test.ts
│ │ │ ├── is-isfunction.test.ts
│ │ │ ├── is-jsblock.test.ts
│ │ │ ├── is-jsexpression.test.ts
│ │ │ ├── is-jsslot.test.ts
│ │ │ ├── is-location-children-detail.test.ts
│ │ │ ├── is-location-data.test.ts
│ │ │ ├── is-lowcode-component-type.test.ts
│ │ │ ├── is-lowcode-project-schema.test.ts
│ │ │ ├── is-node-schema.test.ts
│ │ │ ├── is-node.test.ts
│ │ │ ├── is-procode-component-type.test.ts
│ │ │ ├── is-project-schema.test.ts
│ │ │ ├── is-required-prop-type.test.ts
│ │ │ ├── is-setter-config.test.ts
│ │ │ ├── is-setting-field.test.ts
│ │ │ └── is-title-config.test.ts
│ │ │ ├── clone-deep.test.ts
│ │ │ ├── clone-enumerable-property.test.ts
│ │ │ ├── create-content.test.tsx
│ │ │ ├── create-defer.test.ts
│ │ │ ├── is-object.test.ts
│ │ │ ├── is-react.test.tsx
│ │ │ ├── is-shaken.test.ts
│ │ │ ├── misc.test.ts
│ │ │ ├── navtive-selection.test.ts
│ │ │ ├── schema.test.ts
│ │ │ ├── script.test.ts
│ │ │ ├── svg-icon.test.tsx
│ │ │ ├── transaction-manager.test.ts
│ │ │ └── unique-id.test.ts
│ └── tsconfig.json
└── workspace
│ ├── build.json
│ ├── build.test.json
│ ├── jest.config.js
│ ├── package.json
│ ├── src
│ ├── context
│ │ ├── base-context.ts
│ │ └── view-context.ts
│ ├── index.ts
│ ├── inner-plugins
│ │ └── webview.tsx
│ ├── layouts
│ │ └── workbench.tsx
│ ├── less-variables.less
│ ├── resource-type.ts
│ ├── resource.ts
│ ├── skeleton-context.ts
│ ├── view
│ │ ├── editor-view.tsx
│ │ ├── resource-view.less
│ │ ├── resource-view.tsx
│ │ └── window-view.tsx
│ ├── window.ts
│ └── workspace.ts
│ └── tsconfig.json
├── scripts
├── build.sh
├── create.sh
├── set-repo.js
├── setup-for-test.sh
├── setup-skip-build.sh
├── setup.js
├── setup.sh
├── start-server.sh
├── start.js
├── start.sh
├── sync-oss.js
├── sync.sh
└── watchdog.js
└── tsconfig.json
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | indent_style = space
5 | indent_size = 2
6 | end_of_line = lf
7 | charset = utf-8
8 | trim_trailing_whitespace = true
9 | insert_final_newline = true
10 | quote_type = single
11 |
12 | [*.md]
13 | trim_trailing_whitespace = false
14 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | # 忽略目录
2 | node_modules
3 | test-cases
4 | test
5 | output
6 | build
7 | dist
8 | demo
9 | es
10 | lib
11 | tests
12 | .*
13 | ~*
14 |
15 | # 忽略文件
16 | **/*.min.js
17 | **/*-min.js
18 | **/*.bundle.js
19 |
--------------------------------------------------------------------------------
/.prettierrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | printWidth: 100,
3 | tabWidth: 2,
4 | semi: true,
5 | singleQuote: true,
6 | trailingComma: 'all',
7 | };
8 |
--------------------------------------------------------------------------------
/.stylelintignore:
--------------------------------------------------------------------------------
1 | # 忽略目录
2 | node_modules/
3 | build/
4 | dist/
5 |
6 | # 忽略文件
7 | **/*.min.css
8 | **/*-min.css
9 | **/*.bundle.css
10 |
--------------------------------------------------------------------------------
/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | extends: 'stylelint-config-ali',
3 | rules: {
4 | "selector-max-id": 2
5 | }
6 | };
7 |
--------------------------------------------------------------------------------
/README-zh_CN.md:
--------------------------------------------------------------------------------
1 | packages/engine/README-zh_CN.md
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | packages/engine/README.md
--------------------------------------------------------------------------------
/abc.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "lowcode-engine",
3 | "assets": {
4 | "type": "command",
5 | "command": {
6 | "cmd": [
7 | "./scripts/deploy.sh $BUILD_DEST"
8 | ]
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: [
3 | ['@babel/plugin-proposal-decorators', { legacy: true }],
4 | [require.resolve('@babel/plugin-proposal-class-properties'), { loose: true }],
5 | ],
6 | };
--------------------------------------------------------------------------------
/commitlint.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | extends: ['ali'],
3 | };
4 |
--------------------------------------------------------------------------------
/deploy-space/lerna.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "independent",
3 | "npmClient": "yarn",
4 | "registry": "http://registry.npm.alibaba-inc.com",
5 | "useWorkspaces": true,
6 | "packages": [
7 | "packages/*"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/docs/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
3 | };
4 |
--------------------------------------------------------------------------------
/docs/community/img/i-see.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/docs/community/img/i-see.png
--------------------------------------------------------------------------------
/docs/community/img/you-think.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/docs/community/img/you-think.png
--------------------------------------------------------------------------------
/docs/docs/api/model/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "模型定义 Models",
3 | "position": 100,
4 | "collapsed": false,
5 | "collapsible": true
6 | }
7 |
--------------------------------------------------------------------------------
/docs/docs/demoUsage/advanced/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "进阶功能",
3 | "position": 3,
4 | "collapsed": false,
5 | "collapsible": false
6 | }
7 |
--------------------------------------------------------------------------------
/docs/docs/demoUsage/appendix/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "常见问题",
3 | "position": 4,
4 | "collapsed": false,
5 | "collapsible": false
6 | }
7 |
--------------------------------------------------------------------------------
/docs/docs/demoUsage/makeStuff/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "如何制作",
3 | "position": 1,
4 | "collapsed": false,
5 | "collapsible": false
6 | }
7 |
--------------------------------------------------------------------------------
/docs/docs/demoUsage/panels/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "面板详解",
3 | "position": 2,
4 | "collapsed": false,
5 | "collapsible": false
6 | }
7 |
--------------------------------------------------------------------------------
/docs/docs/faq/faq001.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: build-scripts 的使用文档
3 | sidebar_position: 1
4 | tags: [FAQ]
5 | ---
6 | build-scripts 是一个开源项目,详见 [https://github.com/ice-lab/build-scripts](https://github.com/ice-lab/build-scripts)
7 |
--------------------------------------------------------------------------------
/docs/docs/faq/faq006.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 如何通过 API 手动调用数据源请求
3 | sidebar_position: 6
4 | tags: [FAQ]
5 | ---
6 | 参考:[DataSource API](/site/docs/demoUsage/appendix/api)
--------------------------------------------------------------------------------
/docs/docs/faq/faq008.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 某某 npm 包对应的源码在哪里?
3 | sidebar_position: 8
4 | tags: [FAQ]
5 | ---
6 |
7 | 详见 [NPM 包对应源码位置汇总](/site/docs/guide/appendix/npms)
--------------------------------------------------------------------------------
/docs/docs/faq/faq015.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 已有组件如何快速接入引擎
3 | sidebar_position: 15
4 | tags: [FAQ]
5 | ---
6 | 你可以通过在线工具「Parts 造物」生产物料描述协议,然后使用到你的项目中去。
7 | 文档地址:[利用 Parts 造物快速使用 react 组件](/site/docs/guide/expand/editor/parts/partsIntro)
8 |
--------------------------------------------------------------------------------
/docs/docs/faq/faq017.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: vue 画布支持说明
3 | sidebar_position: 17
4 | tags: [FAQ]
5 | ---
6 | #### 低代码引擎官方是否支持 Vue 画布
7 | 短期没有支持的计划
8 |
9 | #### 社区研发的 Vue 画布
10 | ##### 肯耐珂萨团队实现的 Vue 画布
11 | github:[https://github.com/KNXCloud/lowcode-engine-vue](https://github.com/KNXCloud/lowcode-engine-vue)
12 |
--------------------------------------------------------------------------------
/docs/docs/guide/appendix/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "附录",
3 | "position": 5,
4 | "collapsed": false,
5 | "collapsible": true
6 | }
7 |
--------------------------------------------------------------------------------
/docs/docs/guide/appendix/glossary.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 名词解释
3 | sidebar_position: 0
4 | ---
5 | 
6 |
--------------------------------------------------------------------------------
/docs/docs/guide/appendix/metaSpec.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 搭建组件协议结构
3 | sidebar_position: 1
4 | ---
5 | 完整协议[查看](/site/docs/specs/material-spec)
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/docs/docs/guide/appendix/setterDetails/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "预置设置器详情",
3 | "position": 5
4 | }
5 |
--------------------------------------------------------------------------------
/docs/docs/guide/appendix/setterDetails/behavior.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: BehaviorSetter
3 | ---
4 |
5 | 详见 [npm 包说明](https://g.alicdn.com/code/npm/@ali/lowcode-setter-behavior/0.1.1/build/index.html)
--------------------------------------------------------------------------------
/docs/docs/guide/create/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "创建低代码编辑器",
3 | "position": 1,
4 | "collapsed": false,
5 | "collapsible": true
6 | }
7 |
--------------------------------------------------------------------------------
/docs/docs/guide/design/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "引擎设计原理",
3 | "position": 3,
4 | "collapsed": false,
5 | "collapsible": true
6 | }
7 |
--------------------------------------------------------------------------------
/docs/docs/guide/expand/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "扩展低代码编辑器",
3 | "position": 2,
4 | "collapsed": false,
5 | "collapsible": true
6 | }
7 |
--------------------------------------------------------------------------------
/docs/docs/guide/expand/editor/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "扩展编辑态",
3 | "position": 1,
4 | "collapsed": false,
5 | "collapsible": true
6 | }
7 |
--------------------------------------------------------------------------------
/docs/docs/guide/expand/editor/parts/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "Parts 造物",
3 | "position": 1
4 | }
5 |
--------------------------------------------------------------------------------
/docs/docs/guide/expand/runtime/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "扩展运行时",
3 | "position": 2,
4 | "collapsed": false,
5 | "collapsible": true
6 | }
7 |
--------------------------------------------------------------------------------
/docs/docs/guide/quickStart/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "入门",
3 | "position": 0,
4 | "collapsed": false,
5 | "collapsible": true
6 | }
7 |
--------------------------------------------------------------------------------
/docs/src/pages/markdown-page.md:
--------------------------------------------------------------------------------
1 |
4 |
5 | # 文档能力介绍
6 |
7 | 这是一个使用 Markdown 编写的任意页面,访问地址为 /markdown-page
8 |
9 | Product Docs Capability Introduction.
10 |
11 | ## 功能
12 |
13 | - ✅ 支持本地离线搜搜
14 | - ✅ 版本化文档管理
15 | - ✅ 离线静态部署
16 |
--------------------------------------------------------------------------------
/docs/static/img/docusaurus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/docs/static/img/docusaurus.png
--------------------------------------------------------------------------------
/docs/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | // This file is not used in compilation. It is here just for a nice editor experience.
3 | "extends": "@tsconfig/docusaurus/tsconfig.json",
4 | "compilerOptions": {
5 | "baseUrl": "."
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/index.ts:
--------------------------------------------------------------------------------
1 | import renderer from './packages/react-simulator-renderer/src/renderer';
2 |
3 | if (typeof window !== 'undefined') {
4 | (window as any).SimulatorRenderer = renderer;
5 | }
6 |
7 | export default renderer;
8 |
--------------------------------------------------------------------------------
/modules/code-generator/.prettierrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | printWidth: 100,
3 | tabWidth: 2,
4 | semi: true,
5 | singleQuote: true,
6 | trailingComma: 'all',
7 | };
8 |
--------------------------------------------------------------------------------
/modules/code-generator/.versionrc:
--------------------------------------------------------------------------------
1 | {
2 | "releaseCommitMessageFormat": "chore(release): code-generator - {{currentTag}}"
3 | }
--------------------------------------------------------------------------------
/modules/code-generator/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = require('../../babel.config');
--------------------------------------------------------------------------------
/modules/code-generator/scripts/build-types:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo building types...
4 | tsc --outDir types --declaration --emitDeclarationOnly && \
5 | echo built types... && \
6 | rm -rf types/packages && \
7 | mv types/modules/code-generator/src/* types/ && \
8 | rm -rf types/modules
9 |
10 |
11 |
--------------------------------------------------------------------------------
/modules/code-generator/src/cli/index.ts:
--------------------------------------------------------------------------------
1 | export * from './run';
2 | export * from './init-solution';
3 |
--------------------------------------------------------------------------------
/modules/code-generator/src/config/env.ts:
--------------------------------------------------------------------------------
1 | import * as path from 'path';
2 |
3 | export const CODE_GENERATOR_ROOT = path.join(__dirname, '../..');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/src/const/file.ts:
--------------------------------------------------------------------------------
1 | import { FileType } from '../types/core';
2 |
3 | export const FILE_TYPE_FAMILY = [[FileType.TSX, FileType.TS, FileType.JSX, FileType.JS]];
4 |
--------------------------------------------------------------------------------
/modules/code-generator/src/polyfills/buffer.ts:
--------------------------------------------------------------------------------
1 | import { Buffer } from 'buffer';
2 |
3 | declare const self: any;
4 |
5 | if (self && !self.Buffer) {
6 | Object.assign(self, {
7 | Buffer,
8 | });
9 | }
10 |
--------------------------------------------------------------------------------
/modules/code-generator/src/postprocessor/index.ts:
--------------------------------------------------------------------------------
1 | import prettier from './prettier';
2 |
3 | export { prettier };
4 |
--------------------------------------------------------------------------------
/modules/code-generator/src/types/analyze.ts:
--------------------------------------------------------------------------------
1 | import type { IPublicTypeContainerSchema } from '@alilc/lowcode-types';
2 |
3 | export interface ICompAnalyzeResult {
4 | isUsingRef: boolean;
5 | }
6 |
7 | export type TComponentAnalyzer = (container: IPublicTypeContainerSchema) => ICompAnalyzeResult;
8 |
--------------------------------------------------------------------------------
/modules/code-generator/src/types/file.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 扁平文件信息(层级结构隐含在 pathName 中)
3 | */
4 | export interface FlattenFile {
5 | /**
6 | * 文件路径
7 | */
8 | pathName: string;
9 |
10 | /**
11 | * 文件内容
12 | */
13 | content: string | Buffer;
14 | }
15 |
--------------------------------------------------------------------------------
/modules/code-generator/src/types/index.ts:
--------------------------------------------------------------------------------
1 | export * from './core';
2 | export * from './deps';
3 | export * from './error';
4 | export * from './analyze';
5 | export * from './intermediate';
6 | export * from './publisher';
7 | export * from './jsx';
8 |
--------------------------------------------------------------------------------
/modules/code-generator/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | declare module 'nanomatch';
2 |
--------------------------------------------------------------------------------
/modules/code-generator/src/utils/debug.ts:
--------------------------------------------------------------------------------
1 | import createDebug from 'debug';
2 |
3 | export const debug = createDebug('code-generator');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/standalone-loader/index.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable @typescript-eslint/no-require-imports */
2 | module.exports = require('../dist/standalone-loader');
3 |
--------------------------------------------------------------------------------
/modules/code-generator/standalone-loader/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "internal": true,
3 | "main": "../dist/standalone-loader.js",
4 | "module": "../dist/standalone-loader.esm.js",
5 | "types": "../types/standalone-loader.d.ts"
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/standalone-worker/index.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable @typescript-eslint/no-require-imports */
2 | if (process.env.NODE_ENV !== 'development') {
3 | module.exports = require('../dist/standalone-worker.min');
4 | } else {
5 | module.exports = require('../dist/standalone-worker');
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/standalone-worker/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "internal": true,
3 | "main": "./index.js",
4 | "types": "../lib/standalone-worker.d.ts"
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/standalone/index.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable @typescript-eslint/no-require-imports */
2 | if (process.env.NODE_ENV !== 'development') {
3 | module.exports = require('../dist/standalone.min');
4 | } else {
5 | module.exports = require('../dist/standalone');
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/standalone/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "internal": true,
3 | "main": "./index.js",
4 | "types": "../types/standalone.d.ts"
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/static-files/rax/.eslintignore.template:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/static-files/rax/.prettierignore.template:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/static-files/rax/.prettierrc.js.template:
--------------------------------------------------------------------------------
1 | const { getPrettierConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getPrettierConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/static-files/rax/.stylelintignore.template:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/static-files/rax/.stylelintrc.js.template:
--------------------------------------------------------------------------------
1 | const { getStylelintConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getStylelintConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/static-files/rax/jsconfig.json.template:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "jsx": "react",
5 | "paths": {
6 | "@/*": ["./src/*"],
7 | "rax-app": [".rax/index.ts"]
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/bugfix/.gitignore:
--------------------------------------------------------------------------------
1 | *.generated
2 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/.gitignore:
--------------------------------------------------------------------------------
1 | actual/
2 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo1/expected/demo-project/.browserslistrc:
--------------------------------------------------------------------------------
1 | defaults
2 | ios_saf 9
3 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo1/expected/demo-project/README.md:
--------------------------------------------------------------------------------
1 | This project is generated by lowcode-code-generator & lowcode-solution-icejs3.
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo1/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = { ENV: 'prod', DOMAIN: 'xxx.xxx.com' };
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo1/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
8 | body {
9 | font-size: 12px;
10 | }
11 | .table {
12 | width: 100px;
13 | }
14 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo1/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo1/expected/demo-project/src/pages/Test/index.css
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo1/expected/demo-project/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | export {};
4 | declare global {
5 | interface Window {
6 | g_config: Record;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo2-utils-name-alias/expected/demo-project/.browserslistrc:
--------------------------------------------------------------------------------
1 | defaults
2 | ios_saf 9
3 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo2-utils-name-alias/expected/demo-project/README.md:
--------------------------------------------------------------------------------
1 | This project is generated by lowcode-code-generator & lowcode-solution-icejs3.
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo2-utils-name-alias/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo2-utils-name-alias/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo2-utils-name-alias/expected/demo-project/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | export {};
4 | declare global {
5 | interface Window {
6 | g_config: Record;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo2/expected/demo-project/.browserslistrc:
--------------------------------------------------------------------------------
1 | defaults
2 | ios_saf 9
3 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo2/expected/demo-project/README.md:
--------------------------------------------------------------------------------
1 | This project is generated by lowcode-code-generator & lowcode-solution-icejs3.
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo2/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = { ENV: 'prod', DOMAIN: 'xxx.xxx.com' };
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo2/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
8 | body {
9 | font-size: 12px;
10 | }
11 | .table {
12 | width: 100px;
13 | }
14 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo2/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo2/expected/demo-project/src/pages/Test/index.css
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo2/expected/demo-project/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | export {};
4 | declare global {
5 | interface Window {
6 | g_config: Record;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo3/expected/demo-project/.browserslistrc:
--------------------------------------------------------------------------------
1 | defaults
2 | ios_saf 9
3 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo3/expected/demo-project/README.md:
--------------------------------------------------------------------------------
1 | This project is generated by lowcode-code-generator & lowcode-solution-icejs3.
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo3/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = { ENV: 'prod', DOMAIN: 'xxx.xxx.com' };
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo3/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
8 | body {
9 | font-size: 12px;
10 | }
11 | .table {
12 | width: 100px;
13 | }
14 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo3/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo3/expected/demo-project/src/pages/Test/index.css
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo3/expected/demo-project/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | export {};
4 | declare global {
5 | interface Window {
6 | g_config: Record;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo4/expected/demo-project/.browserslistrc:
--------------------------------------------------------------------------------
1 | defaults
2 | ios_saf 9
3 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo4/expected/demo-project/README.md:
--------------------------------------------------------------------------------
1 | This project is generated by lowcode-code-generator & lowcode-solution-icejs3.
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo4/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo4/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo4/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-size: 12px;
3 | }
4 |
5 | .botton {
6 | width: 100px;
7 | color: #ff00ff;
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo4/expected/demo-project/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | export {};
4 | declare global {
5 | interface Window {
6 | g_config: Record;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo5/expected/demo-project/.browserslistrc:
--------------------------------------------------------------------------------
1 | defaults
2 | ios_saf 9
3 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo5/expected/demo-project/README.md:
--------------------------------------------------------------------------------
1 | This project is generated by lowcode-code-generator & lowcode-solution-icejs3.
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo5/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo5/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo5/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-size: 12px;
3 | }
4 |
5 | .botton {
6 | width: 100px;
7 | color: #ff00ff;
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo5/expected/demo-project/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | export {};
4 | declare global {
5 | interface Window {
6 | g_config: Record;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo6-literal-condition/expected/demo-project/.browserslistrc:
--------------------------------------------------------------------------------
1 | defaults
2 | ios_saf 9
3 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo6-literal-condition/expected/demo-project/README.md:
--------------------------------------------------------------------------------
1 | This project is generated by lowcode-code-generator & lowcode-solution-icejs3.
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo6-literal-condition/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = { ENV: 'prod', DOMAIN: 'xxx.xxx.com' };
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo6-literal-condition/expected/demo-project/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | export {};
4 | declare global {
5 | interface Window {
6 | g_config: Record;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo7-literal-condition2/expected/demo-project/.browserslistrc:
--------------------------------------------------------------------------------
1 | defaults
2 | ios_saf 9
3 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo7-literal-condition2/expected/demo-project/README.md:
--------------------------------------------------------------------------------
1 | This project is generated by lowcode-code-generator & lowcode-solution-icejs3.
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo7-literal-condition2/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo7-literal-condition2/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo7-literal-condition2/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-size: 12px;
3 | }
4 |
5 | .botton {
6 | width: 100px;
7 | color: #ff00ff;
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo7-literal-condition2/expected/demo-project/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | export {};
4 | declare global {
5 | interface Window {
6 | g_config: Record;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo8-datasource-prop/expected/demo-project/.browserslistrc:
--------------------------------------------------------------------------------
1 | defaults
2 | ios_saf 9
3 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo8-datasource-prop/expected/demo-project/README.md:
--------------------------------------------------------------------------------
1 | This project is generated by lowcode-code-generator & lowcode-solution-icejs3.
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo8-datasource-prop/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo8-datasource-prop/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo8-datasource-prop/expected/demo-project/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | export {};
4 | declare global {
5 | interface Window {
6 | g_config: Record;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo9-datasource-engine/expected/demo-project/.browserslistrc:
--------------------------------------------------------------------------------
1 | defaults
2 | ios_saf 9
3 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo9-datasource-engine/expected/demo-project/README.md:
--------------------------------------------------------------------------------
1 | This project is generated by lowcode-code-generator & lowcode-solution-icejs3.
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo9-datasource-engine/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo9-datasource-engine/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo9-datasource-engine/expected/demo-project/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | export {};
4 | declare global {
5 | interface Window {
6 | g_config: Record;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo_10-jsslot/expected/demo-project/.browserslistrc:
--------------------------------------------------------------------------------
1 | defaults
2 | ios_saf 9
3 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo_10-jsslot/expected/demo-project/README.md:
--------------------------------------------------------------------------------
1 | This project is generated by lowcode-code-generator & lowcode-solution-icejs3.
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo_10-jsslot/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo_10-jsslot/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo_10-jsslot/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-size: 12px;
3 | }
4 |
5 | .botton {
6 | width: 100px;
7 | color: #ff00ff;
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo_10-jsslot/expected/demo-project/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | export {};
4 | declare global {
5 | interface Window {
6 | g_config: Record;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo_11-jsslot-2/expected/demo-project/.browserslistrc:
--------------------------------------------------------------------------------
1 | defaults
2 | ios_saf 9
3 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo_11-jsslot-2/expected/demo-project/README.md:
--------------------------------------------------------------------------------
1 | This project is generated by lowcode-code-generator & lowcode-solution-icejs3.
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo_11-jsslot-2/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo_11-jsslot-2/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo_11-jsslot-2/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-size: 12px;
3 | }
4 |
5 | .botton {
6 | width: 100px;
7 | color: #ff00ff;
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/icejs3-app/demo_11-jsslot-2/expected/demo-project/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | export {};
4 | declare global {
5 | interface Window {
6 | g_config: Record;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo01/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo01/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo01/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 | const { getPrettierConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getPrettierConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo01/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo01/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | const { getStylelintConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getStylelintConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo01/expected/demo-project/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "inlineStyle": false,
3 | "plugins": [],
4 | "targets": ["web"]
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo01/expected/demo-project/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "jsx": "react",
5 | "paths": {
6 | "@/*": ["./src/*"],
7 | "rax-app": [".rax/index.ts"]
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo01/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { runApp } from 'rax-app';
2 |
3 | import './global.css';
4 |
5 | runApp({
6 | router: {
7 | mode: 'hash',
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo01/expected/demo-project/src/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "routes": [
3 | {
4 | "path": "/",
5 | "source": "pages/Home/index"
6 | }
7 | ],
8 | "window": {
9 | "title": "Rax App Demo"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo01/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo01/expected/demo-project/src/global.css:
--------------------------------------------------------------------------------
1 | body {
2 | -webkit-font-smoothing: antialiased;
3 | }
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo01/expected/demo-project/src/pages/Home/index.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/modules/code-generator/tests/fixtures/test-cases/rax-app/demo01/expected/demo-project/src/pages/Home/index.css
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo02/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo02/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo02/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 | const { getPrettierConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getPrettierConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo02/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo02/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | const { getStylelintConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getStylelintConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo02/expected/demo-project/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "inlineStyle": false,
3 | "plugins": [],
4 | "targets": ["web"]
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo02/expected/demo-project/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "jsx": "react",
5 | "paths": {
6 | "@/*": ["./src/*"],
7 | "rax-app": [".rax/index.ts"]
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo02/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { runApp } from 'rax-app';
2 |
3 | import './global.css';
4 |
5 | runApp({
6 | router: {
7 | mode: 'hash',
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo02/expected/demo-project/src/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "routes": [
3 | {
4 | "path": "/",
5 | "source": "pages/Home/index"
6 | }
7 | ],
8 | "window": {
9 | "title": "Rax App Demo"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo02/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo02/expected/demo-project/src/global.css:
--------------------------------------------------------------------------------
1 | body {
2 | -webkit-font-smoothing: antialiased;
3 | }
4 |
5 | page,
6 | body {
7 | width: 750rpx;
8 | overflow-x: hidden;
9 | }
10 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo02/expected/demo-project/src/pages/Home/index.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/modules/code-generator/tests/fixtures/test-cases/rax-app/demo02/expected/demo-project/src/pages/Home/index.css
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo03/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo03/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo03/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 | const { getPrettierConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getPrettierConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo03/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo03/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | const { getStylelintConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getStylelintConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo03/expected/demo-project/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "inlineStyle": false,
3 | "plugins": [],
4 | "targets": ["web"]
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo03/expected/demo-project/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "jsx": "react",
5 | "paths": {
6 | "@/*": ["./src/*"],
7 | "rax-app": [".rax/index.ts"]
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo03/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { runApp } from 'rax-app';
2 |
3 | import './global.css';
4 |
5 | runApp({
6 | router: {
7 | mode: 'hash',
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo03/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo03/expected/demo-project/src/global.css:
--------------------------------------------------------------------------------
1 | body {
2 | -webkit-font-smoothing: antialiased;
3 | }
4 |
5 | page,
6 | body {
7 | width: 750rpx;
8 | overflow-x: hidden;
9 | }
10 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo03/expected/demo-project/src/pages/Detail/index.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/modules/code-generator/tests/fixtures/test-cases/rax-app/demo03/expected/demo-project/src/pages/Detail/index.css
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo03/expected/demo-project/src/pages/Home/index.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/modules/code-generator/tests/fixtures/test-cases/rax-app/demo03/expected/demo-project/src/pages/Home/index.css
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo03/expected/demo-project/src/pages/List/index.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/modules/code-generator/tests/fixtures/test-cases/rax-app/demo03/expected/demo-project/src/pages/List/index.css
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo04/README.md:
--------------------------------------------------------------------------------
1 | # 这个 demo 是用来演示运行时的方案的。
2 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo04/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo04/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo04/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 | const { getPrettierConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getPrettierConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo04/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo04/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | const { getStylelintConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getStylelintConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo04/expected/demo-project/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "inlineStyle": false,
3 | "plugins": [],
4 | "targets": ["web"],
5 | "miniapp": {
6 | "buildType": "runtime"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo04/expected/demo-project/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "jsx": "react",
5 | "paths": {
6 | "@/*": ["./src/*"],
7 | "rax-app": [".rax/index.ts"]
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo04/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { runApp } from 'rax-app';
2 |
3 | import './global.css';
4 |
5 | runApp({
6 | router: {
7 | mode: 'hash',
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo04/expected/demo-project/src/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "routes": [
3 | {
4 | "path": "/",
5 | "source": "pages/Home/index"
6 | }
7 | ],
8 | "window": {
9 | "title": "Rax App Demo"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo04/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo04/expected/demo-project/src/global.css:
--------------------------------------------------------------------------------
1 | body {
2 | -webkit-font-smoothing: antialiased;
3 | }
4 |
5 | page,
6 | body {
7 | width: 750rpx;
8 | overflow-x: hidden;
9 | }
10 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo04/expected/demo-project/src/pages/Home/index.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/modules/code-generator/tests/fixtures/test-cases/rax-app/demo04/expected/demo-project/src/pages/Home/index.css
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo05/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo05/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo05/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 | const { getPrettierConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getPrettierConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo05/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo05/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | const { getStylelintConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getStylelintConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo05/expected/demo-project/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "inlineStyle": false,
3 | "plugins": [],
4 | "targets": ["web"]
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo05/expected/demo-project/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "jsx": "react",
5 | "paths": {
6 | "@/*": ["./src/*"],
7 | "rax-app": [".rax/index.ts"]
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo05/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { runApp } from 'rax-app';
2 |
3 | import './global.css';
4 |
5 | runApp({
6 | router: {
7 | mode: 'hash',
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo05/expected/demo-project/src/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "routes": [
3 | {
4 | "path": "/",
5 | "source": "pages/Home/index"
6 | }
7 | ],
8 | "window": {
9 | "title": "Rax App Demo"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo05/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo05/expected/demo-project/src/global.css:
--------------------------------------------------------------------------------
1 | body {
2 | -webkit-font-smoothing: antialiased;
3 | }
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo05/expected/demo-project/src/pages/Home/index.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/modules/code-generator/tests/fixtures/test-cases/rax-app/demo05/expected/demo-project/src/pages/Home/index.css
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo06-jsslot/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo06-jsslot/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo06-jsslot/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 | const { getPrettierConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getPrettierConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo06-jsslot/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo06-jsslot/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | const { getStylelintConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getStylelintConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo06-jsslot/expected/demo-project/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "inlineStyle": false,
3 | "plugins": [],
4 | "targets": ["web"]
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo06-jsslot/expected/demo-project/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "jsx": "react",
5 | "paths": {
6 | "@/*": ["./src/*"],
7 | "rax-app": [".rax/index.ts"]
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo06-jsslot/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { runApp } from 'rax-app';
2 |
3 | import './global.css';
4 |
5 | runApp({
6 | router: {
7 | mode: 'hash',
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo06-jsslot/expected/demo-project/src/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "routes": [
3 | {
4 | "path": "/",
5 | "source": "pages/Home/index"
6 | }
7 | ],
8 | "window": {
9 | "title": "Rax App Demo"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo06-jsslot/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo06-jsslot/expected/demo-project/src/global.css:
--------------------------------------------------------------------------------
1 | body {
2 | -webkit-font-smoothing: antialiased;
3 | }
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo07-newline-in-props/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo07-newline-in-props/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo07-newline-in-props/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 | const { getPrettierConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getPrettierConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo07-newline-in-props/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo07-newline-in-props/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | const { getStylelintConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getStylelintConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo07-newline-in-props/expected/demo-project/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "inlineStyle": false,
3 | "plugins": [],
4 | "targets": ["web"]
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo07-newline-in-props/expected/demo-project/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "jsx": "react",
5 | "paths": {
6 | "@/*": ["./src/*"],
7 | "rax-app": [".rax/index.ts"]
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo07-newline-in-props/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { runApp } from 'rax-app';
2 |
3 | import './global.css';
4 |
5 | runApp({
6 | router: {
7 | mode: 'hash',
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo07-newline-in-props/expected/demo-project/src/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "routes": [
3 | {
4 | "path": "/",
5 | "source": "pages/Home/index"
6 | }
7 | ],
8 | "window": {
9 | "title": "Rax App Demo"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo07-newline-in-props/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo07-newline-in-props/expected/demo-project/src/global.css:
--------------------------------------------------------------------------------
1 | body {
2 | -webkit-font-smoothing: antialiased;
3 | }
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo08-jsslot-with-multiple-children/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo08-jsslot-with-multiple-children/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo08-jsslot-with-multiple-children/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 | const { getPrettierConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getPrettierConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo08-jsslot-with-multiple-children/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo08-jsslot-with-multiple-children/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | const { getStylelintConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getStylelintConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo08-jsslot-with-multiple-children/expected/demo-project/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "inlineStyle": false,
3 | "plugins": [],
4 | "targets": ["web"]
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo08-jsslot-with-multiple-children/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { runApp } from 'rax-app';
2 |
3 | import './global.css';
4 |
5 | runApp({
6 | router: {
7 | mode: 'hash',
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo08-jsslot-with-multiple-children/expected/demo-project/src/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "routes": [
3 | {
4 | "path": "/",
5 | "source": "pages/Home/index"
6 | }
7 | ],
8 | "window": {
9 | "title": "Rax App Demo"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo08-jsslot-with-multiple-children/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo08-jsslot-with-multiple-children/expected/demo-project/src/global.css:
--------------------------------------------------------------------------------
1 | body {
2 | -webkit-font-smoothing: antialiased;
3 | }
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo09-jsslot-with-conditional-children/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo09-jsslot-with-conditional-children/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo09-jsslot-with-conditional-children/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 | const { getPrettierConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getPrettierConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo09-jsslot-with-conditional-children/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo09-jsslot-with-conditional-children/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | const { getStylelintConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getStylelintConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo09-jsslot-with-conditional-children/expected/demo-project/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "inlineStyle": false,
3 | "plugins": [],
4 | "targets": ["web"]
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo09-jsslot-with-conditional-children/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { runApp } from 'rax-app';
2 |
3 | import './global.css';
4 |
5 | runApp({
6 | router: {
7 | mode: 'hash',
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo09-jsslot-with-conditional-children/expected/demo-project/src/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "routes": [
3 | {
4 | "path": "/",
5 | "source": "pages/Home/index"
6 | }
7 | ],
8 | "window": {
9 | "title": "Rax App Demo"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo09-jsslot-with-conditional-children/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo09-jsslot-with-conditional-children/expected/demo-project/src/global.css:
--------------------------------------------------------------------------------
1 | body {
2 | -webkit-font-smoothing: antialiased;
3 | }
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo10-jsslot-with-loop-children/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo10-jsslot-with-loop-children/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo10-jsslot-with-loop-children/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 | const { getPrettierConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getPrettierConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo10-jsslot-with-loop-children/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo10-jsslot-with-loop-children/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | const { getStylelintConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getStylelintConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo10-jsslot-with-loop-children/expected/demo-project/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "inlineStyle": false,
3 | "plugins": [],
4 | "targets": ["web"]
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo10-jsslot-with-loop-children/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { runApp } from 'rax-app';
2 |
3 | import './global.css';
4 |
5 | runApp({
6 | router: {
7 | mode: 'hash',
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo10-jsslot-with-loop-children/expected/demo-project/src/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "routes": [
3 | {
4 | "path": "/",
5 | "source": "pages/Home/index"
6 | }
7 | ],
8 | "window": {
9 | "title": "Rax App Demo"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo10-jsslot-with-loop-children/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo10-jsslot-with-loop-children/expected/demo-project/src/global.css:
--------------------------------------------------------------------------------
1 | body {
2 | -webkit-font-smoothing: antialiased;
3 | }
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo11-utils-name-alias/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo11-utils-name-alias/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo11-utils-name-alias/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 | const { getPrettierConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getPrettierConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo11-utils-name-alias/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo11-utils-name-alias/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | const { getStylelintConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getStylelintConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo11-utils-name-alias/expected/demo-project/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "inlineStyle": false,
3 | "plugins": [],
4 | "targets": ["web"],
5 | "miniapp": {
6 | "buildType": "runtime"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo11-utils-name-alias/expected/demo-project/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "jsx": "react",
5 | "paths": {
6 | "@/*": ["./src/*"],
7 | "rax-app": [".rax/index.ts"]
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo11-utils-name-alias/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { runApp } from 'rax-app';
2 |
3 | import './global.css';
4 |
5 | runApp({
6 | router: {
7 | mode: 'hash',
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo11-utils-name-alias/expected/demo-project/src/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "routes": [
3 | {
4 | "path": "/aaaa",
5 | "source": "pages/Aaaa/index"
6 | }
7 | ],
8 | "window": {
9 | "title": "jinyuan-test2"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo11-utils-name-alias/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo11-utils-name-alias/expected/demo-project/src/global.css:
--------------------------------------------------------------------------------
1 | body {
2 | -webkit-font-smoothing: antialiased;
3 | }
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo12-refs/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo12-refs/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo12-refs/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 | const { getPrettierConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getPrettierConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo12-refs/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo12-refs/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | const { getStylelintConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getStylelintConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo12-refs/expected/demo-project/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "inlineStyle": false,
3 | "plugins": [],
4 | "targets": ["web"]
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo12-refs/expected/demo-project/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "jsx": "react",
5 | "paths": {
6 | "@/*": ["./src/*"],
7 | "rax-app": [".rax/index.ts"]
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo12-refs/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { runApp } from 'rax-app';
2 |
3 | import './global.css';
4 |
5 | runApp({
6 | router: {
7 | mode: 'hash',
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo12-refs/expected/demo-project/src/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "routes": [
3 | {
4 | "path": "/",
5 | "source": "pages/Home/index"
6 | }
7 | ],
8 | "window": {
9 | "title": "Rax App Demo"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo12-refs/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo12-refs/expected/demo-project/src/global.css:
--------------------------------------------------------------------------------
1 | body {
2 | -webkit-font-smoothing: antialiased;
3 | }
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo13-datasource-prop/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo13-datasource-prop/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo13-datasource-prop/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 | const { getPrettierConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getPrettierConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo13-datasource-prop/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/
3 | dist/
4 | build/
5 | coverage/
6 | demo/
7 | es/
8 | .rax/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo13-datasource-prop/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | const { getStylelintConfig } = require('@iceworks/spec');
2 |
3 | module.exports = getStylelintConfig('rax');
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo13-datasource-prop/expected/demo-project/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "inlineStyle": false,
3 | "plugins": [],
4 | "targets": ["web"]
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo13-datasource-prop/expected/demo-project/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "jsx": "react",
5 | "paths": {
6 | "@/*": ["./src/*"],
7 | "rax-app": [".rax/index.ts"]
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo13-datasource-prop/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { runApp } from 'rax-app';
2 |
3 | import './global.css';
4 |
5 | runApp({
6 | router: {
7 | mode: 'hash',
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo13-datasource-prop/expected/demo-project/src/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "routes": [
3 | {
4 | "path": "",
5 | "source": "pages/Example/index"
6 | }
7 | ],
8 | "window": {
9 | "title": "example"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo13-datasource-prop/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/rax-app/demo13-datasource-prop/expected/demo-project/src/global.css:
--------------------------------------------------------------------------------
1 | body {
2 | -webkit-font-smoothing: antialiased;
3 | }
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo1/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 | .ice/
7 |
8 | # node 覆盖率文件
9 | coverage/
10 |
11 | # 忽略文件
12 | **/*-min.js
13 | **/*.min.js
14 |
15 | package-lock.json
16 | yarn.lock
17 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo1/expected/demo-project/.eslintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { eslint } = require('@ice/spec');
3 |
4 | module.exports = eslint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo1/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 |
2 | build/
3 | tests/
4 | demo/
5 | .ice/
6 | coverage/
7 | **/*-min.js
8 | **/*.min.js
9 | package-lock.json
10 | yarn.lock
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo1/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { prettier } = require('@ice/spec');
3 |
4 | module.exports = prettier;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo1/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 |
7 | # node 覆盖率文件
8 | coverage/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo1/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { stylelint } = require('@ice/spec');
3 |
4 | module.exports = stylelint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo1/expected/demo-project/abc.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "type": "ice-app",
4 | "builder": "@ali/builder-ice-app"
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo1/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'ice';
2 |
3 | const appConfig = {
4 | app: {
5 | rootId: 'app',
6 | },
7 | router: {
8 | type: 'hash',
9 | },
10 | };
11 | createApp(appConfig);
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo1/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = { ENV: 'prod', DOMAIN: 'xxx.xxx.com' };
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo1/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
8 | body {
9 | font-size: 12px;
10 | }
11 | .table {
12 | width: 100px;
13 | }
14 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo1/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/modules/code-generator/tests/fixtures/test-cases/react-app/demo1/expected/demo-project/src/pages/Test/index.css
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2-utils-name-alias/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 | .ice/
7 |
8 | # node 覆盖率文件
9 | coverage/
10 |
11 | # 忽略文件
12 | **/*-min.js
13 | **/*.min.js
14 |
15 | package-lock.json
16 | yarn.lock
17 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2-utils-name-alias/expected/demo-project/.eslintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { eslint } = require('@ice/spec');
3 |
4 | module.exports = eslint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2-utils-name-alias/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 |
2 | build/
3 | tests/
4 | demo/
5 | .ice/
6 | coverage/
7 | **/*-min.js
8 | **/*.min.js
9 | package-lock.json
10 | yarn.lock
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2-utils-name-alias/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { prettier } = require('@ice/spec');
3 |
4 | module.exports = prettier;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2-utils-name-alias/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 |
7 | # node 覆盖率文件
8 | coverage/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2-utils-name-alias/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { stylelint } = require('@ice/spec');
3 |
4 | module.exports = stylelint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2-utils-name-alias/expected/demo-project/abc.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "type": "ice-app",
4 | "builder": "@ali/builder-ice-app"
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2-utils-name-alias/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'ice';
2 |
3 | const appConfig = {
4 | app: {
5 | rootId: 'app',
6 | },
7 | router: {
8 | type: 'hash',
9 | },
10 | };
11 | createApp(appConfig);
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2-utils-name-alias/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2-utils-name-alias/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 | .ice/
7 |
8 | # node 覆盖率文件
9 | coverage/
10 |
11 | # 忽略文件
12 | **/*-min.js
13 | **/*.min.js
14 |
15 | package-lock.json
16 | yarn.lock
17 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2/expected/demo-project/.eslintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { eslint } = require('@ice/spec');
3 |
4 | module.exports = eslint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 |
2 | build/
3 | tests/
4 | demo/
5 | .ice/
6 | coverage/
7 | **/*-min.js
8 | **/*.min.js
9 | package-lock.json
10 | yarn.lock
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { prettier } = require('@ice/spec');
3 |
4 | module.exports = prettier;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 |
7 | # node 覆盖率文件
8 | coverage/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { stylelint } = require('@ice/spec');
3 |
4 | module.exports = stylelint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2/expected/demo-project/abc.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "type": "ice-app",
4 | "builder": "@ali/builder-ice-app"
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'ice';
2 |
3 | const appConfig = {
4 | app: {
5 | rootId: 'app',
6 | },
7 | router: {
8 | type: 'hash',
9 | },
10 | };
11 | createApp(appConfig);
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = { ENV: 'prod', DOMAIN: 'xxx.xxx.com' };
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
8 | body {
9 | font-size: 12px;
10 | }
11 | .table {
12 | width: 100px;
13 | }
14 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo2/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/modules/code-generator/tests/fixtures/test-cases/react-app/demo2/expected/demo-project/src/pages/Test/index.css
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo3/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 | .ice/
7 |
8 | # node 覆盖率文件
9 | coverage/
10 |
11 | # 忽略文件
12 | **/*-min.js
13 | **/*.min.js
14 |
15 | package-lock.json
16 | yarn.lock
17 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo3/expected/demo-project/.eslintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { eslint } = require('@ice/spec');
3 |
4 | module.exports = eslint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo3/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 |
2 | build/
3 | tests/
4 | demo/
5 | .ice/
6 | coverage/
7 | **/*-min.js
8 | **/*.min.js
9 | package-lock.json
10 | yarn.lock
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo3/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { prettier } = require('@ice/spec');
3 |
4 | module.exports = prettier;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo3/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 |
7 | # node 覆盖率文件
8 | coverage/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo3/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { stylelint } = require('@ice/spec');
3 |
4 | module.exports = stylelint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo3/expected/demo-project/abc.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "type": "ice-app",
4 | "builder": "@ali/builder-ice-app"
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo3/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'ice';
2 |
3 | const appConfig = {
4 | app: {
5 | rootId: 'app',
6 | },
7 | router: {
8 | type: 'hash',
9 | },
10 | };
11 | createApp(appConfig);
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo3/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = { ENV: 'prod', DOMAIN: 'xxx.xxx.com' };
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo3/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
8 | body {
9 | font-size: 12px;
10 | }
11 | .table {
12 | width: 100px;
13 | }
14 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo3/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/modules/code-generator/tests/fixtures/test-cases/react-app/demo3/expected/demo-project/src/pages/Test/index.css
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo4/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 | .ice/
7 |
8 | # node 覆盖率文件
9 | coverage/
10 |
11 | # 忽略文件
12 | **/*-min.js
13 | **/*.min.js
14 |
15 | package-lock.json
16 | yarn.lock
17 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo4/expected/demo-project/.eslintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { eslint } = require('@ice/spec');
3 |
4 | module.exports = eslint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo4/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 |
2 | build/
3 | tests/
4 | demo/
5 | .ice/
6 | coverage/
7 | **/*-min.js
8 | **/*.min.js
9 | package-lock.json
10 | yarn.lock
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo4/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { prettier } = require('@ice/spec');
3 |
4 | module.exports = prettier;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo4/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 |
7 | # node 覆盖率文件
8 | coverage/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo4/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { stylelint } = require('@ice/spec');
3 |
4 | module.exports = stylelint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo4/expected/demo-project/abc.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "type": "ice-app",
4 | "builder": "@ali/builder-ice-app"
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo4/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'ice';
2 |
3 | const appConfig = {
4 | app: {
5 | rootId: 'app',
6 | },
7 | router: {
8 | type: 'hash',
9 | },
10 | };
11 | createApp(appConfig);
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo4/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo4/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo4/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-size: 12px;
3 | }
4 |
5 | .botton {
6 | width: 100px;
7 | color: #ff00ff;
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo5/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 | .ice/
7 |
8 | # node 覆盖率文件
9 | coverage/
10 |
11 | # 忽略文件
12 | **/*-min.js
13 | **/*.min.js
14 |
15 | package-lock.json
16 | yarn.lock
17 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo5/expected/demo-project/.eslintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { eslint } = require('@ice/spec');
3 |
4 | module.exports = eslint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo5/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 |
2 | build/
3 | tests/
4 | demo/
5 | .ice/
6 | coverage/
7 | **/*-min.js
8 | **/*.min.js
9 | package-lock.json
10 | yarn.lock
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo5/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { prettier } = require('@ice/spec');
3 |
4 | module.exports = prettier;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo5/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 |
7 | # node 覆盖率文件
8 | coverage/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo5/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { stylelint } = require('@ice/spec');
3 |
4 | module.exports = stylelint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo5/expected/demo-project/abc.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "type": "ice-app",
4 | "builder": "@ali/builder-ice-app"
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo5/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'ice';
2 |
3 | const appConfig = {
4 | app: {
5 | rootId: 'app',
6 | },
7 | router: {
8 | type: 'hash',
9 | },
10 | };
11 | createApp(appConfig);
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo5/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo5/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo5/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-size: 12px;
3 | }
4 |
5 | .botton {
6 | width: 100px;
7 | color: #ff00ff;
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo6-literal-condition/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 | .ice/
7 |
8 | # node 覆盖率文件
9 | coverage/
10 |
11 | # 忽略文件
12 | **/*-min.js
13 | **/*.min.js
14 |
15 | package-lock.json
16 | yarn.lock
17 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo6-literal-condition/expected/demo-project/.eslintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { eslint } = require('@ice/spec');
3 |
4 | module.exports = eslint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo6-literal-condition/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 |
2 | build/
3 | tests/
4 | demo/
5 | .ice/
6 | coverage/
7 | **/*-min.js
8 | **/*.min.js
9 | package-lock.json
10 | yarn.lock
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo6-literal-condition/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { prettier } = require('@ice/spec');
3 |
4 | module.exports = prettier;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo6-literal-condition/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 |
7 | # node 覆盖率文件
8 | coverage/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo6-literal-condition/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { stylelint } = require('@ice/spec');
3 |
4 | module.exports = stylelint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo6-literal-condition/expected/demo-project/abc.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "type": "ice-app",
4 | "builder": "@ali/builder-ice-app"
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo6-literal-condition/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'ice';
2 |
3 | const appConfig = {
4 | app: {
5 | rootId: 'app',
6 | },
7 | router: {
8 | type: 'hash',
9 | },
10 | };
11 | createApp(appConfig);
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo6-literal-condition/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = { ENV: 'prod', DOMAIN: 'xxx.xxx.com' };
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo7-literal-condition2/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 | .ice/
7 |
8 | # node 覆盖率文件
9 | coverage/
10 |
11 | # 忽略文件
12 | **/*-min.js
13 | **/*.min.js
14 |
15 | package-lock.json
16 | yarn.lock
17 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo7-literal-condition2/expected/demo-project/.eslintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { eslint } = require('@ice/spec');
3 |
4 | module.exports = eslint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo7-literal-condition2/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 |
2 | build/
3 | tests/
4 | demo/
5 | .ice/
6 | coverage/
7 | **/*-min.js
8 | **/*.min.js
9 | package-lock.json
10 | yarn.lock
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo7-literal-condition2/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { prettier } = require('@ice/spec');
3 |
4 | module.exports = prettier;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo7-literal-condition2/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 |
7 | # node 覆盖率文件
8 | coverage/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo7-literal-condition2/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { stylelint } = require('@ice/spec');
3 |
4 | module.exports = stylelint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo7-literal-condition2/expected/demo-project/abc.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "type": "ice-app",
4 | "builder": "@ali/builder-ice-app"
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo7-literal-condition2/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'ice';
2 |
3 | const appConfig = {
4 | app: {
5 | rootId: 'app',
6 | },
7 | router: {
8 | type: 'hash',
9 | },
10 | };
11 | createApp(appConfig);
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo7-literal-condition2/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo7-literal-condition2/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo7-literal-condition2/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-size: 12px;
3 | }
4 |
5 | .botton {
6 | width: 100px;
7 | color: #ff00ff;
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo8-datasource-prop/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 | .ice/
7 |
8 | # node 覆盖率文件
9 | coverage/
10 |
11 | # 忽略文件
12 | **/*-min.js
13 | **/*.min.js
14 |
15 | package-lock.json
16 | yarn.lock
17 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo8-datasource-prop/expected/demo-project/.eslintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { eslint } = require('@ice/spec');
3 |
4 | module.exports = eslint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo8-datasource-prop/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 |
2 | build/
3 | tests/
4 | demo/
5 | .ice/
6 | coverage/
7 | **/*-min.js
8 | **/*.min.js
9 | package-lock.json
10 | yarn.lock
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo8-datasource-prop/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { prettier } = require('@ice/spec');
3 |
4 | module.exports = prettier;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo8-datasource-prop/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 |
7 | # node 覆盖率文件
8 | coverage/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo8-datasource-prop/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { stylelint } = require('@ice/spec');
3 |
4 | module.exports = stylelint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo8-datasource-prop/expected/demo-project/abc.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "type": "ice-app",
4 | "builder": "@ali/builder-ice-app"
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo8-datasource-prop/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'ice';
2 |
3 | const appConfig = {
4 | app: {
5 | rootId: 'app',
6 | },
7 | router: {
8 | type: 'hash',
9 | },
10 | };
11 | createApp(appConfig);
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo8-datasource-prop/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo8-datasource-prop/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo9-datasource-engine/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 | .ice/
7 |
8 | # node 覆盖率文件
9 | coverage/
10 |
11 | # 忽略文件
12 | **/*-min.js
13 | **/*.min.js
14 |
15 | package-lock.json
16 | yarn.lock
17 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo9-datasource-engine/expected/demo-project/.eslintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { eslint } = require('@ice/spec');
3 |
4 | module.exports = eslint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo9-datasource-engine/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 |
2 | build/
3 | tests/
4 | demo/
5 | .ice/
6 | coverage/
7 | **/*-min.js
8 | **/*.min.js
9 | package-lock.json
10 | yarn.lock
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo9-datasource-engine/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { prettier } = require('@ice/spec');
3 |
4 | module.exports = prettier;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo9-datasource-engine/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 |
7 | # node 覆盖率文件
8 | coverage/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo9-datasource-engine/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { stylelint } = require('@ice/spec');
3 |
4 | module.exports = stylelint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo9-datasource-engine/expected/demo-project/abc.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "type": "ice-app",
4 | "builder": "@ali/builder-ice-app"
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo9-datasource-engine/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'ice';
2 |
3 | const appConfig = {
4 | app: {
5 | rootId: 'app',
6 | },
7 | router: {
8 | type: 'hash',
9 | },
10 | };
11 | createApp(appConfig);
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo9-datasource-engine/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo9-datasource-engine/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_10-jsslot/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 | .ice/
7 |
8 | # node 覆盖率文件
9 | coverage/
10 |
11 | # 忽略文件
12 | **/*-min.js
13 | **/*.min.js
14 |
15 | package-lock.json
16 | yarn.lock
17 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_10-jsslot/expected/demo-project/.eslintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { eslint } = require('@ice/spec');
3 |
4 | module.exports = eslint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_10-jsslot/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 |
2 | build/
3 | tests/
4 | demo/
5 | .ice/
6 | coverage/
7 | **/*-min.js
8 | **/*.min.js
9 | package-lock.json
10 | yarn.lock
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_10-jsslot/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { prettier } = require('@ice/spec');
3 |
4 | module.exports = prettier;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_10-jsslot/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 |
7 | # node 覆盖率文件
8 | coverage/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_10-jsslot/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { stylelint } = require('@ice/spec');
3 |
4 | module.exports = stylelint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_10-jsslot/expected/demo-project/abc.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "type": "ice-app",
4 | "builder": "@ali/builder-ice-app"
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_10-jsslot/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'ice';
2 |
3 | const appConfig = {
4 | app: {
5 | rootId: 'app',
6 | },
7 | router: {
8 | type: 'hash',
9 | },
10 | };
11 | createApp(appConfig);
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_10-jsslot/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_10-jsslot/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_10-jsslot/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-size: 12px;
3 | }
4 |
5 | .botton {
6 | width: 100px;
7 | color: #ff00ff;
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_11-jsslot-2/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 | .ice/
7 |
8 | # node 覆盖率文件
9 | coverage/
10 |
11 | # 忽略文件
12 | **/*-min.js
13 | **/*.min.js
14 |
15 | package-lock.json
16 | yarn.lock
17 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_11-jsslot-2/expected/demo-project/.eslintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { eslint } = require('@ice/spec');
3 |
4 | module.exports = eslint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_11-jsslot-2/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 |
2 | build/
3 | tests/
4 | demo/
5 | .ice/
6 | coverage/
7 | **/*-min.js
8 | **/*.min.js
9 | package-lock.json
10 | yarn.lock
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_11-jsslot-2/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { prettier } = require('@ice/spec');
3 |
4 | module.exports = prettier;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_11-jsslot-2/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 |
7 | # node 覆盖率文件
8 | coverage/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_11-jsslot-2/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { stylelint } = require('@ice/spec');
3 |
4 | module.exports = stylelint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_11-jsslot-2/expected/demo-project/abc.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "type": "ice-app",
4 | "builder": "@ali/builder-ice-app"
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_11-jsslot-2/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'ice';
2 |
3 | const appConfig = {
4 | app: {
5 | rootId: 'app',
6 | },
7 | router: {
8 | type: 'hash',
9 | },
10 | };
11 | createApp(appConfig);
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_11-jsslot-2/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = {};
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_11-jsslot-2/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import '@alifd/next/reset.scss';
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-app/demo_11-jsslot-2/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-size: 12px;
3 | }
4 |
5 | .botton {
6 | width: 100px;
7 | color: #ff00ff;
8 | }
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-module/demo1/expected/demo-project/.eslintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 | .ice/
7 |
8 | # node 覆盖率文件
9 | coverage/
10 |
11 | # 忽略文件
12 | **/*-min.js
13 | **/*.min.js
14 |
15 | package-lock.json
16 | yarn.lock
17 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-module/demo1/expected/demo-project/.eslintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { eslint } = require('@ice/spec');
3 |
4 | module.exports = eslint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-module/demo1/expected/demo-project/.prettierignore:
--------------------------------------------------------------------------------
1 |
2 | build/
3 | tests/
4 | demo/
5 | .ice/
6 | coverage/
7 | **/*-min.js
8 | **/*.min.js
9 | package-lock.json
10 | yarn.lock
11 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-module/demo1/expected/demo-project/.prettierrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { prettier } = require('@ice/spec');
3 |
4 | module.exports = prettier;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-module/demo1/expected/demo-project/.stylelintignore:
--------------------------------------------------------------------------------
1 |
2 | # 忽略目录
3 | build/
4 | tests/
5 | demo/
6 |
7 | # node 覆盖率文件
8 | coverage/
9 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-module/demo1/expected/demo-project/.stylelintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const { stylelint } = require('@ice/spec');
3 |
4 | module.exports = stylelint;
5 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-module/demo1/expected/demo-project/abc.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "type": "ice-app",
4 | "builder": "@ali/builder-ice-app"
5 | }
6 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-module/demo1/expected/demo-project/src/app.js:
--------------------------------------------------------------------------------
1 | import { createApp } from "ice";
2 |
3 | const appConfig = {
4 | app: {
5 | rootId: "app",
6 | },
7 | router: {
8 | type: "hash",
9 | },
10 | };
11 | createApp(appConfig);
12 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-module/demo1/expected/demo-project/src/constants.js:
--------------------------------------------------------------------------------
1 | const __$$constants = { ENV: "prod", DOMAIN: "xxx.xxx.com" };
2 |
3 | export default __$$constants;
4 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-module/demo1/expected/demo-project/src/global.scss:
--------------------------------------------------------------------------------
1 | // 引入默认全局样式
2 | @import "@alifd/next/reset.scss";
3 |
4 | body {
5 | -webkit-font-smoothing: antialiased;
6 | }
7 |
8 | body {
9 | font-size: 12px;
10 | }
11 | .table {
12 | width: 100px;
13 | }
14 |
--------------------------------------------------------------------------------
/modules/code-generator/tests/fixtures/test-cases/react-module/demo1/expected/demo-project/src/pages/Test/index.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/modules/code-generator/tests/fixtures/test-cases/react-module/demo1/expected/demo-project/src/pages/Test/index.css
--------------------------------------------------------------------------------
/modules/code-generator/tests/public/README.md:
--------------------------------------------------------------------------------
1 | # 这里测试的都是对外公开的 API,必须要保持稳定性
2 |
--------------------------------------------------------------------------------
/modules/code-generator/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "lib"
5 | },
6 | "include": ["src/**/*.ts"],
7 | "exclude": ["./tests", "tests/fixtures/test-cases", "../types", "node_modules"]
8 | }
9 |
--------------------------------------------------------------------------------
/modules/material-parser/build.test.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/lowcode-test-mate/plugin/index.ts"
4 | ]
5 | }
--------------------------------------------------------------------------------
/modules/material-parser/src/parse/js/handlers/preProcessHandler.ts:
--------------------------------------------------------------------------------
1 | export default function preProcessHandler(documentation: any, path: any) {
2 | documentation.set('meta', path.__meta);
3 | }
4 |
--------------------------------------------------------------------------------
/modules/material-parser/src/parse/js/resolver/checkIsIIFE.ts:
--------------------------------------------------------------------------------
1 | export default function checkIsIIFE(path: any) {
2 | return (
3 | path.value &&
4 | path.value.callee &&
5 | path.value.callee.type === 'FunctionExpression' &&
6 | path.node.type === 'CallExpression'
7 | );
8 | }
9 |
--------------------------------------------------------------------------------
/modules/material-parser/src/parse/js/utils/getRoot.ts:
--------------------------------------------------------------------------------
1 | export default function getRoot(path: any) {
2 | let root = path.parent;
3 | while (root.parent) {
4 | root = root.parent;
5 | }
6 | return root;
7 | }
8 |
--------------------------------------------------------------------------------
/modules/material-parser/src/parse/ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "jsx": "react",
4 | "target": "es6",
5 | "module": "commonjs",
6 | "allowSyntheticDefaultImports": true,
7 | "allowJs": true
8 | },
9 | "include": ["**/*"],
10 | "exclude": [""]
11 | }
12 |
--------------------------------------------------------------------------------
/modules/material-parser/src/types/Basic.ts:
--------------------------------------------------------------------------------
1 | export interface Json {
2 | [x: string]: string | number | boolean | Date | Json | JsonArray;
3 | }
4 | export type JsonArray = Array;
5 | export type Expand = T extends infer O ? { [K in keyof O]: O[K] } : never;
6 |
--------------------------------------------------------------------------------
/modules/material-parser/src/types/ChannelType.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 物料接入渠道
3 | */
4 | export enum ChannelType {
5 | /** 本地 */
6 | LOCAL = 'local',
7 | /** 在线 */
8 | ONLINE = 'online',
9 | }
10 |
--------------------------------------------------------------------------------
/modules/material-parser/src/types/DSLType.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * DSL类型
3 | */
4 | export type DSLType = 'react' | 'rax';
5 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/dts-component/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "dts-component",
3 | "version": "1.2.3",
4 | "main": "./src/index.jsx"
5 | }
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeBlank/container.js:
--------------------------------------------------------------------------------
1 |
2 | import AIMakeBlank from './index.js';
3 | import manifest from './manifest.js';
4 |
5 | export default { origin: AIMakeBlank, manifest };
6 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeIcon/container.js:
--------------------------------------------------------------------------------
1 |
2 | import AIMakeIcon from './index.js';
3 | import manifest from './manifest.js';
4 |
5 | export default { origin: AIMakeIcon, manifest };
6 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeImage/container.js:
--------------------------------------------------------------------------------
1 |
2 | import AIMakeImage from './index.js';
3 | import manifest from './manifest.js';
4 |
5 | export default { origin: AIMakeImage, manifest };
6 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeLink/container.js:
--------------------------------------------------------------------------------
1 |
2 | import AIMakeLink from './index.js';
3 | import manifest from './manifest.js';
4 |
5 | export default { origin: AIMakeLink, manifest };
6 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakePlaceholder/container.js:
--------------------------------------------------------------------------------
1 |
2 | import AIMakePlaceholder from './index.js';
3 | import manifest from './manifest.js';
4 |
5 | export default { origin: AIMakePlaceholder, manifest };
6 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/es/basic/AIMakeText/container.js:
--------------------------------------------------------------------------------
1 |
2 | import AIMakeText from './index.js';
3 | import manifest from './manifest.js';
4 |
5 | export default { origin: AIMakeText, manifest };
6 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/es/basic/Root/container.js:
--------------------------------------------------------------------------------
1 |
2 | import Root from './index.js';
3 | import manifest from './manifest.js';
4 |
5 | export default { origin: Root, manifest };
6 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/es/basic/style/index.js:
--------------------------------------------------------------------------------
1 | import "./index.css";
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/amContainer.js:
--------------------------------------------------------------------------------
1 | import component from './index.js';
2 | import amManifest from './amManifest.js';
3 |
4 | const getComponent = () => Promise.resolve(component);
5 |
6 | export default { getComponent, manifest: amManifest };
7 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeBlank/container.js:
--------------------------------------------------------------------------------
1 |
2 | import AIMakeBlank from '../../../es/basic/AIMakeBlank/index.js';
3 | import manifest from './manifest.js';
4 |
5 | export default { origin: AIMakeBlank, manifest };
6 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeIcon/container.js:
--------------------------------------------------------------------------------
1 |
2 | import AIMakeIcon from '../../../es/basic/AIMakeIcon/index.js';
3 | import manifest from './manifest.js';
4 |
5 | export default { origin: AIMakeIcon, manifest };
6 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/amContainer.js:
--------------------------------------------------------------------------------
1 | import component from './index.js';
2 | import amManifest from './amManifest.js';
3 |
4 | const getComponent = () => Promise.resolve(component);
5 |
6 | export default { getComponent, manifest: amManifest };
7 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeImage/container.js:
--------------------------------------------------------------------------------
1 |
2 | import AIMakeImage from '../../../es/basic/AIMakeImage/index.js';
3 | import manifest from './manifest.js';
4 |
5 | export default { origin: AIMakeImage, manifest };
6 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/amContainer.js:
--------------------------------------------------------------------------------
1 | import component from './index.js';
2 | import amManifest from './amManifest.js';
3 |
4 | const getComponent = () => Promise.resolve(component);
5 |
6 | export default { getComponent, manifest: amManifest };
7 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeLink/container.js:
--------------------------------------------------------------------------------
1 |
2 | import AIMakeLink from '../../../es/basic/AIMakeLink/index.js';
3 | import manifest from './manifest.js';
4 |
5 | export default { origin: AIMakeLink, manifest };
6 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/amContainer.js:
--------------------------------------------------------------------------------
1 | import component from './index.js';
2 | import amManifest from './amManifest.js';
3 |
4 | const getComponent = () => Promise.resolve(component);
5 |
6 | export default { getComponent, manifest: amManifest };
7 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakePlaceholder/container.js:
--------------------------------------------------------------------------------
1 |
2 | import AIMakePlaceholder from '../../../es/basic/AIMakePlaceholder/index.js';
3 | import manifest from './manifest.js';
4 |
5 | export default { origin: AIMakePlaceholder, manifest };
6 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/amContainer.js:
--------------------------------------------------------------------------------
1 | import component from './index.js';
2 | import amManifest from './amManifest.js';
3 |
4 | const getComponent = () => Promise.resolve(component);
5 |
6 | export default { getComponent, manifest: amManifest };
7 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/src/basic/AIMakeText/container.js:
--------------------------------------------------------------------------------
1 |
2 | import AIMakeText from '../../../es/basic/AIMakeText/index.js';
3 | import manifest from './manifest.js';
4 |
5 | export default { origin: AIMakeText, manifest };
6 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/amContainer.js:
--------------------------------------------------------------------------------
1 | import component from './index.js';
2 | import amManifest from './amManifest.js';
3 |
4 | const getComponent = () => Promise.resolve(component);
5 |
6 | export default { getComponent, manifest: amManifest };
7 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/src/basic/Root/container.js:
--------------------------------------------------------------------------------
1 |
2 | import Root from '../../../es/basic/Root/index.js';
3 | import manifest from './manifest.js';
4 |
5 | export default { origin: Root, manifest };
6 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/multiple-exported-component/src/basic/style/index.js:
--------------------------------------------------------------------------------
1 | import './index.less';
2 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/rax-component/src/index.css:
--------------------------------------------------------------------------------
1 | .rax-demo-title {
2 | font-size: 45rpx;
3 | font-weight: bold;
4 | margin: 20rpx 0;
5 | }
6 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/single-exported-component/es/container.js:
--------------------------------------------------------------------------------
1 |
2 | import Demo from './index.js';
3 | import manifest from './manifest.js';
4 |
5 | export default { origin: Demo, manifest };
6 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/transpiled-component/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "transpiled-component",
3 | "version": "1.0.0",
4 | "main": "lib/index.js",
5 | "dependencies": {
6 | "react": "^16.0.0"
7 | }
8 | }
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/ts-component/src/index.tsx:
--------------------------------------------------------------------------------
1 | import App from './main-module';
2 | import SubModule from './sub-module';
3 |
4 | App.SubModule = SubModule;
5 | App.defaultProps = {
6 | str: 'str2',
7 | };
8 |
9 | export default App;
10 |
--------------------------------------------------------------------------------
/modules/material-parser/test/fixtures/without-display-name/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "without-display-name",
3 | "version": "1.0.0",
4 | "main": "index.js",
5 | "dependencies": {
6 | "react": "^16.0.0",
7 | "prop-types": "latest"
8 | }
9 | }
--------------------------------------------------------------------------------
/modules/material-parser/test/helpers/index.ts:
--------------------------------------------------------------------------------
1 | import { join } from 'path';
2 |
3 | const baseDir = join(__dirname, '../fixtures');
4 |
5 | /**
6 | * 从 fixtures 下获取文件完整路径
7 | */
8 | export const getFromFixtures = (...args: string[]) => {
9 | return join(baseDir, ...args);
10 | };
11 |
--------------------------------------------------------------------------------
/modules/material-parser/test/localize.test.ts:
--------------------------------------------------------------------------------
1 | import {getPkgNameAndVersion} from '../src/localize';
2 |
3 | test('getPkgNameAndVersion from string', () => {
4 | const result = getPkgNameAndVersion('react');
5 | expect(result).toEqual({"name": "react"});
6 | });
--------------------------------------------------------------------------------
/packages/designer/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/packages/designer/README.md
--------------------------------------------------------------------------------
/packages/designer/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = require('../../babel.config');
--------------------------------------------------------------------------------
/packages/designer/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/designer/build.test.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce",
4 | "@alilc/lowcode-test-mate/plugin/index.ts"
5 | ],
6 | "babelPlugins": [
7 | ["@babel/plugin-proposal-private-property-in-object", { "loose": true }]
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/designer/src/builtin-simulator/README.md:
--------------------------------------------------------------------------------
1 | 内置模拟器主进程
2 |
--------------------------------------------------------------------------------
/packages/designer/src/builtin-simulator/bem-tools/bem-tools.less:
--------------------------------------------------------------------------------
1 | .lc-bem-tools {
2 | pointer-events: none;
3 | position: absolute;
4 | top: 0;
5 | left: 0;
6 | bottom: 0;
7 | right: 0;
8 | overflow: visible;
9 | z-index: 1;
10 | }
11 |
--------------------------------------------------------------------------------
/packages/designer/src/builtin-simulator/context.ts:
--------------------------------------------------------------------------------
1 | import { createContext } from 'react';
2 | import { BuiltinSimulatorHost } from './host';
3 |
4 | export const SimulatorContext = createContext({} as any);
5 |
--------------------------------------------------------------------------------
/packages/designer/src/builtin-simulator/index.ts:
--------------------------------------------------------------------------------
1 | export * from './host';
2 | export * from './host-view';
3 | export * from './renderer';
4 | export * from './live-editing/live-editing';
5 | export { LowcodeTypes } from './utils/parse-metadata';
6 |
--------------------------------------------------------------------------------
/packages/designer/src/designer/designer.less:
--------------------------------------------------------------------------------
1 | .lc-designer {
2 | position: relative;
3 | font-family: var(--font-family);
4 | font-size: var(--font-size-text);
5 | box-sizing: border-box;
6 |
7 | * {
8 | box-sizing: border-box;
9 | }
10 | }
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/packages/designer/src/designer/drag-ghost/README.md:
--------------------------------------------------------------------------------
1 | 内置拖拽替身
2 |
--------------------------------------------------------------------------------
/packages/designer/src/designer/setting/index.ts:
--------------------------------------------------------------------------------
1 | export * from './setting-field';
2 | export * from './setting-top-entry';
3 | export * from './setting-entry-type';
4 | export * from './setting-prop-entry';
5 |
--------------------------------------------------------------------------------
/packages/designer/src/document/index.ts:
--------------------------------------------------------------------------------
1 | export * from './document-model';
2 | export * from './node';
3 | export * from './selection';
4 | export * from './history';
5 |
--------------------------------------------------------------------------------
/packages/designer/src/document/node/index.ts:
--------------------------------------------------------------------------------
1 | export * from './exclusive-group';
2 | export * from './node';
3 | export * from './node-children';
4 | export * from './props/prop';
5 | export * from './props/props';
6 | export * from './transform-stage';
7 | export * from './modal-nodes-manager';
8 |
--------------------------------------------------------------------------------
/packages/designer/src/document/node/transform-stage.ts:
--------------------------------------------------------------------------------
1 | export { TransformStage } from '@alilc/lowcode-types';
2 |
--------------------------------------------------------------------------------
/packages/designer/src/icons/index.ts:
--------------------------------------------------------------------------------
1 | export * from './lock';
2 | export * from './hidden';
3 | export * from './remove';
4 | export * from './setting';
5 | export * from './component';
6 | export * from './clone';
7 | export * from './page';
8 | export * from './container';
9 | export * from './unlock';
10 |
--------------------------------------------------------------------------------
/packages/designer/src/locale/zh-CN.json:
--------------------------------------------------------------------------------
1 | {
2 | "copy": "复制",
3 | "remove": "删除",
4 | "hide": "隐藏",
5 | "lock": "锁定",
6 | "unlock": "解锁",
7 | "Condition Group": "条件组",
8 | "No opened document": "没有打开的页面,请选择页面打开编辑",
9 | "locked": "已锁定",
10 | "Item": "项目"
11 | }
12 |
--------------------------------------------------------------------------------
/packages/designer/src/plugin/index.ts:
--------------------------------------------------------------------------------
1 | export * from './plugin-context';
2 | export * from './plugin-manager';
3 | export * from './plugin-types';
4 | export * from './plugin';
5 |
--------------------------------------------------------------------------------
/packages/designer/src/project/index.ts:
--------------------------------------------------------------------------------
1 | export * from './project';
2 | export * from './project-view';
3 |
--------------------------------------------------------------------------------
/packages/designer/src/utils/index.ts:
--------------------------------------------------------------------------------
1 | export * from './invariant';
2 | export * from './slot';
3 | export * from './tree';
4 |
--------------------------------------------------------------------------------
/packages/designer/src/utils/invariant.ts:
--------------------------------------------------------------------------------
1 | export function invariant(check: any, message: string, thing?: any) {
2 | if (!check) {
3 | throw new Error(`[designer] Invariant failed: ${message}${thing ? ` in '${thing}'` : ''}`);
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/packages/designer/tests/__mocks__/document-model.ts:
--------------------------------------------------------------------------------
1 | export class DocumentModel {
2 | a = 1;
3 | c = {};
4 | constructor() {
5 | const b = { x: { y: 2 } };
6 | const c: number = 2;
7 | this.a = b?.x?.y;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/packages/designer/tests/__mocks__/node.ts:
--------------------------------------------------------------------------------
1 | export class Node2 {
2 | a = 1;
3 | c = {};
4 | constructor() {
5 | const b = { x: { y: 2 } };
6 | const c: number = 2;
7 | this.a = b?.x?.y;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/packages/designer/tests/bugs/why.md:
--------------------------------------------------------------------------------
1 | 背景:
2 | 在 UT 的基础上,希望借助一些 Bug 修复来完成场景测试,从而进一步增强稳定性。
3 | 至少在真正的 E2E 测试来临之前,我们保证不会重复犯两次相同的错误。
4 |
5 | 做法:
6 | Bugs 文件夹每个文件记录一个 bug 修复的场景测试~
--------------------------------------------------------------------------------
/packages/designer/tests/fixtures/disable-raf.ts:
--------------------------------------------------------------------------------
1 | Object.defineProperty(window, 'requestAnimationFrame', {
2 | value: null,
3 | });
4 |
--------------------------------------------------------------------------------
/packages/designer/tests/fixtures/silent-console.ts:
--------------------------------------------------------------------------------
1 | export const mockConsoleError = jest.fn();
2 | export const mockConsoleWarn = jest.fn();
3 | // const mockConsoleInfo = jest.fn();
4 | console.error = mockConsoleError;
5 | console.warn = mockConsoleWarn;
6 |
7 |
--------------------------------------------------------------------------------
/packages/designer/tests/fixtures/unhandled-rejection.ts:
--------------------------------------------------------------------------------
1 | if (!process.env.LISTENING_TO_UNHANDLED_REJECTION) {
2 | process.on('unhandledRejection', reason => {
3 | throw reason;
4 | });
5 | // Avoid memory leak by adding too many listeners
6 | process.env.LISTENING_TO_UNHANDLED_REJECTION = true;
7 | }
8 |
--------------------------------------------------------------------------------
/packages/designer/tests/main/simulator.test.ts:
--------------------------------------------------------------------------------
1 | import '../fixtures/window';
2 | import { isSimulatorHost } from '../../src/simulator';
3 |
4 | it('isSimulatorHost', () => {
5 | expect(isSimulatorHost({ isSimulator: true })).toBeTruthy();
6 | expect(isSimulatorHost({ a: 1 })).toBeFalsy();
7 | });
8 |
--------------------------------------------------------------------------------
/packages/designer/tests/utils/event.ts:
--------------------------------------------------------------------------------
1 | export function getMockEvent(target, options) {
2 | return {
3 | target,
4 | preventDefault() {},
5 | stopPropagation() {},
6 | ...options,
7 | };
8 | }
9 |
--------------------------------------------------------------------------------
/packages/designer/tests/utils/index.ts:
--------------------------------------------------------------------------------
1 | export { getIdsFromSchema, getNodeFromSchemaById } from '@alilc/lowcode-test-mate/es/utils';
2 | export * from './bom';
3 | export * from './event';
4 | export * from './renderer';
5 | export * from './misc';
6 |
--------------------------------------------------------------------------------
/packages/designer/tests/utils/renderer.ts:
--------------------------------------------------------------------------------
1 | export function getMockRenderer() {
2 | return {
3 | isSimulatorRenderer: true,
4 | run() {
5 | // console.log('renderer run');
6 | },
7 | };
8 | }
9 |
--------------------------------------------------------------------------------
/packages/designer/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "lib",
5 | "types": ["node","jest"]
6 | },
7 | "include": [
8 | "./src/",
9 | "./tests/"
10 | ],
11 | "exclude": ["**/lib", "**/es", "node_modules"]
12 | }
13 |
--------------------------------------------------------------------------------
/packages/editor-core/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce",
4 | "build-plugin-fusion",
5 | "./build.plugin.js"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/packages/editor-core/build.test.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce",
4 | "@alilc/lowcode-test-mate/plugin/index.ts"
5 | ],
6 | "babelPlugins": [
7 | ["@babel/plugin-proposal-private-property-in-object", { "loose": true }]
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/editor-core/src/di/index.ts:
--------------------------------------------------------------------------------
1 | export * from './setter';
2 | export * from './ioc-context';
3 | export * from '../widgets/tip/tip';
4 |
--------------------------------------------------------------------------------
/packages/editor-core/src/di/ioc-context.ts:
--------------------------------------------------------------------------------
1 | import { IocContext } from 'power-di';
2 |
3 | export * from 'power-di';
4 |
5 | export const globalContext = IocContext.DefaultInstance;
6 |
--------------------------------------------------------------------------------
/packages/editor-core/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './intl';
2 | export * from './editor';
3 | export * from './utils';
4 | export * from './di';
5 | export * from './hotkey';
6 | export * from './widgets';
7 | export * from './config';
8 | export * from './event-bus';
9 | export * from './command';
10 |
--------------------------------------------------------------------------------
/packages/editor-core/src/utils/get-public-path.ts:
--------------------------------------------------------------------------------
1 | const publicPath = (document.currentScript as HTMLScriptElement)?.src.replace(/^(.*\/)[^/]+$/, '$1');
2 |
3 | export function getPublicPath(): string {
4 | return publicPath || '';
5 | }
6 |
--------------------------------------------------------------------------------
/packages/editor-core/src/utils/index.ts:
--------------------------------------------------------------------------------
1 | export * from './get-public-path';
2 | export * from './obx';
3 | export * from './request';
4 | export * from './focus-tracker';
5 | export * from './control';
6 | export * from './preference';
7 |
--------------------------------------------------------------------------------
/packages/editor-core/src/utils/logger.ts:
--------------------------------------------------------------------------------
1 | import { Logger, Level } from '@alilc/lowcode-utils';
2 |
3 | export { Logger };
4 |
5 | export function getLogger(config: { level: Level; bizName: string }): Logger {
6 | return new Logger(config);
7 | }
8 |
--------------------------------------------------------------------------------
/packages/editor-core/src/widgets/index.ts:
--------------------------------------------------------------------------------
1 | // TODO move another place
2 | export * from './tip';
3 | export * from './title';
4 |
--------------------------------------------------------------------------------
/packages/editor-core/src/widgets/tip/index.ts:
--------------------------------------------------------------------------------
1 | import './style.less';
2 |
3 | export * from './tip';
4 | export * from './tip-container';
5 | export * from './help-tips';
6 |
--------------------------------------------------------------------------------
/packages/editor-core/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "lib"
5 | },
6 | "include": ["./src/"]
7 | }
8 |
--------------------------------------------------------------------------------
/packages/editor-skeleton/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce",
4 | "build-plugin-fusion",
5 | ["build-plugin-moment-locales", {
6 | "locales": ["zh-cn"]
7 | }]
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/editor-skeleton/build.test.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce",
4 | "@alilc/lowcode-test-mate/plugin/index.ts"
5 | ],
6 | "babelPlugins": [
7 | ["@babel/plugin-proposal-private-property-in-object", { "loose": true }]
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/editor-skeleton/src/components/settings/index.ts:
--------------------------------------------------------------------------------
1 | import './style.less';
2 |
3 | export * from './settings-primary-pane';
4 | export * from './settings-pane';
5 |
--------------------------------------------------------------------------------
/packages/editor-skeleton/src/components/stage-box/index.ts:
--------------------------------------------------------------------------------
1 | import StageBox from './stage-box';
2 | import './index.less';
3 |
4 | export { StageBox };
5 |
--------------------------------------------------------------------------------
/packages/editor-skeleton/src/context.ts:
--------------------------------------------------------------------------------
1 | import { createContext } from 'react';
2 | import { ISkeleton } from './skeleton';
3 |
4 | export const SkeletonContext = createContext({} as any);
5 |
--------------------------------------------------------------------------------
/packages/editor-skeleton/src/widget/dialog-dock.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/packages/editor-skeleton/src/widget/dialog-dock.ts
--------------------------------------------------------------------------------
/packages/editor-skeleton/src/widget/index.ts:
--------------------------------------------------------------------------------
1 | export * from './widget-container';
2 | export * from './panel';
3 | export * from './panel-dock';
4 | export * from './dock';
5 | export * from './widget';
6 | export * from './stage';
--------------------------------------------------------------------------------
/packages/editor-skeleton/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "lib"
5 | },
6 | "include": [
7 | "./src/"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/engine/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = require('../../babel.config');
--------------------------------------------------------------------------------
/packages/engine/src/locale/zh-CN.json:
--------------------------------------------------------------------------------
1 | {
2 | "NotValidNodeData": "不是有效的节点数据",
3 | "SelectComponents": "选择组件",
4 | "CopyAndPaste": "复制",
5 | "Copy": "拷贝",
6 | "PasteToTheBottom": "粘贴至下方",
7 | "PasteToTheInside": "粘贴至内部",
8 | "Delete": "删除"
9 | }
10 |
--------------------------------------------------------------------------------
/packages/engine/src/modules/lowcode-types.ts:
--------------------------------------------------------------------------------
1 | export type { IPublicTypeNodeSchema } from '@alilc/lowcode-types';
--------------------------------------------------------------------------------
/packages/engine/src/modules/skeleton-types.ts:
--------------------------------------------------------------------------------
1 | import { IPublicTypeWidgetBaseConfig as innerIWidgetBaseConfig } from '@alilc/lowcode-types';
2 |
3 | export type IWidgetBaseConfig = innerIWidgetBaseConfig;
4 |
--------------------------------------------------------------------------------
/packages/engine/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "lib"
5 | },
6 | "include": [
7 | "./src/"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/ignitor/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = require('../../babel.config');
--------------------------------------------------------------------------------
/packages/ignitor/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/packages/ignitor/public/favicon.png
--------------------------------------------------------------------------------
/packages/ignitor/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "lib"
5 | },
6 | "include": [
7 | "./src/"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/plugin-command/README.md:
--------------------------------------------------------------------------------
1 | # `@alilc/plugin-command`
2 |
3 | > TODO: description
4 |
5 | ## Usage
6 |
7 | ```
8 | const pluginCommand = require('@alilc/plugin-command');
9 |
10 | // TODO: DEMONSTRATE API
11 | ```
12 |
--------------------------------------------------------------------------------
/packages/plugin-command/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce",
4 | "build-plugin-fusion",
5 | ["build-plugin-moment-locales", {
6 | "locales": ["zh-cn"]
7 | }]
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/plugin-designer/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/plugin-designer/src/index.scss:
--------------------------------------------------------------------------------
1 | .lowcode-plugin-designer {
2 | width: 100%;
3 | height: 100%;
4 | }
5 |
--------------------------------------------------------------------------------
/packages/plugin-designer/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "lib"
5 | },
6 | "include": [
7 | "./src/"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/plugin-outline-pane/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce",
4 | "build-plugin-fusion",
5 | ["build-plugin-moment-locales", {
6 | "locales": ["zh-cn"]
7 | }]
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/plugin-outline-pane/src/README.md:
--------------------------------------------------------------------------------
1 | 大纲树
2 |
--------------------------------------------------------------------------------
/packages/plugin-outline-pane/src/controllers/ric-shim.d.ts:
--------------------------------------------------------------------------------
1 | declare module 'ric-shim';
--------------------------------------------------------------------------------
/packages/plugin-outline-pane/src/helper/consts.ts:
--------------------------------------------------------------------------------
1 | export const BackupPaneName = 'outline-backup-pane';
2 | export const MasterPaneName = 'outline-master-pane';
--------------------------------------------------------------------------------
/packages/plugin-outline-pane/src/locale/index.ts:
--------------------------------------------------------------------------------
1 | import enUS from './en-US.json';
2 | import zhCN from './zh-CN.json';
3 |
4 | export { enUS, zhCN };
5 |
--------------------------------------------------------------------------------
/packages/react-renderer/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibaba/lowcode-engine/f6305c2284950d79b9729781f081f24f113de345/packages/react-renderer/README.md
--------------------------------------------------------------------------------
/packages/react-renderer/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce",
4 | "build-plugin-fusion",
5 | ["build-plugin-moment-locales", {
6 | "locales": ["zh-cn"]
7 | }]
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/react-renderer/build.test.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce",
4 | "@alilc/lowcode-test-mate/plugin/index.ts"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/packages/react-renderer/demo/config/components/A.jsx:
--------------------------------------------------------------------------------
1 | import React, { PureComponent } from 'react';
2 |
3 | export default class AView extends PureComponent {
4 | static displayName = 'A';
5 |
6 | static version = '0.0.0';
7 |
8 | render() {
9 | return ;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/react-renderer/demo/config/constants.js:
--------------------------------------------------------------------------------
1 | export default {
2 | name: 'renderer-demo',
3 | };
4 |
--------------------------------------------------------------------------------
/packages/react-renderer/demo/config/utils.js:
--------------------------------------------------------------------------------
1 | import { Message } from '@alifd/next';
2 | import moment from 'moment';
3 |
4 | export default {
5 | Message,
6 | moment,
7 | test(msg) {
8 | this.Message.notice(msg);
9 | },
10 | };
11 |
--------------------------------------------------------------------------------
/packages/react-renderer/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "lib"
5 | },
6 | "include": [
7 | "./src/"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/react-simulator-renderer/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | ["@babel/plugin-proposal-decorators", { "legacy": true }],
4 | ["@babel/plugin-proposal-class-properties", { "loose": true }]
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/packages/react-simulator-renderer/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = require('../../babel.config');
--------------------------------------------------------------------------------
/packages/react-simulator-renderer/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": ["@alilc/build-plugin-lce", "./build.plugin.js"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/react-simulator-renderer/build.plugin.js:
--------------------------------------------------------------------------------
1 | module.exports = ({ onGetWebpackConfig }) => {
2 | onGetWebpackConfig((config) => {
3 | config.performance.hints(false);
4 | });
5 | };
6 |
--------------------------------------------------------------------------------
/packages/react-simulator-renderer/build.test.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce",
4 | "@alilc/lowcode-test-mate/plugin/index.ts"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/packages/react-simulator-renderer/src/README.md:
--------------------------------------------------------------------------------
1 | 沙箱环境
2 |
--------------------------------------------------------------------------------
/packages/react-simulator-renderer/src/host.ts:
--------------------------------------------------------------------------------
1 | // NOTE: 仅做类型标注,切勿做其它用途
2 | import { BuiltinSimulatorHost } from '@alilc/lowcode-designer';
3 |
4 | export const host: BuiltinSimulatorHost = (window as any).LCSimulatorHost;
5 |
--------------------------------------------------------------------------------
/packages/react-simulator-renderer/src/locale/en-US.json:
--------------------------------------------------------------------------------
1 | {
2 | "Drag and drop components or templates here": "Drag and drop components or templates here",
3 | "Locked elements and child elements cannot be edited": "Locked elements and child elements cannot be edited"
4 | }
--------------------------------------------------------------------------------
/packages/react-simulator-renderer/src/locale/zh-CN.json:
--------------------------------------------------------------------------------
1 | {
2 | "Drag and drop components or templates here": "拖拽组件或模板到这里",
3 | "Locked elements and child elements cannot be edited": "锁定元素及子元素无法编辑"
4 | }
--------------------------------------------------------------------------------
/packages/react-simulator-renderer/src/utils/is-dom-node.ts:
--------------------------------------------------------------------------------
1 | export function isDOMNode(node: any): node is Element | Text {
2 | return node.nodeType && (node.nodeType === Node.ELEMENT_NODE || node.nodeType === Node.TEXT_NODE);
3 | }
4 |
--------------------------------------------------------------------------------
/packages/react-simulator-renderer/test/utils/components.tsx:
--------------------------------------------------------------------------------
1 | export const Text = ({
2 | __tag,
3 | content,
4 | ...props
5 | }: any) => ({content}
);
6 |
7 | export const Page = (props: any) => ({props.children}
);
--------------------------------------------------------------------------------
/packages/react-simulator-renderer/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "lib"
5 | },
6 | "include": [
7 | "./src/", "../../index.ts"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/renderer-core/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = require('../../babel.config');
--------------------------------------------------------------------------------
/packages/renderer-core/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | [
4 | "@alilc/build-plugin-lce",
5 | {
6 | "babelPlugins": ["@babel/plugin-transform-typescript"]
7 | }
8 | ]
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/packages/renderer-core/build.test.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce",
4 | "@alilc/lowcode-test-mate/plugin/index.ts"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/packages/renderer-core/src/index.ts:
--------------------------------------------------------------------------------
1 | import adapter from './adapter';
2 | import contextFactory from './context';
3 |
4 | export { adapter, contextFactory };
5 |
6 | export * from './renderer';
7 | export * as types from './types';
8 | export * as utils from './utils';
9 | export * from './hoc';
10 |
--------------------------------------------------------------------------------
/packages/renderer-core/src/utils/index.ts:
--------------------------------------------------------------------------------
1 | export * from './common';
2 | export * from './data-helper';
3 | export * from './request';
4 |
--------------------------------------------------------------------------------
/packages/renderer-core/src/utils/logger.ts:
--------------------------------------------------------------------------------
1 | import { Logger } from '@alilc/lowcode-utils';
2 |
3 | export default new Logger({ level: 'warn', bizName: 'renderer' });
--------------------------------------------------------------------------------
/packages/renderer-core/tests/fixtures/unhandled-rejection.ts:
--------------------------------------------------------------------------------
1 | if (!process.env.LISTENING_TO_UNHANDLED_REJECTION) {
2 | process.on('unhandledRejection', reason => {
3 | throw reason;
4 | });
5 | // Avoid memory leak by adding too many listeners
6 | process.env.LISTENING_TO_UNHANDLED_REJECTION = 'true';
7 | }
8 |
--------------------------------------------------------------------------------
/packages/renderer-core/tests/mock/styleMock.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | process() {
3 | return '';
4 | },
5 | };
--------------------------------------------------------------------------------
/packages/renderer-core/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "lib",
5 | "jsx": "react"
6 | },
7 | "include": ["./src/"],
8 | }
9 |
--------------------------------------------------------------------------------
/packages/shell/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/shell/build.test.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce",
4 | "@alilc/lowcode-test-mate/plugin/index.ts"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/packages/types/.eslintignore:
--------------------------------------------------------------------------------
1 | lib
2 | es
3 | node_modules
--------------------------------------------------------------------------------
/packages/types/.prettierrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | printWidth: 80,
3 | singleQuote: true,
4 | trailingComma: 'all',
5 | tabSize: 2,
6 | };
7 |
--------------------------------------------------------------------------------
/packages/types/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/types/src/deprecated/isDOMText.ts:
--------------------------------------------------------------------------------
1 | import { IPublicTypeDOMText } from '../shell/type/dom-text';
2 |
3 | /**
4 | * @deprecated use same function from '@alilc/lowcode-utils' instead
5 | */
6 | export function isDOMText(data: any): data is IPublicTypeDOMText {
7 | return typeof data === 'string';
8 | }
9 |
--------------------------------------------------------------------------------
/packages/types/src/deprecated/isI18nData.ts:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * @deprecated use same function from '@alilc/lowcode-utils' instead
4 | */
5 | export function isI18nData(obj: any): boolean {
6 | return obj && obj.type === 'i18n';
7 | }
8 |
--------------------------------------------------------------------------------
/packages/types/src/deprecated/isNodeSchema.ts:
--------------------------------------------------------------------------------
1 | import { IPublicTypeNodeSchema } from '../shell';
2 |
3 | /**
4 | * @deprecated use same function from '@alilc/lowcode-utils' instead
5 | */
6 | export function isNodeSchema(data: any): data is IPublicTypeNodeSchema {
7 | return data && data.componentName;
8 | }
9 |
--------------------------------------------------------------------------------
/packages/types/src/deprecated/isProjectSchema.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * @deprecated use same function from '@alilc/lowcode-utils' instead
3 | */
4 | export function isProjectSchema(data: any): boolean {
5 | return data && data.componentsTree;
6 | }
7 |
--------------------------------------------------------------------------------
/packages/types/src/event/node.ts:
--------------------------------------------------------------------------------
1 | export * as Prop from './prop';
2 |
3 | export interface RerenderOptions {
4 | time: number;
5 | componentName?: string;
6 | type?: string;
7 | nodeCount?: number;
8 | }
9 |
10 | export const Rerender = 'node.edit.rerender.time';
11 |
--------------------------------------------------------------------------------
/packages/types/src/shell/enum/context-menu.ts:
--------------------------------------------------------------------------------
1 | export enum IPublicEnumContextMenuType {
2 | SEPARATOR = 'separator',
3 | // 'menuItem'
4 | MENU_ITEM = 'menuItem',
5 | // 'nodeTree'
6 | NODE_TREE = 'nodeTree',
7 | }
--------------------------------------------------------------------------------
/packages/types/src/shell/enum/event-names.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 所有公开可用的事件名定义
3 | * All public event names
4 | * names should be like 'namespace.modelName.whatHappened'
5 | *
6 | */
7 | // eslint-disable-next-line no-shadow
8 | export enum IPublicEnumEventNames {
9 | }
--------------------------------------------------------------------------------
/packages/types/src/shell/enum/index.ts:
--------------------------------------------------------------------------------
1 | export * from './event-names';
2 | export * from './transition-type';
3 | export * from './transform-stage';
4 | export * from './drag-object-type';
5 | export * from './prop-value-changed-type';
6 | export * from './plugin-register-level';
7 | export * from './context-menu';
--------------------------------------------------------------------------------
/packages/types/src/shell/enum/plugin-register-level.ts:
--------------------------------------------------------------------------------
1 | export enum IPublicEnumPluginRegisterLevel {
2 | Default = 'default',
3 | Workspace = 'workspace',
4 | Resource = 'resource',
5 | EditorView = 'editorView',
6 | }
--------------------------------------------------------------------------------
/packages/types/src/shell/index.ts:
--------------------------------------------------------------------------------
1 |
2 | export * from './type';
3 | export * from './api';
4 | export * from './model';
5 | export * from './enum';
--------------------------------------------------------------------------------
/packages/types/src/shell/model/editor-view.ts:
--------------------------------------------------------------------------------
1 | import { IPublicModelPluginContext } from './plugin-context';
2 |
3 | export interface IPublicModelEditorView extends IPublicModelPluginContext {
4 | viewName: string;
5 |
6 | viewType: 'editor' | 'webview';
7 | }
--------------------------------------------------------------------------------
/packages/types/src/shell/model/scroller.ts:
--------------------------------------------------------------------------------
1 | export interface IPublicModelScroller {
2 |
3 | scrollTo(options: { left?: number; top?: number }): void;
4 |
5 | cancel(): void;
6 |
7 | scrolling(point: { globalX: number; globalY: number }): void;
8 | }
--------------------------------------------------------------------------------
/packages/types/src/shell/model/setting-prop-entry.ts:
--------------------------------------------------------------------------------
1 | import { IPublicModelSettingField } from './';
2 |
3 | /**
4 | * @deprecated please use IPublicModelSettingField
5 | */
6 | export type IPublicModelSettingPropEntry = IPublicModelSettingField
7 |
--------------------------------------------------------------------------------
/packages/types/src/shell/model/setting-target.ts:
--------------------------------------------------------------------------------
1 | import { IPublicModelSettingField } from './';
2 |
3 | /**
4 | * @deprecated please use IPublicModelSettingField
5 | */
6 | export type IPublicModelSettingTarget = IPublicModelSettingField;
7 |
--------------------------------------------------------------------------------
/packages/types/src/shell/model/simulator-render.ts:
--------------------------------------------------------------------------------
1 | export interface IPublicModelSimulatorRender {
2 |
3 | /**
4 | * 画布组件列表
5 | */
6 | components: {
7 | [key: string]: any;
8 | };
9 |
10 | /**
11 | * 触发画布重新渲染
12 | */
13 | rerender: () => void;
14 | }
15 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/block-schema.ts:
--------------------------------------------------------------------------------
1 | import { IPublicTypeContainerSchema } from './';
2 |
3 | /**
4 | * 区块容器
5 | * @see https://lowcode-engine.cn/lowcode
6 | */
7 |
8 | export interface IPublicTypeBlockSchema extends IPublicTypeContainerSchema {
9 | componentName: 'Block';
10 | }
11 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/component-instance.ts:
--------------------------------------------------------------------------------
1 |
2 | import { Component as ReactComponent } from 'react';
3 | /**
4 | * 组件实例定义
5 | */
6 | export type IPublicTypeComponentInstance = Element | ReactComponent | object;
--------------------------------------------------------------------------------
/packages/types/src/shell/type/config-transducer.ts:
--------------------------------------------------------------------------------
1 | import { IPublicTypeSkeletonConfig } from '.';
2 |
3 | export interface IPublicTypeConfigTransducer {
4 | (prev: IPublicTypeSkeletonConfig): IPublicTypeSkeletonConfig;
5 |
6 | level?: number;
7 |
8 | id?: string;
9 | }
10 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/custom-view.ts:
--------------------------------------------------------------------------------
1 | import { ComponentType, ReactElement } from 'react';
2 |
3 | export type IPublicTypeCustomView = ReactElement | ComponentType;
4 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/disposable.ts:
--------------------------------------------------------------------------------
1 | export interface IPublicTypeDisposable {
2 | (): void;
3 | }
--------------------------------------------------------------------------------
/packages/types/src/shell/type/dom-text.ts:
--------------------------------------------------------------------------------
1 | export type IPublicTypeDOMText = string;
2 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/drag-any-object.ts:
--------------------------------------------------------------------------------
1 |
2 | export interface IPublicTypeDragAnyObject {
3 | type: string;
4 | [key: string]: any;
5 | }
6 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/drag-node-object.ts:
--------------------------------------------------------------------------------
1 | import { IPublicModelNode } from '..';
2 | import { IPublicEnumDragObjectType } from '../enum';
3 |
4 | export interface IPublicTypeDragNodeObject {
5 | type: IPublicEnumDragObjectType.Node;
6 | nodes: Node[];
7 | }
8 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/dynamic-props.ts:
--------------------------------------------------------------------------------
1 | import { IPublicModelSettingField } from '../model';
2 |
3 | export type IPublicTypeDynamicProps = (target: IPublicModelSettingField) => Record;
4 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/editor-get-options.ts:
--------------------------------------------------------------------------------
1 |
2 | export interface IPublicTypeEditorGetOptions {
3 | forceNew?: boolean;
4 | sourceCls?: new (...args: any[]) => any;
5 | }
6 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/editor-get-result.ts:
--------------------------------------------------------------------------------
1 |
2 | export type IPublicTypeEditorGetResult = T extends undefined ? ClsType extends {
3 | prototype: infer R;
4 | } ? R : any : T;
5 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/editor-value-key.ts:
--------------------------------------------------------------------------------
1 |
2 | export type IPublicTypeEditorValueKey = (new (...args: any[]) => any) | symbol | string;
3 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/hotkey-callback.ts:
--------------------------------------------------------------------------------
1 |
2 | export type IPublicTypeHotkeyCallback = (e: KeyboardEvent, combo?: string) => any | false;
3 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/hotkey-callbacks.ts:
--------------------------------------------------------------------------------
1 | import { IPublicTypeHotkeyCallbackConfig } from './';
2 |
3 | export interface IPublicTypeHotkeyCallbacks {
4 | [key: string]: IPublicTypeHotkeyCallbackConfig[];
5 | }
--------------------------------------------------------------------------------
/packages/types/src/shell/type/i18n-map.ts:
--------------------------------------------------------------------------------
1 |
2 | export interface IPublicTypeI18nMap {
3 | [lang: string]: { [key: string]: string };
4 | }
5 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/i8n-data.ts:
--------------------------------------------------------------------------------
1 | import { ReactNode } from 'react';
2 |
3 | export interface IPublicTypeI18nData {
4 | type: 'i18n';
5 | intl?: ReactNode;
6 | [key: string]: any;
7 | }
8 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/icon-config.ts:
--------------------------------------------------------------------------------
1 |
2 | export interface IPublicTypeIconConfig {
3 | type: string;
4 | size?: number | 'small' | 'xxs' | 'xs' | 'medium' | 'large' | 'xl' | 'xxl' | 'xxxl' | 'inherit';
5 | className?: string;
6 | }
7 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/icon-type.ts:
--------------------------------------------------------------------------------
1 | import { ReactElement, ComponentType } from 'react';
2 | import { IPublicTypeIconConfig } from './';
3 |
4 | export type IPublicTypeIconType = string | ReactElement | ComponentType | IPublicTypeIconConfig;
5 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/node-data-type.ts:
--------------------------------------------------------------------------------
1 | import { IPublicTypeNodeData } from './node-data';
2 |
3 | export type IPublicTypeNodeDataType = IPublicTypeNodeData | IPublicTypeNodeData[];
4 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/node-data.ts:
--------------------------------------------------------------------------------
1 | import { IPublicTypeJSExpression, IPublicTypeNodeSchema, IPublicTypeDOMText, IPublicTypeI18nData } from './';
2 |
3 | export type IPublicTypeNodeData = IPublicTypeNodeSchema | IPublicTypeJSExpression | IPublicTypeDOMText | IPublicTypeI18nData;
4 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/on-change-options.ts:
--------------------------------------------------------------------------------
1 | import { IPublicModelNode } from '..';
2 |
3 | export interface IPublicTypeOnChangeOptions<
4 | Node = IPublicModelNode
5 | > {
6 | type: string;
7 | node: Node;
8 | }
9 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/page-schema.ts:
--------------------------------------------------------------------------------
1 | import { IPublicTypeContainerSchema } from './';
2 |
3 | /**
4 | * 页面容器
5 | * @see https://lowcode-engine.cn/lowcode
6 | */
7 | export interface IPublicTypePageSchema extends IPublicTypeContainerSchema {
8 | componentName: 'Page';
9 | }
10 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/plugin-config.ts:
--------------------------------------------------------------------------------
1 | export interface IPublicTypePluginConfig {
2 | init(): Promise | void;
3 | destroy?(): Promise | void;
4 | exports?(): any;
5 | }
6 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/plugin-creater.ts:
--------------------------------------------------------------------------------
1 | import { IPublicTypePluginConfig } from './';
2 | import { IPublicModelPluginContext } from '../model';
3 |
4 | // eslint-disable-next-line max-len
5 | export type IPublicTypePluginCreater = (ctx: IPublicModelPluginContext, options: any) => IPublicTypePluginConfig;
6 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/plugin.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable max-len */
2 | import { IPublicTypePluginMeta, IPublicTypePluginCreater } from './';
3 |
4 | export interface IPublicTypePlugin extends IPublicTypePluginCreater {
5 | pluginName: string;
6 | meta?: IPublicTypePluginMeta;
7 | }
--------------------------------------------------------------------------------
/packages/types/src/shell/type/preference-value-type.ts:
--------------------------------------------------------------------------------
1 |
2 | export type IPublicTypePreferenceValueType = string | number | boolean;
3 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/props-list.ts:
--------------------------------------------------------------------------------
1 | import { IPublicTypeCompositeValue } from './';
2 |
3 | export type IPublicTypePropsList = Array<{
4 | spread?: boolean;
5 | name?: string;
6 | value: IPublicTypeCompositeValue;
7 | }>;
8 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/props-map.ts:
--------------------------------------------------------------------------------
1 | import { IPublicTypeCompositeObject, IPublicTypeNodeData } from './';
2 |
3 | export type IPublicTypePropsMap = IPublicTypeCompositeObject;
4 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/scrollable.ts:
--------------------------------------------------------------------------------
1 | import { IPublicModelScrollTarget } from '../model';
2 |
3 | export interface IPublicTypeScrollable {
4 | scrollTarget?: IPublicModelScrollTarget | Element;
5 | bounds?: DOMRect | null;
6 | scale?: number;
7 | }
8 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/set-value-options.ts:
--------------------------------------------------------------------------------
1 | import { IPublicEnumPropValueChangedType } from '../enum';
2 |
3 | export interface IPublicTypeSetValueOptions {
4 | disableMutator?: boolean;
5 | type?: IPublicEnumPropValueChangedType;
6 | fromSetHotValue?: boolean;
7 | }
8 |
--------------------------------------------------------------------------------
/packages/types/src/shell/type/tip-content.ts:
--------------------------------------------------------------------------------
1 | import { IPublicTypeI18nData } from '..';
2 | import { ReactNode } from 'react';
3 | import { IPublicTypeTipConfig } from './tip-config';
4 |
5 | export type TipContent = string | IPublicTypeI18nData | ReactNode | IPublicTypeTipConfig;
6 |
--------------------------------------------------------------------------------
/packages/types/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "lib"
5 | },
6 | "include": [
7 | "./src/"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/utils/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/utils/build.test.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce",
4 | "@alilc/lowcode-test-mate/plugin/index.ts"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/packages/utils/jest.setup.js:
--------------------------------------------------------------------------------
1 | import '@testing-library/jest-dom';
2 |
--------------------------------------------------------------------------------
/packages/utils/src/check-types/is-action-content-object.ts:
--------------------------------------------------------------------------------
1 | import { IPublicTypeActionContentObject } from '@alilc/lowcode-types';
2 | import { isObject } from '../is-object';
3 |
4 | export function isActionContentObject(obj: any): obj is IPublicTypeActionContentObject {
5 | return isObject(obj);
6 | }
7 |
--------------------------------------------------------------------------------
/packages/utils/src/check-types/is-dom-text.ts:
--------------------------------------------------------------------------------
1 | export function isDOMText(data: any): data is string {
2 | return typeof data === 'string';
3 | }
4 |
--------------------------------------------------------------------------------
/packages/utils/src/check-types/is-function.ts:
--------------------------------------------------------------------------------
1 | export function isFunction(obj: any): obj is Function {
2 | return obj && typeof obj === 'function';
3 | }
--------------------------------------------------------------------------------
/packages/utils/src/check-types/is-node.ts:
--------------------------------------------------------------------------------
1 | import { IPublicModelNode } from '@alilc/lowcode-types';
2 | import { isObject } from '../is-object';
3 |
4 | export function isNode(node: any): node is Node {
5 | if (!isObject(node)) {
6 | return false;
7 | }
8 | return node.isNode;
9 | }
--------------------------------------------------------------------------------
/packages/utils/src/check-types/is-object.ts:
--------------------------------------------------------------------------------
1 | export function isObject(obj: any): boolean {
2 | return obj && typeof obj === 'object';
3 | }
--------------------------------------------------------------------------------
/packages/utils/src/env.ts:
--------------------------------------------------------------------------------
1 | export function isInSimulator() {
2 | return Boolean((window as any).__is_simulator_env__);
3 | }
4 |
--------------------------------------------------------------------------------
/packages/utils/src/get-prototype-of.ts:
--------------------------------------------------------------------------------
1 | export function getPrototypeOf(target: any) {
2 | if (typeof Object.getPrototypeOf !== 'undefined') {
3 | return Object.getPrototypeOf(target);
4 | }
5 |
6 | // eslint-disable-next-line no-proto
7 | return target.__proto__;
8 | }
9 |
--------------------------------------------------------------------------------
/packages/utils/src/has-own-property.ts:
--------------------------------------------------------------------------------
1 | const prototypeHasOwnProperty = Object.prototype.hasOwnProperty;
2 | export function hasOwnProperty(obj: any, key: string | number | symbol): boolean {
3 | return obj && prototypeHasOwnProperty.call(obj, key);
4 | }
5 |
--------------------------------------------------------------------------------
/packages/utils/src/is-css-url.ts:
--------------------------------------------------------------------------------
1 | export function isCSSUrl(url: string): boolean {
2 | return /\.css(\?.*)?$/.test(url);
3 | }
4 |
--------------------------------------------------------------------------------
/packages/utils/src/is-element.ts:
--------------------------------------------------------------------------------
1 | export function isElement(node: any): node is Element {
2 | if (!node) return false;
3 | return node.nodeType === Node.ELEMENT_NODE;
4 | }
5 |
--------------------------------------------------------------------------------
/packages/utils/src/is-es-module.ts:
--------------------------------------------------------------------------------
1 | export type ESModule = {
2 | __esModule: true;
3 | default: any;
4 | };
5 | export function isESModule(obj: any): obj is ESModule {
6 | return obj && obj.__esModule;
7 | }
8 |
--------------------------------------------------------------------------------
/packages/utils/src/is-function.ts:
--------------------------------------------------------------------------------
1 | export function isFunction(fn: any): boolean {
2 | return typeof fn === 'function';
3 | }
4 |
--------------------------------------------------------------------------------
/packages/utils/src/is-object.ts:
--------------------------------------------------------------------------------
1 | export function isObject(value: any): value is Record {
2 | return value !== null && typeof value === 'object';
3 | }
4 |
5 | export function isI18NObject(value: any): boolean {
6 | return isObject(value) && value.type === 'i18n';
7 | }
8 |
--------------------------------------------------------------------------------
/packages/utils/src/is-plugin-event-name.ts:
--------------------------------------------------------------------------------
1 | export function isPluginEventName(eventName: string): boolean {
2 | if (!eventName) {
3 | return false;
4 | }
5 |
6 | const eventSegments = eventName.split(':');
7 | return (eventSegments.length > 1 && eventSegments[0].length > 0);
8 | }
9 |
--------------------------------------------------------------------------------
/packages/utils/src/set-prototype-of.ts:
--------------------------------------------------------------------------------
1 | export function setPrototypeOf(target: any, proto: any) {
2 | if (typeof Object.setPrototypeOf !== 'undefined') {
3 | Object.setPrototypeOf(target, proto);
4 | } else {
5 | // eslint-disable-next-line no-proto
6 | target.__proto__ = proto;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/utils/src/unique-id.ts:
--------------------------------------------------------------------------------
1 | let guid = Date.now();
2 | export function uniqueId(prefix = '') {
3 | return `${prefix}${(guid++).toString(36).toLowerCase()}`;
4 | }
5 |
--------------------------------------------------------------------------------
/packages/utils/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "lib"
5 | },
6 | "include": [
7 | "./src/"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/workspace/build.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/workspace/build.test.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "@alilc/build-plugin-lce",
4 | "@alilc/lowcode-test-mate/plugin/index.ts"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/packages/workspace/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | moduleFileExtensions: ['ts', 'tsx', 'js', 'json'],
3 | collectCoverage: true,
4 | collectCoverageFrom: [
5 | 'src/**/*.{ts,tsx}',
6 | '!**/node_modules/**',
7 | '!**/vendor/**',
8 | ],
9 | };
10 |
--------------------------------------------------------------------------------
/packages/workspace/src/skeleton-context.ts:
--------------------------------------------------------------------------------
1 | import { createContext } from 'react';
2 |
3 | export const SkeletonContext = createContext({} as any);
4 |
--------------------------------------------------------------------------------
/packages/workspace/src/view/resource-view.less:
--------------------------------------------------------------------------------
1 | .workspace-resource-view {
2 | display: flex;
3 | position: absolute;
4 | flex-direction: column;
5 | top: 0;
6 | bottom: 0;
7 | left: 0;
8 | right: 0;
9 | }
10 |
11 | .workspace-editor-body {
12 | position: relative;
13 | height: 100%;
14 | }
--------------------------------------------------------------------------------
/packages/workspace/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "lib"
5 | },
6 | "include": [
7 | "./src/"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/scripts/setup-skip-build.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | rm -rf node_modules package-lock.json yarn.lock
4 |
5 | npm i lerna@4.0.0
6 |
7 | lerna clean -y
8 | find ./packages -type f -name "package-lock.json" -exec rm -f {} \;
9 |
10 | lerna bootstrap
11 |
--------------------------------------------------------------------------------
/scripts/setup.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | rm -rf package-lock.json yarn.lock
4 | lerna clean -y
5 | find ./packages -type f -name "package-lock.json" -exec rm -f {} \;
6 |
7 | lerna bootstrap --force-local
8 |
--------------------------------------------------------------------------------
/scripts/start-server.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # FIXME! do not run build
4 | lerna exec --scope @ali/lowcode-code-generator -- npm run build
5 | # lerna exec --scope @ali/lowcode-demo-server -- npm start
6 |
--------------------------------------------------------------------------------
/scripts/start.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | pkgName="@alilc/lowcode-ignitor"
4 |
5 | if [ "$1" ]; then
6 | pkgName="$1"
7 | fi
8 |
9 | lerna exec --scope $pkgName -- npm start
10 |
--------------------------------------------------------------------------------