From 395cc2512da0a9dd9049ca40937b618b691dd830 Mon Sep 17 00:00:00 2001 From: Luigi Teschio Date: Wed, 11 Sep 2024 09:54:30 +0200 Subject: [PATCH 1/7] Add @wordpress/fields package --- docs/manifest.json | 6 +++ package-lock.json | 26 +++++++++++++ package.json | 1 + packages/fields/.npmrc | 1 + packages/fields/CHANGELOG.md | 5 +++ packages/fields/README.md | 23 ++++++++++++ packages/fields/package.json | 41 +++++++++++++++++++++ packages/fields/src/index.ts | 8 ++++ packages/fields/src/lock-unlock.ts | 10 +++++ packages/fields/tsconfig.json | 24 ++++++++++++ packages/private-apis/src/implementation.js | 1 + tsconfig.json | 1 + 12 files changed, 147 insertions(+) create mode 100644 packages/fields/.npmrc create mode 100644 packages/fields/CHANGELOG.md create mode 100644 packages/fields/README.md create mode 100644 packages/fields/package.json create mode 100644 packages/fields/src/index.ts create mode 100644 packages/fields/src/lock-unlock.ts create mode 100644 packages/fields/tsconfig.json diff --git a/docs/manifest.json b/docs/manifest.json index e4eba19d99fa2..d7f74d47995b6 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -1697,6 +1697,12 @@ "markdown_source": "../packages/eslint-plugin/README.md", "parent": "packages" }, + { + "title": "@wordpress/fields", + "slug": "packages-fields", + "markdown_source": "../packages/fields/README.md", + "parent": "packages" + }, { "title": "@wordpress/format-library", "slug": "packages-format-library", diff --git a/package-lock.json b/package-lock.json index b9e116f15388b..4ca6d143acd4b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,6 +40,7 @@ "@wordpress/editor": "file:packages/editor", "@wordpress/element": "file:packages/element", "@wordpress/escape-html": "file:packages/escape-html", + "@wordpress/fields": "file:packages/fields", "@wordpress/format-library": "file:packages/format-library", "@wordpress/hooks": "file:packages/hooks", "@wordpress/html-entities": "file:packages/html-entities", @@ -17028,6 +17029,10 @@ "resolved": "packages/eslint-plugin", "link": true }, + "node_modules/@wordpress/fields": { + "resolved": "packages/fields", + "link": true + }, "node_modules/@wordpress/format-library": { "resolved": "packages/format-library", "link": true @@ -53890,6 +53895,21 @@ } } }, + "packages/fields": { + "name": "@wordpress/fields", + "version": "0.0.1", + "license": "GPL-2.0-or-later", + "dependencies": { + "@babel/runtime": "^7.16.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, "packages/format-library": { "name": "@wordpress/format-library", "version": "5.7.0", @@ -68447,6 +68467,12 @@ "requireindex": "^1.2.0" } }, + "@wordpress/fields": { + "version": "file:packages/fields", + "requires": { + "@babel/runtime": "^7.16.0" + } + }, "@wordpress/format-library": { "version": "file:packages/format-library", "requires": { diff --git a/package.json b/package.json index 22cdf2ce7acc8..63d42613c3197 100644 --- a/package.json +++ b/package.json @@ -52,6 +52,7 @@ "@wordpress/editor": "file:packages/editor", "@wordpress/element": "file:packages/element", "@wordpress/escape-html": "file:packages/escape-html", + "@wordpress/fields": "file:packages/fields", "@wordpress/format-library": "file:packages/format-library", "@wordpress/hooks": "file:packages/hooks", "@wordpress/html-entities": "file:packages/html-entities", diff --git a/packages/fields/.npmrc b/packages/fields/.npmrc new file mode 100644 index 0000000000000..43c97e719a5a8 --- /dev/null +++ b/packages/fields/.npmrc @@ -0,0 +1 @@ +package-lock=false diff --git a/packages/fields/CHANGELOG.md b/packages/fields/CHANGELOG.md new file mode 100644 index 0000000000000..e04ce921cdfdc --- /dev/null +++ b/packages/fields/CHANGELOG.md @@ -0,0 +1,5 @@ + + +## Unreleased + +Initial release. diff --git a/packages/fields/README.md b/packages/fields/README.md new file mode 100644 index 0000000000000..c69c11e566c75 --- /dev/null +++ b/packages/fields/README.md @@ -0,0 +1,23 @@ +# Fields + +This package includes a set of field controls for the DataView library, designed for creating and managing data display elements within WordPress. + +## Installation + +Install the module + +```bash +npm install @wordpress/fields --save +``` + +## Usage + + + +## Contributing to this package + +This is an individual package that's part of the Gutenberg project. The project is organized as a monorepo. It's made up of multiple self-contained software packages, each with a specific purpose. The packages in this monorepo are published to [npm](https://www.npmjs.com/) and used by [WordPress](https://make.wordpress.org/core/) as well as other software projects. + +To find out more about contributing to this package or Gutenberg as a whole, please read the project's main [contributor guide](https://github.com/WordPress/gutenberg/tree/HEAD/CONTRIBUTING.md). + +

Code is Poetry.

diff --git a/packages/fields/package.json b/packages/fields/package.json new file mode 100644 index 0000000000000..4d5d33a10e5ed --- /dev/null +++ b/packages/fields/package.json @@ -0,0 +1,41 @@ +{ + "name": "@wordpress/fields", + "version": "0.0.1", + "description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).", + "author": "The WordPress Contributors", + "license": "GPL-2.0-or-later", + "keywords": [ + "wordpress", + "gutenberg", + "dataviews" + ], + "homepage": "https://github.com/WordPress/gutenberg/tree/HEAD/packages/fields/README.md", + "repository": { + "type": "git", + "url": "https://github.com/WordPress/gutenberg.git", + "directory": "packages/fields" + }, + "bugs": { + "url": "https://github.com/WordPress/gutenberg/issues" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "main": "build/index.js", + "module": "build-module/index.js", + "types": "build-types", + "sideEffects": [ + "build-style/**", + "src/**/*.scss" + ], + "dependencies": { + "@babel/runtime": "^7.16.0" + }, + "peerDependencies": { + "react": "^18.0.0" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/packages/fields/src/index.ts b/packages/fields/src/index.ts new file mode 100644 index 0000000000000..82c30d5290c28 --- /dev/null +++ b/packages/fields/src/index.ts @@ -0,0 +1,8 @@ +/** + * Internal dependencies + */ +import { lock } from './lock-unlock'; + +export const privateApis = {}; + +lock( privateApis, {} ); diff --git a/packages/fields/src/lock-unlock.ts b/packages/fields/src/lock-unlock.ts new file mode 100644 index 0000000000000..c87e7bbcd1ebf --- /dev/null +++ b/packages/fields/src/lock-unlock.ts @@ -0,0 +1,10 @@ +/** + * WordPress dependencies + */ +import { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis'; + +export const { lock, unlock } = + __dangerousOptInToUnstableAPIsOnlyForCoreModules( + 'I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.', + '@wordpress/fields' + ); diff --git a/packages/fields/tsconfig.json b/packages/fields/tsconfig.json new file mode 100644 index 0000000000000..10faef0372ae2 --- /dev/null +++ b/packages/fields/tsconfig.json @@ -0,0 +1,24 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig.json", + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "rootDir": "src", + "declarationDir": "build-types", + "checkJs": false + }, + "references": [ + { "path": "../components" }, + { "path": "../compose" }, + { "path": "../data" }, + { "path": "../element" }, + { "path": "../i18n" }, + { "path": "../icons" }, + { "path": "../primitives" }, + { "path": "../private-apis" }, + { "path": "../warning" }, + { "path": "../url" }, + { "path": "../notices" }, + { "path": "../dataviews" } + ], + "include": [ "src" ] +} diff --git a/packages/private-apis/src/implementation.js b/packages/private-apis/src/implementation.js index c268e46f669cb..13ee9873e899d 100644 --- a/packages/private-apis/src/implementation.js +++ b/packages/private-apis/src/implementation.js @@ -31,6 +31,7 @@ const CORE_MODULES_USING_PRIVATE_APIS = [ '@wordpress/reusable-blocks', '@wordpress/router', '@wordpress/dataviews', + '@wordpress/fields', ]; /** diff --git a/tsconfig.json b/tsconfig.json index 6be31e9b61bef..3ab54f66019bc 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -25,6 +25,7 @@ { "path": "packages/element" }, { "path": "packages/escape-html" }, { "path": "packages/eslint-plugin" }, + { "path": "packages/fields" }, { "path": "packages/hooks" }, { "path": "packages/html-entities" }, { "path": "packages/html-entities" }, From b00ec035d6f0c6ea57359fe61a13f55186ce5d9b Mon Sep 17 00:00:00 2001 From: Luigi Teschio Date: Wed, 11 Sep 2024 11:32:06 +0200 Subject: [PATCH 2/7] remove not used references --- packages/fields/tsconfig.json | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/packages/fields/tsconfig.json b/packages/fields/tsconfig.json index 10faef0372ae2..79aa09d0ad56e 100644 --- a/packages/fields/tsconfig.json +++ b/packages/fields/tsconfig.json @@ -6,19 +6,6 @@ "declarationDir": "build-types", "checkJs": false }, - "references": [ - { "path": "../components" }, - { "path": "../compose" }, - { "path": "../data" }, - { "path": "../element" }, - { "path": "../i18n" }, - { "path": "../icons" }, - { "path": "../primitives" }, - { "path": "../private-apis" }, - { "path": "../warning" }, - { "path": "../url" }, - { "path": "../notices" }, - { "path": "../dataviews" } - ], + "references": [], "include": [ "src" ] } From 6e71a98bba09cb47462fd67d34be7e177d93136c Mon Sep 17 00:00:00 2001 From: Luigi Teschio Date: Wed, 11 Sep 2024 11:38:56 +0200 Subject: [PATCH 3/7] add marker to generate API documentation --- packages/fields/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/fields/README.md b/packages/fields/README.md index c69c11e566c75..bf98e483404f0 100644 --- a/packages/fields/README.md +++ b/packages/fields/README.md @@ -12,6 +12,10 @@ npm install @wordpress/fields --save ## Usage + + +`. + ## Contributing to this package From 43b8a93203f6e55d6d5b1f3f7f7268283700ebb2 Mon Sep 17 00:00:00 2001 From: Luigi Teschio Date: Wed, 11 Sep 2024 12:03:12 +0200 Subject: [PATCH 4/7] improve package description --- packages/fields/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/fields/README.md b/packages/fields/README.md index bf98e483404f0..c0a2f899156fe 100644 --- a/packages/fields/README.md +++ b/packages/fields/README.md @@ -1,6 +1,6 @@ # Fields -This package includes a set of field controls for the DataView library, designed for creating and managing data display elements within WordPress. +This package provides core elements for the DataView library, designed to simplify the creation and management of data display elements in WordPress. ## Installation From 7e04069cef9dd0740119e8abf16f9d19e58f1bb5 Mon Sep 17 00:00:00 2001 From: Luigi Teschio Date: Wed, 11 Sep 2024 12:05:27 +0200 Subject: [PATCH 5/7] not use lock/unlock api --- .../dependency-extraction-webpack-plugin/lib/util.js | 1 + packages/fields/src/index.ts | 8 -------- packages/fields/src/lock-unlock.ts | 10 ---------- tools/webpack/packages.js | 1 + 4 files changed, 2 insertions(+), 18 deletions(-) delete mode 100644 packages/fields/src/index.ts delete mode 100644 packages/fields/src/lock-unlock.ts diff --git a/packages/dependency-extraction-webpack-plugin/lib/util.js b/packages/dependency-extraction-webpack-plugin/lib/util.js index ee5c2face1b9d..fcc6e5a0ed173 100644 --- a/packages/dependency-extraction-webpack-plugin/lib/util.js +++ b/packages/dependency-extraction-webpack-plugin/lib/util.js @@ -9,6 +9,7 @@ const BUNDLED_PACKAGES = [ '@wordpress/interface', '@wordpress/sync', '@wordpress/undo-manager', + '@wordpress/fields', ]; /** diff --git a/packages/fields/src/index.ts b/packages/fields/src/index.ts deleted file mode 100644 index 82c30d5290c28..0000000000000 --- a/packages/fields/src/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Internal dependencies - */ -import { lock } from './lock-unlock'; - -export const privateApis = {}; - -lock( privateApis, {} ); diff --git a/packages/fields/src/lock-unlock.ts b/packages/fields/src/lock-unlock.ts deleted file mode 100644 index c87e7bbcd1ebf..0000000000000 --- a/packages/fields/src/lock-unlock.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * WordPress dependencies - */ -import { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis'; - -export const { lock, unlock } = - __dangerousOptInToUnstableAPIsOnlyForCoreModules( - 'I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.', - '@wordpress/fields' - ); diff --git a/tools/webpack/packages.js b/tools/webpack/packages.js index 055665c2feb1c..a1610d0a5ba54 100644 --- a/tools/webpack/packages.js +++ b/tools/webpack/packages.js @@ -34,6 +34,7 @@ const BUNDLED_PACKAGES = [ '@wordpress/interface', '@wordpress/sync', '@wordpress/undo-manager', + '@wordpress/fields', ]; // PHP files in packages that have to be copied during build. From e5fd36182c66b4002177f78f79b3a3c973f78ed8 Mon Sep 17 00:00:00 2001 From: Luigi Teschio Date: Wed, 11 Sep 2024 12:10:18 +0200 Subject: [PATCH 6/7] remove apostrophe --- packages/fields/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/fields/README.md b/packages/fields/README.md index c0a2f899156fe..71ba9e882595d 100644 --- a/packages/fields/README.md +++ b/packages/fields/README.md @@ -14,7 +14,7 @@ npm install @wordpress/fields --save -`. + From 9bfd08fff59ff8c2526eac2930239f1dc87a8d4c Mon Sep 17 00:00:00 2001 From: Luigi Teschio Date: Wed, 11 Sep 2024 14:44:56 +0200 Subject: [PATCH 7/7] fix build --- packages/fields/README.md | 4 ++-- packages/fields/src/index.ts | 0 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 packages/fields/src/index.ts diff --git a/packages/fields/README.md b/packages/fields/README.md index 71ba9e882595d..c5044d1e9fdd2 100644 --- a/packages/fields/README.md +++ b/packages/fields/README.md @@ -14,9 +14,9 @@ npm install @wordpress/fields --save - - +Nothing to document. + ## Contributing to this package diff --git a/packages/fields/src/index.ts b/packages/fields/src/index.ts new file mode 100644 index 0000000000000..e69de29bb2d1d