From 00fe6f29fbd688cae2248e825b3616ed939e1f66 Mon Sep 17 00:00:00 2001 From: Florian Hammerschmidt Date: Fri, 10 Jul 2026 09:38:54 +0200 Subject: [PATCH 1/3] Automatically publish dev builds after PR merges and tag builds (#158) * Automatically publish dev builds after PR merges and tag builds * Review --- .github/workflows/publish.yml | 73 +++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..e301b8e --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,73 @@ +name: Publish to npm + +on: + push: + branches: [ master ] + tags: + - 'v*.*.*' + +permissions: + contents: read + id-token: write + +jobs: + publish: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v6 + + - name: Use Node.js + uses: actions/setup-node@v6 + with: + node-version: 24.x + registry-url: https://registry.npmjs.org + package-manager-cache: false + + - run: npm ci + - run: npm run build + - run: npm run test + + - name: Configure publish version + id: publish + run: | + PACKAGE_NAME=$(node -p "require('./package.json').name") + BASE_VERSION=$(node -p "require('./package.json').version") + + if [[ "$GITHUB_REF" == refs/tags/* ]]; then + if [[ ! "$GITHUB_REF_NAME" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "::error::Release tags must match vX.X.X, got $GITHUB_REF_NAME." + exit 1 + fi + + PACKAGE_VERSION="${GITHUB_REF_NAME#v}" + if [[ "$PACKAGE_VERSION" != "$BASE_VERSION" ]]; then + echo "::error::Tag $GITHUB_REF_NAME does not match package.json version $BASE_VERSION." + exit 1 + fi + + DIST_TAG=latest + else + PACKAGE_VERSION="${BASE_VERSION}-dev.${GITHUB_RUN_NUMBER}.${GITHUB_RUN_ATTEMPT}" + npm pkg set version="$PACKAGE_VERSION" + DIST_TAG=dev + fi + + echo "package_name=$PACKAGE_NAME" >> "$GITHUB_OUTPUT" + echo "package_version=$PACKAGE_VERSION" >> "$GITHUB_OUTPUT" + echo "dist_tag=$DIST_TAG" >> "$GITHUB_OUTPUT" + + if npm view "$PACKAGE_NAME@$PACKAGE_VERSION" version >/dev/null 2>&1; then + echo "already_published=true" >> "$GITHUB_OUTPUT" + else + echo "already_published=false" >> "$GITHUB_OUTPUT" + fi + + - name: Publish to npm + if: ${{ steps.publish.outputs.already_published == 'false' }} + run: npm publish --provenance --access public --tag "${{ steps.publish.outputs.dist_tag }}" + + - name: Skip already published version + if: ${{ steps.publish.outputs.already_published == 'true' }} + run: | + echo "${{ steps.publish.outputs.package_name }}@${{ steps.publish.outputs.package_version }} is already published; skipping npm publish." From 52093d2cfc2967827f717606d7e9502778a8d81b Mon Sep 17 00:00:00 2001 From: Florian Hammerschmidt Date: Fri, 10 Jul 2026 10:48:47 +0200 Subject: [PATCH 2/3] Automated publishing with pkg.pr.new --- .github/workflows/publish.yml | 89 ++++++++++++++++++++--------------- package-lock.json | 17 +++++++ package.json | 3 +- 3 files changed, 70 insertions(+), 39 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e301b8e..714e54c 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,21 +1,51 @@ -name: Publish to npm +name: Publish packages on: push: branches: [ master ] tags: - 'v*.*.*' - -permissions: - contents: read - id-token: write + pull_request: + branches: [ master ] jobs: + pkg-pr-new: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Use Node.js + uses: actions/setup-node@v6 + with: + node-version: 24.x + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Build + run: npm run build + + - name: Test + run: npm run test + + - name: Publish package to pkg.pr.new + run: npm exec -- pkg-pr-new publish "." + publish: + needs: + - pkg-pr-new + if: startsWith(github.ref, 'refs/tags/v') + permissions: + contents: read + id-token: write runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - name: Checkout + uses: actions/checkout@v6 - name: Use Node.js uses: actions/setup-node@v6 @@ -24,38 +54,22 @@ jobs: registry-url: https://registry.npmjs.org package-manager-cache: false - - run: npm ci - - run: npm run build - - run: npm run test - - - name: Configure publish version - id: publish + - name: Configure release + id: release run: | PACKAGE_NAME=$(node -p "require('./package.json').name") BASE_VERSION=$(node -p "require('./package.json').version") - if [[ "$GITHUB_REF" == refs/tags/* ]]; then - if [[ ! "$GITHUB_REF_NAME" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then - echo "::error::Release tags must match vX.X.X, got $GITHUB_REF_NAME." - exit 1 - fi - - PACKAGE_VERSION="${GITHUB_REF_NAME#v}" - if [[ "$PACKAGE_VERSION" != "$BASE_VERSION" ]]; then - echo "::error::Tag $GITHUB_REF_NAME does not match package.json version $BASE_VERSION." - exit 1 - fi - - DIST_TAG=latest - else - PACKAGE_VERSION="${BASE_VERSION}-dev.${GITHUB_RUN_NUMBER}.${GITHUB_RUN_ATTEMPT}" - npm pkg set version="$PACKAGE_VERSION" - DIST_TAG=dev + if [[ ! "$GITHUB_REF_NAME" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "::error::Release tags must match vX.X.X, got $GITHUB_REF_NAME." + exit 1 fi - echo "package_name=$PACKAGE_NAME" >> "$GITHUB_OUTPUT" - echo "package_version=$PACKAGE_VERSION" >> "$GITHUB_OUTPUT" - echo "dist_tag=$DIST_TAG" >> "$GITHUB_OUTPUT" + PACKAGE_VERSION="${GITHUB_REF_NAME#v}" + if [[ "$PACKAGE_VERSION" != "$BASE_VERSION" ]]; then + echo "::error::Tag $GITHUB_REF_NAME does not match package.json version $BASE_VERSION." + exit 1 + fi if npm view "$PACKAGE_NAME@$PACKAGE_VERSION" version >/dev/null 2>&1; then echo "already_published=true" >> "$GITHUB_OUTPUT" @@ -63,11 +77,10 @@ jobs: echo "already_published=false" >> "$GITHUB_OUTPUT" fi - - name: Publish to npm - if: ${{ steps.publish.outputs.already_published == 'false' }} - run: npm publish --provenance --access public --tag "${{ steps.publish.outputs.dist_tag }}" + - name: Publish package to npm + if: steps.release.outputs.already_published == 'false' + run: npm publish --provenance --access public - name: Skip already published version - if: ${{ steps.publish.outputs.already_published == 'true' }} - run: | - echo "${{ steps.publish.outputs.package_name }}@${{ steps.publish.outputs.package_version }} is already published; skipping npm publish." + if: steps.release.outputs.already_published == 'true' + run: echo "$GITHUB_REF_NAME is already published; skipping npm publish." diff --git a/package-lock.json b/package-lock.json index be0cbd5..bbd160a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.15.0", "license": "MIT", "devDependencies": { + "pkg-pr-new": "^0.0.75", "react": "^19.2.0", "react-dom": "^19.2.0", "rescript": "^12.0.0" @@ -111,6 +112,16 @@ "node": ">=20.11.0" } }, + "node_modules/pkg-pr-new": { + "version": "0.0.75", + "resolved": "https://registry.npmjs.org/pkg-pr-new/-/pkg-pr-new-0.0.75.tgz", + "integrity": "sha512-u9mdErTewKSMsr+ceCt8VcNuNP0ro5AXiPXhUVApuEyqr2Zlvt+DdCFBcm+yGWN8mhOdZJ27meIDbnoZgfzpOw==", + "dev": true, + "license": "MIT", + "bin": { + "pkg-pr-new": "bin/cli.js" + } + }, "node_modules/react": { "version": "19.2.4", "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", @@ -223,6 +234,12 @@ "dev": true, "optional": true }, + "pkg-pr-new": { + "version": "0.0.75", + "resolved": "https://registry.npmjs.org/pkg-pr-new/-/pkg-pr-new-0.0.75.tgz", + "integrity": "sha512-u9mdErTewKSMsr+ceCt8VcNuNP0ro5AXiPXhUVApuEyqr2Zlvt+DdCFBcm+yGWN8mhOdZJ27meIDbnoZgfzpOw==", + "dev": true + }, "react": { "version": "19.2.4", "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", diff --git a/package.json b/package.json index 3762776..9a9791d 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ }, "homepage": "https://rescript-lang.org/docs/react/latest/introduction", "devDependencies": { + "pkg-pr-new": "^0.0.75", "react": "^19.2.0", "react-dom": "^19.2.0", "rescript": "^12.0.0" @@ -38,4 +39,4 @@ "react": ">=19.2.0", "react-dom": ">=19.2.0" } -} \ No newline at end of file +} From 8b5b33a97934e0c322b1af3a3e262684b8e00e71 Mon Sep 17 00:00:00 2001 From: tsnobip Date: Thu, 9 Jul 2026 11:24:37 +0200 Subject: [PATCH 3/3] move to rescript v13 and use %component_identity --- README.md | 1 + package-lock.json | 130 ++++++++++++++++++++++------------------------ package.json | 6 +-- src/React.res | 2 +- 4 files changed, 68 insertions(+), 71 deletions(-) diff --git a/README.md b/README.md index a9b21c4..38bba91 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ | @rescript/react | ReScript | ReactJS | Documentation | | --------------- | ---------------------------------- | ------- | ----------------------------------------------------------------- | +| 0.16.x | 13.0+ | 19 | | 0.15.x | 12.0+ | 19 | | | 0.14.x | 11.0+ (JSX4 + uncurried mode only) | 19 | | | 0.12.x, 0.13.x | 11.0+ | 18 | [Link](https://rescript-lang.org/docs/react/latest/introduction) | diff --git a/package-lock.json b/package-lock.json index bbd160a..5e5397d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,29 +1,29 @@ { "name": "@rescript/react", - "version": "0.15.0", + "version": "0.16.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@rescript/react", - "version": "0.15.0", + "version": "0.16.0", "license": "MIT", "devDependencies": { "pkg-pr-new": "^0.0.75", "react": "^19.2.0", "react-dom": "^19.2.0", - "rescript": "^12.0.0" + "rescript": "^13.0.0-alpha.5" }, "peerDependencies": { - "@rescript/runtime": ">=12.0.0", + "@rescript/runtime": ">=13.0.0-alpha.5", "react": ">=19.2.0", "react-dom": ">=19.2.0" } }, "node_modules/@rescript/darwin-arm64": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/@rescript/darwin-arm64/-/darwin-arm64-12.2.0.tgz", - "integrity": "sha512-xc3K/J7Ujl1vPiFY2009mRf3kWRlUe/VZyJWprseKxlcEtUQv89ter7r6pY+YFbtYvA/fcaEncL9CVGEdattAg==", + "version": "13.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@rescript/darwin-arm64/-/darwin-arm64-13.0.0-alpha.5.tgz", + "integrity": "sha512-OCpT4VYLkxTjm56y+CG4SfrqotMLCaqKY5pxGq75hOPRZLZ5n5BG3OvA1rBsmz5+gT7VpKm1Do9YhmO0JvYZfg==", "cpu": [ "arm64" ], @@ -38,9 +38,9 @@ } }, "node_modules/@rescript/darwin-x64": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/@rescript/darwin-x64/-/darwin-x64-12.2.0.tgz", - "integrity": "sha512-qqcTvnlSeoKkywLjG7cXfYvKZ1e4Gz2kUKcD6SiqDgCqm8TF+spwlFAiM6sloRUOFsc0bpC/0R0B3yr01FCB1A==", + "version": "13.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@rescript/darwin-x64/-/darwin-x64-13.0.0-alpha.5.tgz", + "integrity": "sha512-UT143XnOVmUUayrD/1ceKrXb8rbhNmXKhhfnTnRGRLWp1Hxyiq5uq3OGNorSIW6jHsszsP0VvjKA+Z31h04E6Q==", "cpu": [ "x64" ], @@ -55,9 +55,9 @@ } }, "node_modules/@rescript/linux-arm64": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/@rescript/linux-arm64/-/linux-arm64-12.2.0.tgz", - "integrity": "sha512-ODmpG3ji+Nj/8d5yvXkeHlfKkmbw1Q4t1iIjVuNwtmFpz7TiEa7n/sQqoYdE+WzbDX3DoJfmJNbp3Ob7qCUoOg==", + "version": "13.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@rescript/linux-arm64/-/linux-arm64-13.0.0-alpha.5.tgz", + "integrity": "sha512-lQ3trljExrH1uqS3hsjjoi6fnaImG/tYppcF2X4Yk8u0AP1t6AC6LUM0KR2kjctG5b7OVUrujOu91NnjovN46A==", "cpu": [ "arm64" ], @@ -72,9 +72,9 @@ } }, "node_modules/@rescript/linux-x64": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/@rescript/linux-x64/-/linux-x64-12.2.0.tgz", - "integrity": "sha512-2W9Y9/g19Y4F/subl8yV3T8QBG2oRaP+HciNRcBjptyEdw9LmCKH8+rhWO6sp3E+nZLwoE2IAkwH0WKV3wqlxQ==", + "version": "13.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@rescript/linux-x64/-/linux-x64-13.0.0-alpha.5.tgz", + "integrity": "sha512-Cu73xGa2nMcSgW274tAJDexlBqJGFKpv/v9wHAxqFxXzIwSkET51N9xkf42GljejeVzwyDEfgQId2Znme/PWkg==", "cpu": [ "x64" ], @@ -89,16 +89,15 @@ } }, "node_modules/@rescript/runtime": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/@rescript/runtime/-/runtime-12.2.0.tgz", - "integrity": "sha512-NwfljDRq1rjFPHUaca1nzFz13xsa9ZGkBkLvMhvVgavJT5+A4rMcLu8XAaVTi/oAhO/tlHf9ZDoOTF1AfyAk9Q==", - "license": "MIT", - "peer": true + "version": "13.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@rescript/runtime/-/runtime-13.0.0-alpha.5.tgz", + "integrity": "sha512-k0iQhrDasCD5K5orSrps21ZVgvMgOIwh03QjUAxtMkVwyPclg6LbgG5eAAgduyecXXm3ii30o3nDaXvCryu/Tw==", + "license": "MIT" }, "node_modules/@rescript/win32-x64": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/@rescript/win32-x64/-/win32-x64-12.2.0.tgz", - "integrity": "sha512-fhf8CBj3p1lkIXPeNko3mVTKQfXXm4BoxJtR1xAXxUn43wDpd8Lox4w8/EPBbbW6C/YFQW6H7rtpY+2AKuNaDA==", + "version": "13.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@rescript/win32-x64/-/win32-x64-13.0.0-alpha.5.tgz", + "integrity": "sha512-7uUkUY0pXDdPB5znHQYWsGml3E2pQ68KSaM7HZoFfnOEIuPqGz/hssgLgsXHkfHxrHB0waX9fsqx2Qckn6IGsw==", "cpu": [ "x64" ], @@ -128,7 +127,6 @@ "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -147,41 +145,41 @@ } }, "node_modules/rescript": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-12.2.0.tgz", - "integrity": "sha512-1Jf2cmNhyx5Mj2vwZ4XXPcXvNSjGj9D1jPBUcoqIOqRpLPo1ch2Ta/7eWh23xAHWHK5ow7BCDyYFjvZSjyjLzg==", + "version": "13.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/rescript/-/rescript-13.0.0-alpha.5.tgz", + "integrity": "sha512-rv/xA1OQLN5l90/szD82IR8p/bNzwKNPLnEVaR89oiuBZYG7IhHfRxEKAvpOHqlrpnV8zKmc16IXcjCQxlni/w==", "dev": true, "license": "(LGPL-3.0-or-later AND MIT)", "workspaces": [ + "packages/dev-playground", "packages/playground", "packages/@rescript/*", "tests/dependencies/**", "tests/analysis_tests/**", "tests/docstring_tests", "tests/gentype_tests/**", + "tests/tests", "tests/tools_tests", "tests/commonjs_tests", "scripts/res" ], "dependencies": { - "@rescript/runtime": "12.2.0" + "@rescript/runtime": "13.0.0-alpha.5" }, "bin": { "bsc": "cli/bsc.js", - "bstracing": "cli/bstracing.js", "rescript": "cli/rescript.js", - "rescript-legacy": "cli/rescript-legacy.js", "rescript-tools": "cli/rescript-tools.js" }, "engines": { - "node": ">=20.11.0" + "node": ">=22" }, "optionalDependencies": { - "@rescript/darwin-arm64": "12.2.0", - "@rescript/darwin-x64": "12.2.0", - "@rescript/linux-arm64": "12.2.0", - "@rescript/linux-x64": "12.2.0", - "@rescript/win32-x64": "12.2.0" + "@rescript/darwin-arm64": "13.0.0-alpha.5", + "@rescript/darwin-x64": "13.0.0-alpha.5", + "@rescript/linux-arm64": "13.0.0-alpha.5", + "@rescript/linux-x64": "13.0.0-alpha.5", + "@rescript/win32-x64": "13.0.0-alpha.5" } }, "node_modules/scheduler": { @@ -194,43 +192,42 @@ }, "dependencies": { "@rescript/darwin-arm64": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/@rescript/darwin-arm64/-/darwin-arm64-12.2.0.tgz", - "integrity": "sha512-xc3K/J7Ujl1vPiFY2009mRf3kWRlUe/VZyJWprseKxlcEtUQv89ter7r6pY+YFbtYvA/fcaEncL9CVGEdattAg==", + "version": "13.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@rescript/darwin-arm64/-/darwin-arm64-13.0.0-alpha.5.tgz", + "integrity": "sha512-OCpT4VYLkxTjm56y+CG4SfrqotMLCaqKY5pxGq75hOPRZLZ5n5BG3OvA1rBsmz5+gT7VpKm1Do9YhmO0JvYZfg==", "dev": true, "optional": true }, "@rescript/darwin-x64": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/@rescript/darwin-x64/-/darwin-x64-12.2.0.tgz", - "integrity": "sha512-qqcTvnlSeoKkywLjG7cXfYvKZ1e4Gz2kUKcD6SiqDgCqm8TF+spwlFAiM6sloRUOFsc0bpC/0R0B3yr01FCB1A==", + "version": "13.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@rescript/darwin-x64/-/darwin-x64-13.0.0-alpha.5.tgz", + "integrity": "sha512-UT143XnOVmUUayrD/1ceKrXb8rbhNmXKhhfnTnRGRLWp1Hxyiq5uq3OGNorSIW6jHsszsP0VvjKA+Z31h04E6Q==", "dev": true, "optional": true }, "@rescript/linux-arm64": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/@rescript/linux-arm64/-/linux-arm64-12.2.0.tgz", - "integrity": "sha512-ODmpG3ji+Nj/8d5yvXkeHlfKkmbw1Q4t1iIjVuNwtmFpz7TiEa7n/sQqoYdE+WzbDX3DoJfmJNbp3Ob7qCUoOg==", + "version": "13.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@rescript/linux-arm64/-/linux-arm64-13.0.0-alpha.5.tgz", + "integrity": "sha512-lQ3trljExrH1uqS3hsjjoi6fnaImG/tYppcF2X4Yk8u0AP1t6AC6LUM0KR2kjctG5b7OVUrujOu91NnjovN46A==", "dev": true, "optional": true }, "@rescript/linux-x64": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/@rescript/linux-x64/-/linux-x64-12.2.0.tgz", - "integrity": "sha512-2W9Y9/g19Y4F/subl8yV3T8QBG2oRaP+HciNRcBjptyEdw9LmCKH8+rhWO6sp3E+nZLwoE2IAkwH0WKV3wqlxQ==", + "version": "13.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@rescript/linux-x64/-/linux-x64-13.0.0-alpha.5.tgz", + "integrity": "sha512-Cu73xGa2nMcSgW274tAJDexlBqJGFKpv/v9wHAxqFxXzIwSkET51N9xkf42GljejeVzwyDEfgQId2Znme/PWkg==", "dev": true, "optional": true }, "@rescript/runtime": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/@rescript/runtime/-/runtime-12.2.0.tgz", - "integrity": "sha512-NwfljDRq1rjFPHUaca1nzFz13xsa9ZGkBkLvMhvVgavJT5+A4rMcLu8XAaVTi/oAhO/tlHf9ZDoOTF1AfyAk9Q==", - "peer": true + "version": "13.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@rescript/runtime/-/runtime-13.0.0-alpha.5.tgz", + "integrity": "sha512-k0iQhrDasCD5K5orSrps21ZVgvMgOIwh03QjUAxtMkVwyPclg6LbgG5eAAgduyecXXm3ii30o3nDaXvCryu/Tw==" }, "@rescript/win32-x64": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/@rescript/win32-x64/-/win32-x64-12.2.0.tgz", - "integrity": "sha512-fhf8CBj3p1lkIXPeNko3mVTKQfXXm4BoxJtR1xAXxUn43wDpd8Lox4w8/EPBbbW6C/YFQW6H7rtpY+2AKuNaDA==", + "version": "13.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@rescript/win32-x64/-/win32-x64-13.0.0-alpha.5.tgz", + "integrity": "sha512-7uUkUY0pXDdPB5znHQYWsGml3E2pQ68KSaM7HZoFfnOEIuPqGz/hssgLgsXHkfHxrHB0waX9fsqx2Qckn6IGsw==", "dev": true, "optional": true }, @@ -244,8 +241,7 @@ "version": "19.2.4", "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", - "dev": true, - "peer": true + "dev": true }, "react-dom": { "version": "19.2.4", @@ -257,17 +253,17 @@ } }, "rescript": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-12.2.0.tgz", - "integrity": "sha512-1Jf2cmNhyx5Mj2vwZ4XXPcXvNSjGj9D1jPBUcoqIOqRpLPo1ch2Ta/7eWh23xAHWHK5ow7BCDyYFjvZSjyjLzg==", + "version": "13.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/rescript/-/rescript-13.0.0-alpha.5.tgz", + "integrity": "sha512-rv/xA1OQLN5l90/szD82IR8p/bNzwKNPLnEVaR89oiuBZYG7IhHfRxEKAvpOHqlrpnV8zKmc16IXcjCQxlni/w==", "dev": true, "requires": { - "@rescript/darwin-arm64": "12.2.0", - "@rescript/darwin-x64": "12.2.0", - "@rescript/linux-arm64": "12.2.0", - "@rescript/linux-x64": "12.2.0", - "@rescript/runtime": "12.2.0", - "@rescript/win32-x64": "12.2.0" + "@rescript/darwin-arm64": "13.0.0-alpha.5", + "@rescript/darwin-x64": "13.0.0-alpha.5", + "@rescript/linux-arm64": "13.0.0-alpha.5", + "@rescript/linux-x64": "13.0.0-alpha.5", + "@rescript/runtime": "13.0.0-alpha.5", + "@rescript/win32-x64": "13.0.0-alpha.5" } }, "scheduler": { diff --git a/package.json b/package.json index 9a9791d..1f610c2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@rescript/react", - "version": "0.15.0", + "version": "0.16.0", "description": "React bindings for ReScript", "files": [ "README.md", @@ -32,10 +32,10 @@ "pkg-pr-new": "^0.0.75", "react": "^19.2.0", "react-dom": "^19.2.0", - "rescript": "^12.0.0" + "rescript": "^13.0.0-alpha.5" }, "peerDependencies": { - "@rescript/runtime": ">=12.0.0", + "@rescript/runtime": ">=13.0.0-alpha.5", "react": ">=19.2.0", "react-dom": ">=19.2.0" } diff --git a/src/React.res b/src/React.res index e453bfc..33aa4c7 100644 --- a/src/React.res +++ b/src/React.res @@ -13,7 +13,7 @@ type componentLike<'props, 'return> = Jsx.componentLike<'props, 'return> type component<'props> = Jsx.component<'props> -external component: componentLike<'props, element> => component<'props> = "%identity" +external component: componentLike<'props, element> => component<'props> = "%component_identity" @module("react") external createElement: (component<'props>, 'props) => element = "createElement"