diff --git a/.babelrc b/.babelrc index f9678fa8203e2b..13dcd2edfb7efd 100644 --- a/.babelrc +++ b/.babelrc @@ -8,7 +8,6 @@ ], "plugins": [ "lodash", - "transform-runtime", "transform-object-rest-spread", [ "transform-react-jsx", { "pragma": "wp.element.createElement" @@ -18,6 +17,11 @@ } ] ], "env": { + "default": { + "plugins": [ + "transform-runtime" + ] + }, "test": { "presets": [ "latest" ] } diff --git a/blocks/categories.js b/blocks/api/categories.js similarity index 100% rename from blocks/categories.js rename to blocks/api/categories.js diff --git a/blocks/api/index.js b/blocks/api/index.js new file mode 100644 index 00000000000000..3abf5b70d8385a --- /dev/null +++ b/blocks/api/index.js @@ -0,0 +1,17 @@ +/** + * External dependencies + */ +import * as query from 'hpq'; + +export { query }; +export { default as parse } from './parser'; +export { default as serialize } from './serializer'; +export { getCategories } from './categories'; +export { + registerBlock, + unregisterBlock, + setUnknownTypeHandler, + getUnknownTypeHandler, + getBlockSettings, + getBlocks +} from './registration'; diff --git a/blocks/parser.js b/blocks/api/parser.js similarity index 100% rename from blocks/parser.js rename to blocks/api/parser.js diff --git a/blocks/post.pegjs b/blocks/api/post.pegjs similarity index 100% rename from blocks/post.pegjs rename to blocks/api/post.pegjs diff --git a/blocks/registration.js b/blocks/api/registration.js similarity index 100% rename from blocks/registration.js rename to blocks/api/registration.js diff --git a/blocks/serializer.js b/blocks/api/serializer.js similarity index 100% rename from blocks/serializer.js rename to blocks/api/serializer.js diff --git a/blocks/test/parser.js b/blocks/api/test/parser.js similarity index 100% rename from blocks/test/parser.js rename to blocks/api/test/parser.js diff --git a/blocks/test/registration.js b/blocks/api/test/registration.js similarity index 100% rename from blocks/test/registration.js rename to blocks/api/test/registration.js diff --git a/blocks/test/serializer.js b/blocks/api/test/serializer.js similarity index 100% rename from blocks/test/serializer.js rename to blocks/api/test/serializer.js diff --git a/blocks/components/index.js b/blocks/components/index.js new file mode 100644 index 00000000000000..c705635de2b5f8 --- /dev/null +++ b/blocks/components/index.js @@ -0,0 +1 @@ +export { default as Editable } from './editable'; diff --git a/blocks/index.js b/blocks/index.js index 42a732768df987..c72da46d5c8282 100644 --- a/blocks/index.js +++ b/blocks/index.js @@ -1,18 +1,7 @@ /** - * External dependencies + * Internal dependencies */ -import * as query from 'hpq'; +import './library'; -export { query }; -export { default as Editable } from './components/editable'; -export { default as parse } from './parser'; -export { default as serialize } from './serializer'; -export { getCategories } from './categories'; -export { - registerBlock, - unregisterBlock, - setUnknownTypeHandler, - getUnknownTypeHandler, - getBlockSettings, - getBlocks -} from './registration'; +export * from './api'; +export * from './components'; diff --git a/editor/blocks/freeform/index.js b/blocks/library/freeform/index.js similarity index 61% rename from editor/blocks/freeform/index.js rename to blocks/library/freeform/index.js index 0de794755a0763..6869417377fe15 100644 --- a/editor/blocks/freeform/index.js +++ b/blocks/library/freeform/index.js @@ -1,6 +1,11 @@ -const { html } = wp.blocks.query; +/** + * Internal dependencies + */ +import { registerBlock, query, setUnknownTypeHandler } from 'api'; -wp.blocks.registerBlock( 'core/freeform', { +const { html } = query; + +registerBlock( 'core/freeform', { title: wp.i18n.__( 'Freeform' ), icon: 'text', @@ -27,4 +32,4 @@ wp.blocks.registerBlock( 'core/freeform', { } } ); -wp.blocks.setUnknownTypeHandler( 'core/freeform' ); +setUnknownTypeHandler( 'core/freeform' ); diff --git a/editor/blocks/image/index.js b/blocks/library/image/index.js similarity index 83% rename from editor/blocks/image/index.js rename to blocks/library/image/index.js index 5b2f50f4afebf6..1705bbcdd0d8cf 100644 --- a/editor/blocks/image/index.js +++ b/blocks/library/image/index.js @@ -1,7 +1,12 @@ -const { attr, html } = wp.blocks.query; -const Editable = wp.blocks.Editable; +/** + * Internal dependencies + */ +import { registerBlock, query } from 'api'; +import Editable from 'components/editable'; -wp.blocks.registerBlock( 'core/image', { +const { attr, html } = query; + +registerBlock( 'core/image', { title: wp.i18n.__( 'Image' ), icon: 'format-image', diff --git a/editor/blocks/index.js b/blocks/library/index.js similarity index 98% rename from editor/blocks/index.js rename to blocks/library/index.js index 13820f4777e21f..3402384178f1ec 100644 --- a/editor/blocks/index.js +++ b/blocks/library/index.js @@ -2,4 +2,3 @@ import './freeform'; import './image'; import './text'; import './list'; - diff --git a/editor/blocks/list/index.js b/blocks/library/list/index.js similarity index 89% rename from editor/blocks/list/index.js rename to blocks/library/list/index.js index 668de776b6fceb..8caae01983dddc 100644 --- a/editor/blocks/list/index.js +++ b/blocks/library/list/index.js @@ -2,23 +2,21 @@ * Internal dependencies */ import './style.scss'; +import { registerBlock, query } from 'api'; +import Editable from 'components/editable'; -const Editable = wp.blocks.Editable; -const { html, prop } = wp.blocks.query; +const { html, prop } = query; -wp.blocks.registerBlock( 'core/list', { +registerBlock( 'core/list', { title: wp.i18n.__( 'List' ), icon: 'editor-ul', category: 'common', attributes: { listType: prop( 'ol,ul', 'nodeName' ), - items: wp.blocks.query.query( - 'li', - { - value: html() - } - ) + items: query.query( 'li', { + value: html() + } ) }, controls: [ diff --git a/editor/blocks/list/style.scss b/blocks/library/list/style.scss similarity index 100% rename from editor/blocks/list/style.scss rename to blocks/library/list/style.scss diff --git a/editor/blocks/text/index.js b/blocks/library/text/index.js similarity index 87% rename from editor/blocks/text/index.js rename to blocks/library/text/index.js index 9c1aa1c17d92be..3d3033d2181933 100644 --- a/editor/blocks/text/index.js +++ b/blocks/library/text/index.js @@ -1,7 +1,12 @@ -const { html, prop } = wp.blocks.query; -const Editable = wp.blocks.Editable; +/** + * Internal dependencies + */ +import { registerBlock, query } from 'api'; +import Editable from 'components/editable'; -wp.blocks.registerBlock( 'core/text', { +const { html, prop } = query; + +registerBlock( 'core/text', { title: wp.i18n.__( 'Text' ), icon: 'text', diff --git a/editor/index.js b/editor/index.js index f3f748c43f6779..5c9b8ab0d4c4b8 100644 --- a/editor/index.js +++ b/editor/index.js @@ -7,7 +7,6 @@ import { Provider } from 'react-redux'; * Internal dependencies */ import './assets/stylesheets/main.scss'; -import './blocks'; import Layout from './layout'; import { createReduxStore } from './state'; diff --git a/languages/gutenberg.pot b/languages/gutenberg.pot index 9450af1d7e7c10..133b80831202d0 100644 --- a/languages/gutenberg.pot +++ b/languages/gutenberg.pot @@ -3,38 +3,38 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "X-Generator: babel-plugin-wp-i18n\n" -#: editor/blocks/freeform/index.js:4 +#: blocks/library/freeform/index.js:9 msgid "Freeform" msgstr "" -#: editor/blocks/image/index.js:26 -msgid "Write caption…" +#: blocks/library/image/index.js:10 +msgid "Image" msgstr "" -#: editor/blocks/image/index.js:5 -msgid "Image" +#: blocks/library/image/index.js:31 +msgid "Write caption…" msgstr "" -#: editor/blocks/list/index.js:10 +#: blocks/library/list/index.js:11 msgid "List" msgstr "" -#: editor/blocks/list/index.js:27 -#: editor/blocks/text/index.js:19 +#: blocks/library/list/index.js:25 +#: blocks/library/text/index.js:24 msgid "Align left" msgstr "" -#: editor/blocks/list/index.js:35 -#: editor/blocks/text/index.js:27 +#: blocks/library/list/index.js:33 +#: blocks/library/text/index.js:32 msgid "Align center" msgstr "" -#: editor/blocks/list/index.js:43 -#: editor/blocks/text/index.js:35 +#: blocks/library/list/index.js:41 +#: blocks/library/text/index.js:40 msgid "Align right" msgstr "" -#: editor/blocks/list/index.js:51 +#: blocks/library/list/index.js:49 msgid "Justify" msgstr "" diff --git a/package.json b/package.json index 79c0eb1f524e18..11eff61fdee9c0 100644 --- a/package.json +++ b/package.json @@ -12,9 +12,9 @@ ], "scripts": { "test-unit": "cross-env NODE_ENV=test webpack && mocha build --require bootstrap-test.js", - "build": "cross-env NODE_ENV=production webpack", + "build": "cross-env BABEL_ENV=default NODE_ENV=production webpack", "lint": "eslint .", - "dev": "webpack --watch", + "dev": "cross-env BABEL_ENV=default webpack --watch", "test": "npm run lint && npm run test-unit" }, "devDependencies": {