From 67a1c64f477a536b026e97606bdaf319117b5824 Mon Sep 17 00:00:00 2001 From: Ivana Rodriguez Date: Tue, 23 Sep 2025 14:21:50 -0400 Subject: [PATCH 1/6] feat: publish package on tag creation --- .github/workflows/publish | 34 ++++++++++++++++++++++++++++++++++ .nvmrc | 1 + package.json | 12 +++++++++--- 3 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/publish create mode 100644 .nvmrc diff --git a/.github/workflows/publish b/.github/workflows/publish new file mode 100644 index 0000000..59a15b5 --- /dev/null +++ b/.github/workflows/publish @@ -0,0 +1,34 @@ +name: Publish Patternfly React Renderer to NPM + +on: + push: + tags: + - '@rhngui/patternfly-react-renderer@*' + +jobs: + publish: + name: Publish package + runs-on: ubuntu-latest + defaults: + run: + working-directory: libs_js/next_gen_ui_react + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Use Node.js + uses: actions/setup-node@v4 + with: + node-version-file: 'libs_js/next_gen_ui_react/.nvmrc' + registry-url: 'https://registry.npmjs.org' + + - name: Install dependencies + run: npm ci + + - name: Build + run: npm run build + + - name: Publish to npm + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + run: npm publish --access public \ No newline at end of file diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..8fdd954 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +22 \ No newline at end of file diff --git a/package.json b/package.json index a47751c..f539deb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,8 @@ { - "name": "dynamicui", + "name": "@rhngui/patternfly-react-renderer", "private": false, "version": "0.0.1", + "description": "Patternfly React component wrappers for the Next Gen UI Agent", "type": "module", "main": "dist/index.cjs.js", "module": "dist/index.es.js", @@ -12,6 +13,10 @@ "LICENSE" ], "license": "Apache-2.0", + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + }, "exports": { "import": "./dist/index.es.js", "require": "./dist/index.cjs.js" @@ -24,7 +29,8 @@ "type-check": "tsc --noEmit", "lint": "eslint .", "preview": "vite preview", - "prepack": "cp -f ../../LICENSE ./LICENSE" + "prepack": "cp -f ../../LICENSE ./LICENSE", + "prepublishOnly": "npm run build" }, "dependencies": { "@patternfly/chatbot": "^6.3.2", @@ -61,4 +67,4 @@ "vite": "^7.1.0", "vitest": "^3.1.3" } -} +} \ No newline at end of file From 17585044b331ebfab84496347d6f2134f21fbeae Mon Sep 17 00:00:00 2001 From: Ivana Rodriguez Date: Tue, 23 Sep 2025 15:44:28 -0400 Subject: [PATCH 2/6] refactor: use pre-release version and simplify tag name trigger --- .github/workflows/publish | 7 ++----- package.json | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish b/.github/workflows/publish index 59a15b5..e26d3e2 100644 --- a/.github/workflows/publish +++ b/.github/workflows/publish @@ -3,15 +3,12 @@ name: Publish Patternfly React Renderer to NPM on: push: tags: - - '@rhngui/patternfly-react-renderer@*' + - 'v*' jobs: publish: name: Publish package runs-on: ubuntu-latest - defaults: - run: - working-directory: libs_js/next_gen_ui_react steps: - name: Checkout uses: actions/checkout@v4 @@ -19,7 +16,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v4 with: - node-version-file: 'libs_js/next_gen_ui_react/.nvmrc' + node-version-file: '.nvmrc' registry-url: 'https://registry.npmjs.org' - name: Install dependencies diff --git a/package.json b/package.json index f539deb..6a42693 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@rhngui/patternfly-react-renderer", "private": false, - "version": "0.0.1", + "version": "1.0.0-alpha.0", "description": "Patternfly React component wrappers for the Next Gen UI Agent", "type": "module", "main": "dist/index.cjs.js", From 5f88a10fc15105ec04660c4837c1afe682490e67 Mon Sep 17 00:00:00 2001 From: Ivana Rodriguez Date: Tue, 23 Sep 2025 15:49:32 -0400 Subject: [PATCH 3/6] feat: mark react and react dom as peer dependencies --- package.json | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 6a42693..146f724 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,10 @@ "import": "./dist/index.es.js", "require": "./dist/index.cjs.js" }, + "peerDependencies": { + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, "scripts": { "dev": "vite", "build": "vite build", @@ -39,8 +43,6 @@ "@patternfly/react-core": "^6.3.1", "@patternfly/react-icons": "^6.3.1", "@patternfly/react-table": "^6.2.2", - "react": "^18.3.1", - "react-dom": "^18.3.1", "react-markdown": "^10.1.0", "remark-gfm": "^4.0.1", "victory": "^37.3.6", @@ -52,8 +54,8 @@ "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.6.1", "@types/lodash": "^4.17.16", - "@types/react": "^19.1.9", - "@types/react-dom": "^19.1.7", + "@types/react": "^18.3.1", + "@types/react-dom": "^18.3.1", "@vitejs/plugin-react": "^4.7.0", "eslint": "^9.32.0", "eslint-plugin-import": "^2.31.0", @@ -62,6 +64,8 @@ "globals": "^16.3.0", "jsdom": "^26.1.0", "lodash": "^4.17.21", + "react": "^18.3.1", + "react-dom": "^18.3.1", "typescript": "~5.8.3", "typescript-eslint": "^8.39.0", "vite": "^7.1.0", From 98b262178d41502525bc8bf67788dcf2f2d0b1c7 Mon Sep 17 00:00:00 2001 From: Ivana Rodriguez Date: Tue, 23 Sep 2025 15:53:24 -0400 Subject: [PATCH 4/6] chore: update package lock file --- package-lock.json | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index d7a4942..0e94b9e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,13 @@ { - "name": "dynamicui", - "version": "0.0.1", + "name": "@rhngui/patternfly-react-renderer", + "version": "1.0.0-alpha.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "dynamicui", - "version": "0.0.1", + "name": "@rhngui/patternfly-react-renderer", + "version": "1.0.0-alpha.0", + "license": "Apache-2.0", "dependencies": { "@patternfly/chatbot": "^6.3.2", "@patternfly/patternfly": "^6.3.1", @@ -14,8 +15,6 @@ "@patternfly/react-core": "^6.3.1", "@patternfly/react-icons": "^6.3.1", "@patternfly/react-table": "^6.2.2", - "react": "^18.3.1", - "react-dom": "^18.3.1", "react-markdown": "^10.1.0", "remark-gfm": "^4.0.1", "victory": "^37.3.6", @@ -27,8 +26,8 @@ "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.6.1", "@types/lodash": "^4.17.16", - "@types/react": "^19.1.9", - "@types/react-dom": "^19.1.7", + "@types/react": "^18.3.1", + "@types/react-dom": "^18.3.1", "@vitejs/plugin-react": "^4.7.0", "eslint": "^9.32.0", "eslint-plugin-import": "^2.31.0", @@ -37,10 +36,16 @@ "globals": "^16.3.0", "jsdom": "^26.1.0", "lodash": "^4.17.21", + "react": "^18.3.1", + "react-dom": "^18.3.1", "typescript": "~5.8.3", "typescript-eslint": "^8.39.0", "vite": "^7.1.0", "vitest": "^3.1.3" + }, + "peerDependencies": { + "react": "^18.3.1", + "react-dom": "^18.3.1" } }, "node_modules/@adobe/css-tools": { @@ -1977,23 +1982,30 @@ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==" }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "license": "MIT" + }, "node_modules/@types/react": { - "version": "19.1.12", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.12.tgz", - "integrity": "sha512-cMoR+FoAf/Jyq6+Df2/Z41jISvGZZ2eTlnsaJRptmZ76Caldwy1odD4xTr/gNV9VLj0AWgg/nmkevIyUfIIq5w==", + "version": "18.3.24", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.24.tgz", + "integrity": "sha512-0dLEBsA1kI3OezMBF8nSsb7Nk19ZnsyE1LLhB8r27KbgU5H4pvuqZLdtE+aUkJVoXgTVuA+iLIwmZ0TuK4tx6A==", "license": "MIT", "dependencies": { + "@types/prop-types": "*", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "19.1.9", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.9.tgz", - "integrity": "sha512-qXRuZaOsAdXKFyOhRBg6Lqqc0yay13vN7KrIg4L7N4aaHN68ma9OK3NE1BoDFgFOTfM7zg+3/8+2n8rLUH3OKQ==", + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", "dev": true, "license": "MIT", "peerDependencies": { - "@types/react": "^19.0.0" + "@types/react": "^18.0.0" } }, "node_modules/@types/unist": { From d0476423a05d140ea11e5f00f3e9ad92985eb775 Mon Sep 17 00:00:00 2001 From: Ivana Rodriguez Date: Tue, 23 Sep 2025 15:56:00 -0400 Subject: [PATCH 5/6] feat: simplify workflow names --- .github/workflows/{publish => publish.yml} | 0 .github/workflows/{next_gen_ui_react_tests.yml => test.yml} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{publish => publish.yml} (100%) rename .github/workflows/{next_gen_ui_react_tests.yml => test.yml} (100%) diff --git a/.github/workflows/publish b/.github/workflows/publish.yml similarity index 100% rename from .github/workflows/publish rename to .github/workflows/publish.yml diff --git a/.github/workflows/next_gen_ui_react_tests.yml b/.github/workflows/test.yml similarity index 100% rename from .github/workflows/next_gen_ui_react_tests.yml rename to .github/workflows/test.yml From 957f1d3f2301cfc653ced3c5f7c852b36dfece81 Mon Sep 17 00:00:00 2001 From: Ivana Rodriguez Date: Tue, 23 Sep 2025 16:00:46 -0400 Subject: [PATCH 6/6] refactor: remove references to old directory structure --- .github/workflows/publish.yml | 6 ++++-- .github/workflows/test.yml | 12 +++--------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e26d3e2..10bc63b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -10,14 +10,16 @@ jobs: name: Publish package runs-on: ubuntu-latest steps: - - name: Checkout + - name: Checkout repository uses: actions/checkout@v4 - - name: Use Node.js + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' registry-url: 'https://registry.npmjs.org' + cache: npm + cache-dependency-path: package-lock.json - name: Install dependencies run: npm ci diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3d25adc..5679827 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -4,19 +4,12 @@ on: push: branches: - main - paths: - - 'libs_js/next_gen_ui_react/**' pull_request: - paths: - - 'libs_js/next_gen_ui_react/**' jobs: react-tests: name: React unit tests runs-on: ubuntu-latest - defaults: - run: - working-directory: libs_js/next_gen_ui_react steps: - name: Checkout repository uses: actions/checkout@v4 @@ -24,9 +17,10 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version-file: '.nvmrc' + registry-url: 'https://registry.npmjs.org' cache: npm - cache-dependency-path: libs_js/next_gen_ui_react/package-lock.json + cache-dependency-path: package-lock.json - name: Install dependencies run: npm ci