diff --git a/packages/brick-scripts/src/ask.spec.ts b/packages/brick-scripts/src/ask.spec.ts index df17b2d443..d6ab958ee6 100644 --- a/packages/brick-scripts/src/ask.spec.ts +++ b/packages/brick-scripts/src/ask.spec.ts @@ -5,7 +5,6 @@ import { askTargetType } from "./questions/askTargetType"; import { askPackageName } from "./questions/askPackageName"; import { askBrickName } from "./questions/askBrickName"; import { askProcessorName } from "./questions/askProcessorName"; -import { askEditorBrickName } from "./questions/askEditorBrickName"; import { ask } from "./ask"; jest.mock("inquirer"); @@ -14,7 +13,6 @@ jest.mock("./questions/askTargetType"); jest.mock("./questions/askPackageName"); jest.mock("./questions/askBrickName"); jest.mock("./questions/askProcessorName"); -jest.mock("./questions/askEditorBrickName"); (getEasyopsConfig as jest.Mock).mockReturnValue({ useLocalSdk: true, @@ -24,7 +22,6 @@ const spyOnAskTargetType = askTargetType as jest.Mock; const spyOnAskPackageName = askPackageName as jest.Mock; const spyOnAskBrickName = askBrickName as jest.Mock; const spyOnAskProcessorName = askProcessorName as jest.Mock; -const spyOnAskEditorBrickName = askEditorBrickName as jest.Mock; describe("ask", () => { beforeEach(() => { @@ -38,7 +35,6 @@ describe("ask", () => { test.each<[TargetType, string, string, string, string]>([ [TargetType.A_NEW_BRICK, "package-a", "brick-a", "", ""], - [TargetType.A_NEW_EDITOR_BRICK, "package-a", "", "", "brick-a"], [TargetType.A_NEW_CUSTOM_PROVIDER, "package-a", "brick-b", "", ""], [TargetType.A_NEW_CUSTOM_PROCESSOR, "package-a", "", "doSomething", ""], [TargetType.A_NEW_PACKAGE_OF_LIBS, "lib-a", "", "", ""], @@ -55,7 +51,6 @@ describe("ask", () => { spyOnAskPackageName.mockReturnValue({ packageName }); spyOnAskBrickName.mockReturnValue({ brickName }); spyOnAskProcessorName.mockReturnValue({ processorName }); - spyOnAskEditorBrickName.mockReturnValue({ brickName: editorBrickName }); expect(await ask("")).toEqual({ targetType, diff --git a/packages/brick-scripts/src/ask.ts b/packages/brick-scripts/src/ask.ts index d0e94e0eba..5e4593e91e 100644 --- a/packages/brick-scripts/src/ask.ts +++ b/packages/brick-scripts/src/ask.ts @@ -6,7 +6,6 @@ import { askPackageName } from "./questions/askPackageName"; import { askBrickName } from "./questions/askBrickName"; import { askProcessorName } from "./questions/askProcessorName"; import { updateHistory } from "./loaders/loadHistory"; -import { askEditorBrickName } from "./questions/askEditorBrickName"; export async function ask( appRoot: string, @@ -50,7 +49,6 @@ export async function ask( switch (targetType) { case TargetType.A_NEW_BRICK: - case TargetType.A_NEW_EDITOR_BRICK: case TargetType.A_NEW_CUSTOM_TEMPLATE: case TargetType.A_NEW_CUSTOM_PROVIDER: case TargetType.A_NEW_CUSTOM_PROCESSOR: @@ -101,15 +99,6 @@ export async function ask( }) ) ).processorName; - } else if (targetType === TargetType.A_NEW_EDITOR_BRICK) { - brickName = ( - await inquirer.prompt( - askEditorBrickName({ - packageName, - appRoot, - }) - ) - ).brickName; } return { diff --git a/packages/brick-scripts/src/constant.ts b/packages/brick-scripts/src/constant.ts index 3ed42ed19a..e64462f03f 100644 --- a/packages/brick-scripts/src/constant.ts +++ b/packages/brick-scripts/src/constant.ts @@ -2,7 +2,6 @@ import { TargetType } from "./interface"; export const targetMap = { [TargetType.A_NEW_BRICK]: "bricks", - [TargetType.A_NEW_EDITOR_BRICK]: "bricks", [TargetType.A_NEW_CUSTOM_TEMPLATE]: "bricks", [TargetType.A_NEW_PACKAGE_OF_BRICKS]: "bricks", [TargetType.A_NEW_PACKAGE_OF_LIBS]: "libs", diff --git a/packages/brick-scripts/src/interface.ts b/packages/brick-scripts/src/interface.ts index d6fae12747..059f1c5a26 100644 --- a/packages/brick-scripts/src/interface.ts +++ b/packages/brick-scripts/src/interface.ts @@ -7,7 +7,6 @@ export interface AskFlags { export enum TargetType { A_NEW_BRICK = "brick", - A_NEW_EDITOR_BRICK = "editor-brick", A_NEW_PACKAGE_OF_BRICKS = "bricks", A_NEW_PACKAGE_OF_LIBS = "libs", // A_NEW_PACKAGE_OF_MICRO_APPS = "micro-apps", @@ -24,7 +23,6 @@ export enum TargetType { export const TargetTypeDisplay = { [TargetType.A_NEW_BRICK]: "a new brick", - [TargetType.A_NEW_EDITOR_BRICK]: "a new editor brick", [TargetType.A_NEW_PACKAGE_OF_BRICKS]: "a new package of bricks", [TargetType.A_NEW_PACKAGE_OF_LIBS]: "a new package of libs", // [TargetType.A_NEW_PACKAGE_OF_MICRO_APPS]: "a new package of micro-apps", diff --git a/packages/brick-scripts/src/loaders/__snapshots__/loadTemplate.spec.ts.snap b/packages/brick-scripts/src/loaders/__snapshots__/loadTemplate.spec.ts.snap index 57f49a5040..2775bd3243 100644 --- a/packages/brick-scripts/src/loaders/__snapshots__/loadTemplate.spec.ts.snap +++ b/packages/brick-scripts/src/loaders/__snapshots__/loadTemplate.spec.ts.snap @@ -198,86 +198,6 @@ getRuntime().registerCustomTemplate(\\"for-good.for-better\\", { ] `; -exports[`loadTemplate should create a new editor brick 1`] = ` -Array [ - Array [ - "dist/for-better.editor.module.css", - ".wrapper { - /* Try to use pre-defined css variables like \`var(--editor-...)\` */ - /* See https://git.easyops.local/anyclouds/next-core/blob/master/packages/brick-container/src/styles/editor-bricks-variables.css */ - border-radius: var(--editor-brick-border-radius); - background: var(--editor-brick-skeleton-bg-light); -} -", - ], - Array [ - "dist/for-better.editor.spec.tsx", - "import React from \\"react\\"; -import { shallow } from \\"enzyme\\"; -import * as helper from \\"@next-core/editor-bricks-helper\\"; -import { ForBetterEditor } from \\"./for-better.editor\\"; - -const mockUseBuilderNode = jest.spyOn(helper, \\"useBuilderNode\\"); - -describe(\\"ForBetterEditor\\", () => { - it(\\"should work\\", () => { - mockUseBuilderNode.mockReturnValueOnce({ - type: \\"brick\\", - id: \\"B-001\\", - brick: \\"for-better\\", - alias: \\"my-brick\\", - $$parsedProperties: {}, - }); - const wrapper = shallow(); - expect(wrapper.find(\\"div\\").text()).toBe(\\"my-brick\\"); - }); -}); -", - ], - Array [ - "dist/for-better.editor.tsx", - "import React from \\"react\\"; -import { - EditorComponentProps, - EditorContainer, - EditorElementFactory, - EditorSelfLayout, - useBuilderNode, -} from \\"@next-core/editor-bricks-helper\\"; -import styles from \\"./for-better.editor.module.css\\"; - -// eslint-disable-next-line @typescript-eslint/no-empty-interface -interface ForBetterProperties { - // someProps?: string; -} - -export function ForBetterEditor({ - nodeUid, -}: EditorComponentProps): React.ReactElement { - const node = useBuilderNode({ nodeUid }); - /** - * 提示:使用构件的属性配置来呈现该构件的关键 UI 特征。 - * 例如:对于按钮构件,根据 \`buttonType\` 来显示对应的背景色。 - */ - // const { someProps } = node.$$parsedProperties; - return ( - -
{node.alias}
-
- ); -} - -customElements.define( - \\"for-good.for-better--editor\\", - EditorElementFactory(ForBetterEditor, { - selfLayout: EditorSelfLayout.INLINE, - }) -); -", - ], -] -`; - exports[`loadTemplate should create a new package of bricks 1`] = ` Array [ Array [ @@ -315,10 +235,6 @@ preBuild(\\"bricks\\"); renameTarPackage(); ", ], - Array [ - "dist/src/editor-bricks/index.ts", - "", - ], Array [ "dist/src/i18n/constants.ts", "export const NS_FOR_GOOD = \\"for-good\\"; @@ -417,20 +333,6 @@ module.exports = merge( ? webpackDevFactory() : webpackProdFactory() ); -", - ], - Array [ - "dist/webpack.editors.js", - "const { bricks, merge } = require(\\"@next-core/webpack-config-factory\\"); - -const { webpackEditorsFactory, webpackDevFactory, webpackProdFactory } = bricks; - -module.exports = merge( - webpackEditorsFactory(), - process.env.NODE_ENV === \\"development\\" - ? webpackDevFactory() - : webpackProdFactory() -); ", ], Array [ @@ -575,10 +477,6 @@ preBuild(\\"bricks\\"); renameTarPackage(); ", ], - Array [ - "dist/src/editor-bricks/index.ts", - "", - ], Array [ "dist/src/i18n/constants.ts", "export const NS_FOR_GOOD = \\"for-good\\"; @@ -677,20 +575,6 @@ module.exports = merge( ? webpackDevFactory() : webpackProdFactory() ); -", - ], - Array [ - "dist/webpack.editors.js", - "const { bricks, merge } = require(\\"@next-core/webpack-config-factory\\"); - -const { webpackEditorsFactory, webpackDevFactory, webpackProdFactory } = bricks; - -module.exports = merge( - webpackEditorsFactory(), - process.env.NODE_ENV === \\"development\\" - ? webpackDevFactory() - : webpackProdFactory() -); ", ], ] diff --git a/packages/brick-scripts/src/loaders/loadTemplate.spec.ts b/packages/brick-scripts/src/loaders/loadTemplate.spec.ts index 6991a3f8ff..c986b4cbb3 100644 --- a/packages/brick-scripts/src/loaders/loadTemplate.spec.ts +++ b/packages/brick-scripts/src/loaders/loadTemplate.spec.ts @@ -32,16 +32,6 @@ describe("loadTemplate", () => { }); expect(files).toMatchSnapshot(); }); - it("should create a new editor brick", async () => { - const files = await loadTemplate({ - targetType: TargetType.A_NEW_EDITOR_BRICK, - packageName: "for-good", - brickName: "for-better", - processorName: "", - targetRoot: "dist", - }); - expect(files).toMatchSnapshot(); - }); it("should create a new custom template", async () => { const files = await loadTemplate({ targetType: TargetType.A_NEW_CUSTOM_TEMPLATE, diff --git a/packages/brick-scripts/src/loaders/loadTemplate.ts b/packages/brick-scripts/src/loaders/loadTemplate.ts index 38f1d9da6a..30ef1637ac 100644 --- a/packages/brick-scripts/src/loaders/loadTemplate.ts +++ b/packages/brick-scripts/src/loaders/loadTemplate.ts @@ -88,7 +88,6 @@ export async function loadTemplate({ const targetMap: { [key: string]: string } = { [TargetType.A_NEW_BRICK]: "brick", - [TargetType.A_NEW_EDITOR_BRICK]: "editor-brick", [TargetType.A_NEW_CUSTOM_TEMPLATE]: "custom-template", [TargetType.A_NEW_PACKAGE_OF_BRICKS]: "bricks-pkg", [TargetType.A_NEW_PACKAGE_OF_LIBS]: "libs-pkg", @@ -109,9 +108,8 @@ export async function loadTemplate({ templateRoot, targetMap[TargetType.A_NEW_PACKAGE_OF_BRICKS] ); - // Providers 库不需要 `src` 及 `webpack.editors.js`。 + // Providers 库不需要 `src`。 ignores.push("template/bricks-pkg/src/"); - ignores.push("template/bricks-pkg/webpack.editors.js"); sdkName = `${packageName.replace(/^providers-of-/, "")}-sdk`; } diff --git a/packages/brick-scripts/src/main.ts b/packages/brick-scripts/src/main.ts index 6576d05e81..608b8cc596 100644 --- a/packages/brick-scripts/src/main.ts +++ b/packages/brick-scripts/src/main.ts @@ -39,9 +39,6 @@ export async function create(flags: AskFlags): Promise { case TargetType.A_NEW_BRICK: targetRoot = path.join(pkgRoot, "src", brickName); break; - case TargetType.A_NEW_EDITOR_BRICK: - targetRoot = path.join(pkgRoot, "src/editor-bricks", brickName); - break; case TargetType.A_NEW_CUSTOM_TEMPLATE: targetRoot = path.join(pkgRoot, "src/custom-templates"); break; @@ -180,27 +177,6 @@ export async function create(flags: AskFlags): Promise { } } break; - case TargetType.A_NEW_EDITOR_BRICK: - { - const editorBricksIndexTs = path.join( - pkgRoot, - "src/editor-bricks/index.ts" - ); - const importStatement = `import "./${brickName}/${brickName}.editor";${os.EOL}`; - const fileExisted = fs.existsSync(editorBricksIndexTs); - if (fileExisted) { - fs.appendFileSync(editorBricksIndexTs, importStatement); - } else { - fs.writeFileSync(editorBricksIndexTs, importStatement); - } - - console.log( - `${chalk.bold( - `File ${fileExisted ? "updated" : "created"}` - )}: ./${path.relative(process.cwd(), editorBricksIndexTs)}` - ); - } - break; } if ( diff --git a/packages/brick-scripts/src/questions/askEditorBrickName.spec.ts b/packages/brick-scripts/src/questions/askEditorBrickName.spec.ts deleted file mode 100644 index d34e578faf..0000000000 --- a/packages/brick-scripts/src/questions/askEditorBrickName.spec.ts +++ /dev/null @@ -1,76 +0,0 @@ -import fs from "fs"; -import { askEditorBrickName } from "./askEditorBrickName"; - -const mockTree = [ - { - path: "/tmp/bricks/test-pkg-a/dist/bricks.json", - content: JSON.stringify({ - bricks: [ - "test-pkg-a.brick-a", - "test-pkg-a.brick-b", - "test-pkg-a.brick--invalid", - ], - }), - }, - { - path: "/tmp/bricks/test-pkg-b/src/index.ts", - content: `export function a() {}`, - }, - { - path: "/tmp/bricks/test-pkg-b/src/y/index.tsx", - content: `customElements.define("test-pkg-b.brick-y", y); -customElements.define("test-pkg-b.brick-z", z);`, - }, - { - path: "/tmp/bricks/test-pkg-b/src/x/index.ts", - content: `customElements.define("test-pkg-b.brick-x", x);`, - }, -]; - -jest.mock("fs"); -jest.mock("klaw-sync", () => (filePath: string) => - mockTree.filter( - (item) => - item.path.startsWith(filePath) && - (item.path.endsWith(".ts") || item.path.endsWith(".tsx")) - ) -); - -(fs.existsSync as jest.Mock).mockImplementation((filePath) => - mockTree.some((item) => item.path === filePath) -); - -(fs.readFileSync as jest.Mock).mockImplementation( - (filePath) => mockTree.find((item) => item.path === filePath).content -); - -describe("askEditorBrickName", () => { - it("should scan bricks in bricks.json", async () => { - const { source } = askEditorBrickName({ - packageName: "test-pkg-a", - appRoot: "/tmp", - }) as any; - - expect(await source()).toEqual(["brick-a", "brick-b"]); - }); - - it("should scan bricks in source code", async () => { - const { source } = askEditorBrickName({ - packageName: "test-pkg-b", - appRoot: "/tmp", - }) as any; - - expect(await source()).toEqual(["brick-x", "brick-y", "brick-z"]); - // Search for `y`. - expect(await source({}, "y")).toEqual(["brick-y"]); - }); - - it("should throw if no bricks found", () => { - expect(() => { - askEditorBrickName({ - packageName: "test-pkg-c", - appRoot: "/tmp", - }); - }).toThrowError(); - }); -}); diff --git a/packages/brick-scripts/src/questions/askEditorBrickName.ts b/packages/brick-scripts/src/questions/askEditorBrickName.ts deleted file mode 100644 index 6ceccc1a5d..0000000000 --- a/packages/brick-scripts/src/questions/askEditorBrickName.ts +++ /dev/null @@ -1,53 +0,0 @@ -import fs from "fs"; -import path from "path"; -import inquirer from "inquirer"; -import klawSync from "klaw-sync"; -import { translateListToAutocomplete } from "./translateListToAutocomplete"; - -export function askEditorBrickName({ - packageName, - appRoot, -}: { - packageName: string; - appRoot: string; -}): inquirer.DistinctQuestion<{ brickName: string }> { - const pkgDir = path.join(appRoot, "bricks", packageName); - const bricksJsonPath = path.join(pkgDir, "dist/bricks.json"); - let bricks: string[] = []; - if (fs.existsSync(bricksJsonPath)) { - const bricksJson = JSON.parse(fs.readFileSync(bricksJsonPath, "utf-8")); - bricks = bricksJson.bricks; - } else { - const tsFiles = klawSync(path.join(pkgDir, "src"), { - depthLimit: 4, - nodir: true, - filter: (item) => - /\.tsx?$/.test(item.path) && !/\.spec\.tsx?$/.test(item.path), - }); - for (const file of tsFiles) { - const content = fs.readFileSync(file.path, "utf-8"); - const matches = content.matchAll( - /\bcustomElements\.define\(\s*['"]([-a-z0-9.]+)['"]/g - ); - for (const match of matches) { - bricks.push(match[1]); - } - } - } - - const brickNameList = bricks - .map((brick) => brick.split(".").slice(1).join(".")) - .filter((lastName) => /^[a-z][a-z0-9]*(-[a-z0-9]+)+$/.test(lastName)) - .sort(); - - if (brickNameList.length === 0) { - throw new Error("No bricks found, please create a brick first."); - } - - return translateListToAutocomplete({ - type: "list", - name: "brickName", - message: `which editor of brick do you want to create?`, - choices: brickNameList, - }); -} diff --git a/packages/brick-scripts/src/questions/askPackageName.spec.ts b/packages/brick-scripts/src/questions/askPackageName.spec.ts index 82e99e1af2..f7a1569ed1 100644 --- a/packages/brick-scripts/src/questions/askPackageName.spec.ts +++ b/packages/brick-scripts/src/questions/askPackageName.spec.ts @@ -48,14 +48,6 @@ describe("askPackageName", () => { expect(await source()).toEqual(["fake-package-sdk"]); }); - it("should return choices of package for new editor brick", async () => { - const { source } = askPackageName({ - targetType: TargetType.A_NEW_EDITOR_BRICK, - appRoot: process.cwd(), - }) as any; - expect(await source()).toEqual(["fake-package-sdk"]); - }); - it("should return choices of package for new custom provider", async () => { const { source } = askPackageName({ targetType: TargetType.A_NEW_CUSTOM_PROVIDER, diff --git a/packages/brick-scripts/src/questions/askPackageName.ts b/packages/brick-scripts/src/questions/askPackageName.ts index 31efe8fef7..91b6a761f3 100644 --- a/packages/brick-scripts/src/questions/askPackageName.ts +++ b/packages/brick-scripts/src/questions/askPackageName.ts @@ -20,7 +20,6 @@ function legacyAskPackageName({ if ( [ TargetType.A_NEW_BRICK, - TargetType.A_NEW_EDITOR_BRICK, TargetType.A_NEW_CUSTOM_TEMPLATE, TargetType.A_NEW_CUSTOM_PROVIDER, TargetType.A_NEW_CUSTOM_PROCESSOR, @@ -39,8 +38,6 @@ function legacyAskPackageName({ message: `which package do you want to put the new ${ targetType === TargetType.A_NEW_CUSTOM_TEMPLATE ? "custom template" - : targetType === TargetType.A_NEW_EDITOR_BRICK - ? "editor brick" : "brick" } in?`, choices: pkgList, diff --git a/packages/brick-scripts/src/questions/askTargetType.ts b/packages/brick-scripts/src/questions/askTargetType.ts index 11f47be896..37978af9fc 100644 --- a/packages/brick-scripts/src/questions/askTargetType.ts +++ b/packages/brick-scripts/src/questions/askTargetType.ts @@ -11,7 +11,6 @@ export function askTargetType(type: TargetType): inquirer.ListQuestion<{ message: "What do you want?", choices: [ TargetType.A_NEW_BRICK, - // TargetType.A_NEW_EDITOR_BRICK, TargetType.A_NEW_CUSTOM_PROVIDER, TargetType.A_NEW_PACKAGE_OF_BRICKS, TargetType.A_NEW_CUSTOM_PROCESSOR, diff --git a/packages/brick-scripts/template/bricks-pkg.json b/packages/brick-scripts/template/bricks-pkg.json index e87184c889..3e7a035ec6 100644 --- a/packages/brick-scripts/template/bricks-pkg.json +++ b/packages/brick-scripts/template/bricks-pkg.json @@ -8,13 +8,9 @@ "scripts": { "prestart": "node scripts/pre-build.js", "start": "cross-env NODE_ENV='development' webpack --config webpack.config.js --watch", - "start:editors": "cross-env NODE_ENV='development' webpack --config webpack.editors.js --watch", - "start:both": "concurrently -k -n main,editors \"npm run start\" \"npm run start:editors\"", "prebuild": "node scripts/pre-build.js", "build": "npm run build:webpack && npm run build:stories && npm run build:snippets", - "build:webpack": "npm run build:webpack:main && npm run build:webpack:editors", - "build:webpack:main": "webpack --config webpack.config.js", - "build:webpack:editors": "webpack --config webpack.editors.js", + "build:webpack": "webpack --config webpack.config.js", "build:stories": "if [ -d stories ];then tsc stories/index.ts --module commonjs --esModuleInterop --allowSyntheticDefaultImports --skipLibCheck --outDir dist/stories; else echo 'no stories'; fi", "build:snippets": "if [ -d snippets ]; then rollup --config rollup.snippets.js; else echo 'no snippets'; fi", "postbuild": "ENABLE_GENERATE_DOC=true node scripts/post-build.js", diff --git a/packages/brick-scripts/template/bricks-pkg/src/editor-bricks/index.ts b/packages/brick-scripts/template/bricks-pkg/src/editor-bricks/index.ts deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/brick-scripts/template/bricks-pkg/webpack.editors.js b/packages/brick-scripts/template/bricks-pkg/webpack.editors.js deleted file mode 100644 index f1b2a69585..0000000000 --- a/packages/brick-scripts/template/bricks-pkg/webpack.editors.js +++ /dev/null @@ -1,10 +0,0 @@ -const { bricks, merge } = require("@next-core/webpack-config-factory"); - -const { webpackEditorsFactory, webpackDevFactory, webpackProdFactory } = bricks; - -module.exports = merge( - webpackEditorsFactory(), - process.env.NODE_ENV === "development" - ? webpackDevFactory() - : webpackProdFactory() -); diff --git a/packages/brick-scripts/template/editor-brick/$kebab-brick-last-name$.editor.module.css b/packages/brick-scripts/template/editor-brick/$kebab-brick-last-name$.editor.module.css deleted file mode 100644 index 3e81845015..0000000000 --- a/packages/brick-scripts/template/editor-brick/$kebab-brick-last-name$.editor.module.css +++ /dev/null @@ -1,6 +0,0 @@ -.wrapper { - /* Try to use pre-defined css variables like `var(--editor-...)` */ - /* See $repo-org-url$/next-core/blob/master/packages/brick-container/src/styles/editor-bricks-variables.css */ - border-radius: var(--editor-brick-border-radius); - background: var(--editor-brick-skeleton-bg-light); -} diff --git a/packages/brick-scripts/template/editor-brick/$kebab-brick-last-name$.editor.spec.tsx b/packages/brick-scripts/template/editor-brick/$kebab-brick-last-name$.editor.spec.tsx deleted file mode 100644 index b41fd2ae2c..0000000000 --- a/packages/brick-scripts/template/editor-brick/$kebab-brick-last-name$.editor.spec.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import React from "react"; -import { shallow } from "enzyme"; -import * as helper from "@next-core/editor-bricks-helper"; -import { $PascalBrickName$Editor } from "./$kebab-brick-last-name$.editor"; - -const mockUseBuilderNode = jest.spyOn(helper, "useBuilderNode"); - -describe("$PascalBrickName$Editor", () => { - it("should work", () => { - mockUseBuilderNode.mockReturnValueOnce({ - type: "brick", - id: "B-001", - brick: "$kebab-brick-last-name$", - alias: "my-brick", - $$parsedProperties: {}, - }); - const wrapper = shallow(<$PascalBrickName$Editor nodeUid={1} />); - expect(wrapper.find("div").text()).toBe("my-brick"); - }); -}); diff --git a/packages/brick-scripts/template/editor-brick/$kebab-brick-last-name$.editor.tsx b/packages/brick-scripts/template/editor-brick/$kebab-brick-last-name$.editor.tsx deleted file mode 100644 index 67dd479e3f..0000000000 --- a/packages/brick-scripts/template/editor-brick/$kebab-brick-last-name$.editor.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import React from "react"; -import { - EditorComponentProps, - EditorContainer, - EditorElementFactory, - EditorSelfLayout, - useBuilderNode, -} from "@next-core/editor-bricks-helper"; -import styles from "./$kebab-brick-last-name$.editor.module.css"; - -// eslint-disable-next-line @typescript-eslint/no-empty-interface -interface $PascalBrickName$Properties { - // someProps?: string; -} - -export function $PascalBrickName$Editor({ - nodeUid, -}: EditorComponentProps): React.ReactElement { - const node = useBuilderNode<$PascalBrickName$Properties>({ nodeUid }); - /** - * 提示:使用构件的属性配置来呈现该构件的关键 UI 特征。 - * 例如:对于按钮构件,根据 `buttonType` 来显示对应的背景色。 - */ - // const { someProps } = node.$$parsedProperties; - return ( - -
{node.alias}
-
- ); -} - -customElements.define( - "$kebab-brick-name$--editor", - EditorElementFactory($PascalBrickName$Editor, { - selfLayout: EditorSelfLayout.INLINE, - }) -);