From 75bea2790cffcfe2ffc9ca46d82748e3e85674fc Mon Sep 17 00:00:00 2001 From: Jeff Puzzo <96431149+jeffpuzzo@users.noreply.github.com> Date: Mon, 12 Dec 2022 14:03:36 -0500 Subject: [PATCH] fix: Remove package exports and replace subpaths script (#8438) * fix: Remove package exports and replace subpaths script * adding more subpaths in the event 'next' or 'deprecated' have relative paths --- package.json | 3 ++- packages/react-core/.gitignore | 5 +++++ packages/react-core/package.json | 10 ++-------- packages/react-core/scripts/copySubpaths.js | 12 ++++++++++++ packages/react-core/tsconfig.json | 9 +++------ packages/react-table/.gitignore | 2 ++ packages/react-table/package.json | 8 ++------ packages/react-table/scripts/copySubpaths.js | 12 ++++++++++++ 8 files changed, 40 insertions(+), 21 deletions(-) create mode 100644 packages/react-core/.gitignore create mode 100644 packages/react-core/scripts/copySubpaths.js create mode 100644 packages/react-table/.gitignore create mode 100644 packages/react-table/scripts/copySubpaths.js diff --git a/package.json b/package.json index 1ddbb6d63ae..bd2f42601d8 100644 --- a/package.json +++ b/package.json @@ -67,12 +67,13 @@ "typescript": "^4.0.0" }, "scripts": { - "build": "yarn build:generate && yarn build:esm && yarn build:cjs", + "build": "yarn build:generate && yarn build:esm && yarn build:subpaths && yarn build:cjs", "build:cjs": "tsc --build --verbose packages/tsconfig.cjs.json", "build:esm": "tsc --build --verbose packages/tsconfig.json", "build:integration": "lerna run build:demo-app --stream", "build:docs": "yarn workspace @patternfly/react-docs build:docs", "build:generate": "lerna run generate --parallel --stream", + "build:subpaths": "lerna run subpaths --parallel --stream", "build:umd": "lerna run build:umd --parallel --stream", "clean": "yarn clean:build && lerna run clean --parallel", "clean:build": "rimraf .cache .eslintcache coverage", diff --git a/packages/react-core/.gitignore b/packages/react-core/.gitignore new file mode 100644 index 00000000000..77cfc55e590 --- /dev/null +++ b/packages/react-core/.gitignore @@ -0,0 +1,5 @@ +/next +/deprecated +/components +/layouts +/helpers \ No newline at end of file diff --git a/packages/react-core/package.json b/packages/react-core/package.json index 5ecf9a9c825..9d725e80074 100644 --- a/packages/react-core/package.json +++ b/packages/react-core/package.json @@ -5,13 +5,6 @@ "main": "dist/js/index.js", "module": "dist/esm/index.js", "types": "dist/esm/index.d.ts", - "exports": { - ".": "./dist/esm/index.js", - "./dist/*": "./dist/*", - "./next": "./dist/esm/next", - "./deprecated": "./dist/esm/deprecated", - "./package.json": "./package.json" - }, "typesVersions": { "*": { "next": [ @@ -48,7 +41,8 @@ "scripts": { "build:umd": "rollup -c --environment IS_PRODUCTION", "clean": "rimraf dist", - "generate": "node scripts/copyStyles.js" + "generate": "node scripts/copyStyles.js", + "subpaths": "node scripts/copySubpaths.js" }, "dependencies": { "@patternfly/react-icons": "^4.93.3", diff --git a/packages/react-core/scripts/copySubpaths.js b/packages/react-core/scripts/copySubpaths.js new file mode 100644 index 00000000000..cffb00dd7ce --- /dev/null +++ b/packages/react-core/scripts/copySubpaths.js @@ -0,0 +1,12 @@ +/** + * Copy subpath modules into the package root directory for ease of access. + */ +const { copySync } = require('fs-extra'); +const { resolve, dirname } = require('path'); + +['next', 'deprecated', 'components', 'layouts', 'helpers'].forEach(subPathName => { + const source = dirname(require.resolve(`@patternfly/react-core/dist/esm/${subPathName}`)); + const destination = resolve(__dirname, `../${subPathName}`); + + copySync(source, destination); +}); diff --git a/packages/react-core/tsconfig.json b/packages/react-core/tsconfig.json index 0debb1580c3..3a4be05f922 100644 --- a/packages/react-core/tsconfig.json +++ b/packages/react-core/tsconfig.json @@ -7,14 +7,11 @@ "tsBuildInfoFile": "dist/esm.tsbuildinfo", "baseUrl": ".", "paths": { - "*/next": ["./src/next"], - "*/deprecated": ["./src/deprecated"], + "./next": ["./src/next"], + "./deprecated": ["./src/deprecated"] } }, - "include": [ - "./src/*", - "./src/**/*" - ], + "include": ["./src/*", "./src/**/*"], "references": [ { "path": "../react-styles" diff --git a/packages/react-table/.gitignore b/packages/react-table/.gitignore new file mode 100644 index 00000000000..480a54dbfce --- /dev/null +++ b/packages/react-table/.gitignore @@ -0,0 +1,2 @@ +/deprecated +/components \ No newline at end of file diff --git a/packages/react-table/package.json b/packages/react-table/package.json index c1cf2a1747d..d0b2b95189e 100644 --- a/packages/react-table/package.json +++ b/packages/react-table/package.json @@ -5,11 +5,6 @@ "main": "dist/js/index.js", "module": "dist/esm/index.js", "types": "dist/esm/index.d.ts", - "exports": { - ".": "./dist/esm/index.js", - "./deprecated": "./dist/esm/deprecated/index.js", - "./package.json": "./package.json" - }, "typesVersions": { "*": { "deprecated": [ @@ -40,7 +35,8 @@ "homepage": "https://github.com/patternfly/patternfly-react/tree/main/packages/react-table#readme", "scripts": { "build:umd": "rollup -c --environment IS_PRODUCTION", - "clean": "rimraf dist" + "clean": "rimraf dist", + "subpaths": "node scripts/copySubpaths.js" }, "dependencies": { "@patternfly/react-core": "^4.267.5", diff --git a/packages/react-table/scripts/copySubpaths.js b/packages/react-table/scripts/copySubpaths.js new file mode 100644 index 00000000000..ff6ef28fc38 --- /dev/null +++ b/packages/react-table/scripts/copySubpaths.js @@ -0,0 +1,12 @@ +/** + * Copy subpath modules into the package root directory for ease of access. + */ +const { copySync } = require('fs-extra'); +const { resolve, dirname } = require('path'); + +['deprecated', 'components'].forEach(subPathName => { + const source = dirname(require.resolve(`@patternfly/react-table/dist/esm/${subPathName}`)); + const destination = resolve(__dirname, `../${subPathName}`); + + copySync(source, destination); +});