From 947b3f19a52e9e61a53a96eb61e581691da508c7 Mon Sep 17 00:00:00 2001 From: Joel Date: Wed, 8 Mar 2023 13:48:45 -0800 Subject: [PATCH] Changing block.ts to block.json and amending TS config to support --- .../components/details-name-block/block.json | 23 +++++++++++++++++++ .../{name => details-name-block}/edit.tsx | 2 +- .../{name => details-name-block}/index.ts | 2 +- .../src/components/editor/init-blocks.ts | 2 +- .../src/components/name/block.ts | 23 ------------------- .../src/utils/parse-product-to-blocks.ts | 2 +- packages/js/product-editor/tsconfig-cjs.json | 7 +++++- packages/js/product-editor/tsconfig.json | 7 +++++- 8 files changed, 39 insertions(+), 29 deletions(-) create mode 100644 packages/js/product-editor/src/components/details-name-block/block.json rename packages/js/product-editor/src/components/{name => details-name-block}/edit.tsx (97%) rename packages/js/product-editor/src/components/{name => details-name-block}/index.ts (88%) delete mode 100644 packages/js/product-editor/src/components/name/block.ts diff --git a/packages/js/product-editor/src/components/details-name-block/block.json b/packages/js/product-editor/src/components/details-name-block/block.json new file mode 100644 index 0000000000000..920e5956645e0 --- /dev/null +++ b/packages/js/product-editor/src/components/details-name-block/block.json @@ -0,0 +1,23 @@ +{ + "$schema": "https://schemas.wp.org/trunk/block.json", + "apiVersion": 2, + "name": "woocommerce/product-name", + "title": "Product name", + "category": "widgets", + "description": "The product name.", + "keywords": [ "products", "name", "title" ], + "textdomain": "default", + "attributes": { + "name": { + "type": "string" + } + }, + "supports": { + "align": false, + "html": false, + "multiple": false, + "reusable": false, + "inserter": false, + "lock": false + } +} diff --git a/packages/js/product-editor/src/components/name/edit.tsx b/packages/js/product-editor/src/components/details-name-block/edit.tsx similarity index 97% rename from packages/js/product-editor/src/components/name/edit.tsx rename to packages/js/product-editor/src/components/details-name-block/edit.tsx index 0be002f96534f..3c18544da4b06 100644 --- a/packages/js/product-editor/src/components/name/edit.tsx +++ b/packages/js/product-editor/src/components/details-name-block/edit.tsx @@ -31,7 +31,7 @@ export function Edit() { name={ 'woocommerce-product-name' } placeholder={ __( 'e.g. 12 oz Coffee Mug', 'woocommerce' ) } onChange={ setName } - value={ name } + value={ name || '' } /> ); diff --git a/packages/js/product-editor/src/components/name/index.ts b/packages/js/product-editor/src/components/details-name-block/index.ts similarity index 88% rename from packages/js/product-editor/src/components/name/index.ts rename to packages/js/product-editor/src/components/details-name-block/index.ts index 2c1426c60c151..f0c73e48b2bf0 100644 --- a/packages/js/product-editor/src/components/name/index.ts +++ b/packages/js/product-editor/src/components/details-name-block/index.ts @@ -2,7 +2,7 @@ * Internal dependencies */ import { initBlock } from '../../utils'; -import metadata from './block'; +import metadata from './block.json'; import { Edit } from './edit'; const { name } = metadata; diff --git a/packages/js/product-editor/src/components/editor/init-blocks.ts b/packages/js/product-editor/src/components/editor/init-blocks.ts index cd4b9044fbe7b..b7e3584fbe144 100644 --- a/packages/js/product-editor/src/components/editor/init-blocks.ts +++ b/packages/js/product-editor/src/components/editor/init-blocks.ts @@ -1,7 +1,7 @@ /** * Internal dependencies */ -import { init as initName } from '../name'; +import { init as initName } from '../details-name-block'; export const initBlocks = () => { initName(); diff --git a/packages/js/product-editor/src/components/name/block.ts b/packages/js/product-editor/src/components/name/block.ts deleted file mode 100644 index 7c8c46e0ac0fe..0000000000000 --- a/packages/js/product-editor/src/components/name/block.ts +++ /dev/null @@ -1,23 +0,0 @@ -export default { - $schema: 'https://schemas.wp.org/trunk/block.json', - apiVersion: 2, - name: 'woocommerce/product-name', - title: 'Product name', - category: 'widgets', - description: 'The product name.', - keywords: [ 'products', 'name', 'title' ], - textdomain: 'default', - attributes: { - name: { - type: 'string', - }, - }, - supports: { - align: false, - html: false, - multiple: false, - reusable: false, - inserter: false, - lock: false, - }, -}; diff --git a/packages/js/product-editor/src/utils/parse-product-to-blocks.ts b/packages/js/product-editor/src/utils/parse-product-to-blocks.ts index dde90fb52adb3..145495bbdf45f 100644 --- a/packages/js/product-editor/src/utils/parse-product-to-blocks.ts +++ b/packages/js/product-editor/src/utils/parse-product-to-blocks.ts @@ -7,7 +7,7 @@ import { BlockInstance, createBlock } from '@wordpress/blocks'; /** * Internal dependencies */ -import nameBlock from '../components/name/block'; +import nameBlock from '../components/details-name-block/block.json'; export function parseProductToBlocks( product: Partial< Product > ) { const blocks: BlockInstance[] = []; diff --git a/packages/js/product-editor/tsconfig-cjs.json b/packages/js/product-editor/tsconfig-cjs.json index 035d2318baf63..6af863da44e4c 100644 --- a/packages/js/product-editor/tsconfig-cjs.json +++ b/packages/js/product-editor/tsconfig-cjs.json @@ -1,6 +1,11 @@ { "extends": "../tsconfig-cjs", + "include": [ + "**/*", + "src/**/*.json" + ], "compilerOptions": { - "outDir": "build" + "outDir": "build", + "resolveJsonModule": true, } } diff --git a/packages/js/product-editor/tsconfig.json b/packages/js/product-editor/tsconfig.json index ea9f201d40126..76051e1535c33 100644 --- a/packages/js/product-editor/tsconfig.json +++ b/packages/js/product-editor/tsconfig.json @@ -1,10 +1,15 @@ { "extends": "../tsconfig", + "include": [ + "**/*", + "src/**/*.json" + ], "compilerOptions": { "rootDir": "src", "outDir": "build-module", "declaration": true, "declarationMap": true, - "declarationDir": "./build-types" + "declarationDir": "./build-types", + "resolveJsonModule": true, } }