From 8657a0df1d4bb881a86dfd3a7dab062b85ebf226 Mon Sep 17 00:00:00 2001 From: Austin Sullivan Date: Fri, 2 Feb 2024 15:31:50 -0500 Subject: [PATCH 1/3] chore(build): add script to stop exporting demos in built files --- package.json | 3 ++- packages/react-core/package.json | 3 ++- packages/react-core/scripts/cleanDistExports.js | 13 +++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 packages/react-core/scripts/cleanDistExports.js diff --git a/package.json b/package.json index f8c3db8b07e..9d88f652800 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "ts-node": "^10.9.1" }, "scripts": { - "build": "yarn clean && yarn build:generate && yarn build:esm && yarn build:cjs && yarn build:subpaths && yarn build:single:packages", + "build": "yarn clean && yarn build:generate && yarn build:esm && yarn build:cjs && yarn build:subpaths && yarn build:single:packages && yarn clean:exports", "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", @@ -80,6 +80,7 @@ "build:single:packages": "lerna run build:single:packages", "clean": "yarn clean:build && lerna run clean --parallel", "clean:build": "rimraf .cache .eslintcache coverage", + "clean:exports": "lerna run clean:exports --parallel --stream", "generate": "yarn plop", "lint": "node --max-old-space-size=4096 node_modules/.bin/eslint --ext js,jsx,ts,tsx --cache", "lint:all": "yarn lint:md && yarn lint:versions && yarn lint:ts", diff --git a/packages/react-core/package.json b/packages/react-core/package.json index 7faddccd809..75fcbde563d 100644 --- a/packages/react-core/package.json +++ b/packages/react-core/package.json @@ -42,7 +42,8 @@ "build:single:packages": "node ../../scripts/build-single-packages.js --config single-packages.config.json", "clean": "rimraf dist components layouts helpers next deprecated node_modules", "generate": "node scripts/copyStyles.js", - "subpaths": "node ../../scripts/exportSubpaths.js --config subpaths.config.json" + "subpaths": "node ../../scripts/exportSubpaths.js --config subpaths.config.json", + "clean:exports": "node scripts/cleanDistExports.js" }, "dependencies": { "@patternfly/react-icons": "^5.2.0-prerelease.9", diff --git a/packages/react-core/scripts/cleanDistExports.js b/packages/react-core/scripts/cleanDistExports.js new file mode 100644 index 00000000000..8c3527d6daf --- /dev/null +++ b/packages/react-core/scripts/cleanDistExports.js @@ -0,0 +1,13 @@ +const fs = require('fs'); +const path = require('path'); + +const distIndexFiles = ['esm', 'js'].map((dir) => path.join(process.cwd(), 'dist', dir, 'index.js')); + +distIndexFiles.forEach((file) => { + const fileContents = fs.readFileSync(file, 'utf8'); + const newFileContents = fileContents + .split('\n') + .filter((line) => !line.includes('demos')) + .join('\n'); + fs.writeFileSync(file, newFileContents); +}); From 2d2bfa662762769a5bd9eae37ef8d6c7505e0bd7 Mon Sep 17 00:00:00 2001 From: Austin Sullivan Date: Fri, 2 Feb 2024 15:41:33 -0500 Subject: [PATCH 2/3] chore(build): update to remove demo exports from shipped TS files also --- packages/react-core/scripts/cleanDistExports.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/react-core/scripts/cleanDistExports.js b/packages/react-core/scripts/cleanDistExports.js index 8c3527d6daf..58e4dcd07f2 100644 --- a/packages/react-core/scripts/cleanDistExports.js +++ b/packages/react-core/scripts/cleanDistExports.js @@ -2,8 +2,9 @@ const fs = require('fs'); const path = require('path'); const distIndexFiles = ['esm', 'js'].map((dir) => path.join(process.cwd(), 'dist', dir, 'index.js')); +const distIndexDeclarationFiles = ['esm', 'js'].map((dir) => path.join(process.cwd(), 'dist', dir, 'index.d.ts')); -distIndexFiles.forEach((file) => { +[...distIndexFiles, ...distIndexDeclarationFiles].forEach((file) => { const fileContents = fs.readFileSync(file, 'utf8'); const newFileContents = fileContents .split('\n') From c627aa1c2da8089f5b6785c9f279975733e302a9 Mon Sep 17 00:00:00 2001 From: Austin Sullivan Date: Fri, 2 Feb 2024 15:53:51 -0500 Subject: [PATCH 3/3] chore(ci): update deployment to clean exports of demos --- .github/workflows/release.yml | 16 +--------------- package.json | 2 +- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6285416ac42..074954e5150 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -335,22 +335,8 @@ jobs: key: ${{ runner.os }}-yarn-14-${{ secrets.CACHE_VERSION }}-${{ hashFiles('yarn.lock') }} - run: yarn install --frozen-lockfile if: steps.yarn-cache.outputs.cache-hit != 'true' - - uses: actions/cache@v2 - id: dist - name: Cache dist - with: - path: | - packages/*/dist - packages/*/next - packages/*/deprecated - packages/*/components - packages/react-styles/css - packages/react-core/layouts - packages/react-core/helpers - key: ${{ runner.os }}-dist-14-${{ secrets.CACHE_VERSION }}-${{ hashFiles('yarn.lock', 'package.json', 'packages/*/*', '!packages/*/dist', '!packages/*/node_modules') }} - name: Build dist - run: yarn build && yarn build:umd + run: yarn build && yarn build:umd && yarn clean:exports if: steps.dist.outputs.cache-hit != 'true' - name: Deploy to NPM and Github run: .github/release.sh - diff --git a/package.json b/package.json index 9d88f652800..7c4fd7f5c0f 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "ts-node": "^10.9.1" }, "scripts": { - "build": "yarn clean && yarn build:generate && yarn build:esm && yarn build:cjs && yarn build:subpaths && yarn build:single:packages && yarn clean:exports", + "build": "yarn clean && yarn build:generate && yarn build:esm && yarn build:cjs && yarn build:subpaths && yarn build:single:packages", "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",