From f3854092e8e4a4f5fb6a13b38b767970c1299ee2 Mon Sep 17 00:00:00 2001 From: Dmitry Zakharov Date: Sat, 27 Apr 2024 13:48:59 +0400 Subject: [PATCH] Use rescript v11.1 --- package.json | 10 +++--- packages/prepack/package.json | 8 ++--- packages/prepack/rescript.json | 4 +-- packages/prepack/src/Prepack.bs.mjs | 46 ++++++++++++------------ packages/prepack/src/Prepack.res | 16 +++++---- packages/tests/rescript.json | 2 +- pnpm-lock.yaml | 54 ++++++++++++++++------------- bsconfig.json => rescript.json | 2 +- src/S_Core.res | 6 ++-- 9 files changed, 78 insertions(+), 70 deletions(-) rename bsconfig.json => rescript.json (87%) diff --git a/package.json b/package.json index 06d1fdb7..3d91c589 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "src/S.bs.mjs", "src/S.d.ts", "RescriptSchema.gen.ts", - "bsconfig.json" + "rescript.json" ], "scripts": { "benchmark": "node ./packages/tests/src/benchmark/Benchmark.bs.mjs", @@ -51,9 +51,9 @@ "coverage": "c8 --reporter=lcov npm test", "prepack": "node ./packages/prepack/src/Prepack.bs.mjs", "ppx:install": "node ./packages/rescript-schema-ppx/install.cjs", - "res": "rescript build -w", + "res": "rescript -w", "res:build": "rescript build", - "test:res": "cd ./packages/tests && rescript clean && rescript build -w", + "test:res": "cd ./packages/tests && rescript clean && rescript -w", "test": "ava", "lint:stdlib": "rescript-stdlib-vendorer lint --project-path=packages/tests --ignore-path=src/ppx/Ppx_Primitive_test.res" }, @@ -73,11 +73,11 @@ }, "devDependencies": { "@dzakh/rescript-ava": "2.3.0", - "@dzakh/rescript-core": "0.2.0", + "@rescript/core": "1.3.0", "ava": "5.2.0", "benchmark": "2.1.4", "c8": "7.12.0", - "rescript": "11.0.1", + "rescript": "11.1.0", "rescript-stdlib-vendorer": "1.1.0", "rescript-schema": ".", "ts-expect": "1.3.0", diff --git a/packages/prepack/package.json b/packages/prepack/package.json index 22c4e010..50dafc02 100644 --- a/packages/prepack/package.json +++ b/packages/prepack/package.json @@ -5,15 +5,15 @@ "type": "module", "scripts": { "res:build": "rescript build", - "res": "rescript build -w", + "res": "rescript -w", "lint:stdlib": "rescript-stdlib-vendorer lint" }, "dependencies": { - "@dzakh/rescript-core": "0.2.0", + "@rescript/core": "1.3.0", "@rollup/plugin-replace": "5.0.2", "execa": "7.1.1", - "rescript": "11.0.1", - "rescript-nodejs": "15.0.0", + "rescript": "11.1.0", + "rescript-nodejs": "16.1.0", "rescript-stdlib-vendorer": "1.1.0", "rollup": "3.21.0" } diff --git a/packages/prepack/rescript.json b/packages/prepack/rescript.json index 344e2dbf..9328c838 100644 --- a/packages/prepack/rescript.json +++ b/packages/prepack/rescript.json @@ -2,11 +2,11 @@ "name": "prepack", "suffix": ".bs.mjs", "package-specs": { - "module": "es6", + "module": "esmodule", "in-source": true }, "bsc-flags": ["-open RescriptCore"], - "bs-dependencies": ["@dzakh/rescript-core", "rescript-nodejs"], + "bs-dependencies": ["@rescript/core", "rescript-nodejs"], "sources": { "dir": "src" }, diff --git a/packages/prepack/src/Prepack.bs.mjs b/packages/prepack/src/Prepack.bs.mjs index 956d5ce9..825adb2d 100644 --- a/packages/prepack/src/Prepack.bs.mjs +++ b/packages/prepack/src/Prepack.bs.mjs @@ -1,33 +1,33 @@ // Generated by ReScript, PLEASE EDIT WITH CARE import * as Fs from "fs"; -import * as Path from "path"; import * as Execa from "execa"; import * as Rollup from "rollup"; -import * as Core__JSON from "@dzakh/rescript-core/src/Core__JSON.bs.mjs"; -import * as Core__List from "@dzakh/rescript-core/src/Core__List.bs.mjs"; -import * as Caml_option from "rescript/lib/es6/caml_option.js"; -import * as Core__Option from "@dzakh/rescript-core/src/Core__Option.bs.mjs"; +import * as Nodefs from "node:fs"; +import * as Nodepath from "node:path"; +import * as Core__JSON from "@rescript/core/src/Core__JSON.bs.mjs"; +import * as Core__List from "@rescript/core/src/Core__List.bs.mjs"; +import * as Core__Option from "@rescript/core/src/Core__Option.bs.mjs"; import PluginReplace from "@rollup/plugin-replace"; var projectPath = "."; -var artifactsPath = Path.join(projectPath, "packages/artifacts"); +var artifactsPath = Nodepath.join(projectPath, "packages/artifacts"); var sourePaths = [ "package.json", "node_modules", "src", - "bsconfig.json", + "rescript.json", "README.md", "RescriptSchema.gen.ts" ]; -var jsInputPath = Path.join(artifactsPath, "src/S.js"); +var jsInputPath = Nodepath.join(artifactsPath, "src/S.js"); function update(json, path, value) { var dict = Core__JSON.Decode.object(json); - var dict$1 = dict !== undefined ? Object.assign({}, Caml_option.valFromOption(dict)) : ({}); + var dict$1 = dict !== undefined ? Object.assign({}, dict) : ({}); if (!path) { return value; } @@ -42,28 +42,28 @@ function update(json, path, value) { } } -if (Fs.existsSync(artifactsPath)) { +if (Nodefs.existsSync(artifactsPath)) { Fs.rmSync(artifactsPath, { recursive: true, force: true }); } -Fs.mkdirSync(artifactsPath); +Nodefs.mkdirSync(artifactsPath); sourePaths.forEach(function (path) { - Fs.cpSync(Path.join(projectPath, path), Path.join(artifactsPath, path), { + Fs.cpSync(Nodepath.join(projectPath, path), Nodepath.join(artifactsPath, path), { recursive: true }); }); function updateJsonFile(src, path, value) { - var packageJsonData = Fs.readFileSync(src, { + var packageJsonData = Nodefs.readFileSync(src, { encoding: "utf8" }); var packageJson = JSON.parse(packageJsonData.toString()); - var updatedPackageJson = JSON.stringify(update(packageJson, Core__List.fromArray(path), value), null, 2); - Fs.writeFileSync(src, Buffer.from(updatedPackageJson), { + var updatedPackageJson = JSON.stringify(update(packageJson, Core__List.fromArray(path), value), undefined, 2); + Nodefs.writeFileSync(src, Buffer.from(updatedPackageJson), { encoding: "utf8" }); } @@ -82,7 +82,7 @@ var bundle = await Rollup.rollup({ var output = [ { - file: Path.join(artifactsPath, "dist/S.js"), + file: Nodepath.join(artifactsPath, "dist/S.js"), format: "cjs", exports: "named", plugins: [PluginReplace({ @@ -99,7 +99,7 @@ var output = [ })] }, { - file: Path.join(artifactsPath, "dist/S.mjs"), + file: Nodepath.join(artifactsPath, "dist/S.mjs"), format: "es", exports: "named", plugins: [PluginReplace({ @@ -118,17 +118,17 @@ for(var idx = 0 ,idx_finish = output.length; idx < idx_finish; ++idx){ await bundle.close(); -Fs.rmSync(Path.join(artifactsPath, "lib"), { +Fs.rmSync(Nodepath.join(artifactsPath, "lib"), { recursive: true, force: true }); -updateJsonFile(Path.join(artifactsPath, "bsconfig.json"), [ +updateJsonFile(Nodepath.join(artifactsPath, "rescript.json"), [ "package-specs", "module" ], "commonjs"); -updateJsonFile(Path.join(artifactsPath, "bsconfig.json"), ["suffix"], ".bs.js"); +updateJsonFile(Nodepath.join(artifactsPath, "rescript.json"), ["suffix"], ".bs.js"); Execa.execaSync("npm", [ "run", @@ -137,14 +137,14 @@ Execa.execaSync("npm", [ cwd: artifactsPath }); -updateJsonFile(Path.join(artifactsPath, "package.json"), ["type"], "commonjs"); +updateJsonFile(Nodepath.join(artifactsPath, "package.json"), ["type"], "commonjs"); -Fs.rmSync(Path.join(artifactsPath, "lib"), { +Fs.rmSync(Nodepath.join(artifactsPath, "lib"), { recursive: true, force: true }); -Fs.rmSync(Path.join(artifactsPath, "node_modules"), { +Fs.rmSync(Nodepath.join(artifactsPath, "node_modules"), { recursive: true, force: true }); diff --git a/packages/prepack/src/Prepack.res b/packages/prepack/src/Prepack.res index 299131f8..db8bf22e 100644 --- a/packages/prepack/src/Prepack.res +++ b/packages/prepack/src/Prepack.res @@ -4,7 +4,7 @@ let sourePaths = [ "package.json", "node_modules", "src", - "bsconfig.json", + "rescript.json", "README.md", "RescriptSchema.gen.ts", ] @@ -126,15 +126,19 @@ sourePaths->Array.forEach(path => { let updateJsonFile = (~src, ~path, ~value) => { let packageJsonData = NodeJs.Fs.readFileSyncWith( src, - NodeJs.Fs.readFileOptions(~encoding="utf8", ()), + { + encoding: "utf8", + }, ) let packageJson = packageJsonData->NodeJs.Buffer.toString->JSON.parseExn let updatedPackageJson = - packageJson->Stdlib.Json.update(path->List.fromArray, value)->JSON.stringifyWithIndent(2) + packageJson->Stdlib.Json.update(path->List.fromArray, value)->JSON.stringify(~space=2) NodeJs.Fs.writeFileSyncWith( src, updatedPackageJson->NodeJs.Buffer.fromString, - NodeJs.Fs.writeFileOptions(~encoding="utf8", ()), + { + encoding: "utf8", + }, ) } @@ -175,12 +179,12 @@ await bundle->Rollup.Bundle.close // Clean up rescript artifacts so the compiled .bs.js files aren't removed on the .bs.mjs build FsX.rmSync(NodeJs.Path.join2(artifactsPath, "lib"), {force: true, recursive: true}) updateJsonFile( - ~src=NodeJs.Path.join2(artifactsPath, "bsconfig.json"), + ~src=NodeJs.Path.join2(artifactsPath, "rescript.json"), ~path=["package-specs", "module"], ~value=JSON.Encode.string("commonjs"), ) updateJsonFile( - ~src=NodeJs.Path.join2(artifactsPath, "bsconfig.json"), + ~src=NodeJs.Path.join2(artifactsPath, "rescript.json"), ~path=["suffix"], ~value=JSON.Encode.string(".bs.js"), ) diff --git a/packages/tests/rescript.json b/packages/tests/rescript.json index 2fce0068..1c7c6d77 100644 --- a/packages/tests/rescript.json +++ b/packages/tests/rescript.json @@ -8,7 +8,7 @@ } ], "package-specs": { - "module": "es6", + "module": "esmodule", "in-source": true }, "suffix": ".bs.mjs", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 17d7a8c0..577b9ec6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,10 +10,10 @@ importers: devDependencies: '@dzakh/rescript-ava': specifier: 2.3.0 - version: 2.3.0(ava@5.2.0)(rescript@11.0.1) - '@dzakh/rescript-core': - specifier: 0.2.0 - version: 0.2.0(rescript@11.0.1) + version: 2.3.0(ava@5.2.0)(rescript@11.1.0) + '@rescript/core': + specifier: 1.3.0 + version: 1.3.0(rescript@11.1.0) ava: specifier: 5.2.0 version: 5.2.0 @@ -24,8 +24,8 @@ importers: specifier: 7.12.0 version: 7.12.0 rescript: - specifier: 11.0.1 - version: 11.0.1 + specifier: 11.1.0 + version: 11.1.0 rescript-schema: specifier: . version: 'link:' @@ -50,9 +50,9 @@ importers: packages/prepack: dependencies: - '@dzakh/rescript-core': - specifier: 0.2.0 - version: 0.2.0(rescript@11.0.1) + '@rescript/core': + specifier: 1.3.0 + version: 1.3.0(rescript@11.1.0) '@rollup/plugin-replace': specifier: 5.0.2 version: 5.0.2(rollup@3.21.0) @@ -60,11 +60,11 @@ importers: specifier: 7.1.1 version: 7.1.1 rescript: - specifier: 11.0.1 - version: 11.0.1 + specifier: 11.1.0 + version: 11.1.0 rescript-nodejs: - specifier: 15.0.0 - version: 15.0.0 + specifier: 16.1.0 + version: 16.1.0 rescript-stdlib-vendorer: specifier: 1.1.0 version: 1.1.0 @@ -93,23 +93,16 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@dzakh/rescript-ava@2.3.0(ava@5.2.0)(rescript@11.0.1): + /@dzakh/rescript-ava@2.3.0(ava@5.2.0)(rescript@11.1.0): resolution: {integrity: sha512-str7Fh+lYxWNf+wDAHykw84bqKodrwU5swLcYNjc8BJc3N4ECyNBA3o5vFNsq0zZw+1eExARs8mUnB2ZQSmRGg==} peerDependencies: ava: 5.2.x rescript: 10.1.x || ~11.0.0-alpha dependencies: ava: 5.2.0 - rescript: 11.0.1 + rescript: 11.1.0 dev: true - /@dzakh/rescript-core@0.2.0(rescript@11.0.1): - resolution: {integrity: sha512-AeQmSc+LPrpvzb0npoo1189hY+cT/xyDihEMkOe0/FbVHgPP7BRMGqOsJMPCcj/GU8OoQ5ktEVerAFoBHGrdtg==} - peerDependencies: - rescript: ^10.1.0 || ^11.0.0-alpha.0 || next - dependencies: - rescript: 11.0.1 - /@istanbuljs/schema@0.1.3: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} @@ -167,6 +160,13 @@ packages: fastq: 1.15.0 dev: true + /@rescript/core@1.3.0(rescript@11.1.0): + resolution: {integrity: sha512-wNZOZ63sYcaIYZCmTZeIPCeLa3HCGgPbIOR8zjyNkoBYUlxNV8Nb2ZyqlXR5Mb9ttvv8fTV56JbKhyVEZEYo8g==} + peerDependencies: + rescript: ^11.1.0-rc.7 + dependencies: + rescript: 11.1.0 + /@rollup/plugin-replace@5.0.2(rollup@3.21.0): resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} engines: {node: '>=14.0.0'} @@ -1218,8 +1218,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /rescript-nodejs@15.0.0: - resolution: {integrity: sha512-VvvM8/lI90Dfu0x4886NyINbUcBBx8F6hmftH9UaMjUgYIPfsdVopG3d30OzcbroiOKySgo4wwVNEmtYDZs+nw==} + /rescript-nodejs@16.1.0: + resolution: {integrity: sha512-RyXGIEsb8UhuShf5PwKcTkYNPz+cPQ0CZq74lbYCbCa5YFidbmiIWpQhCMtpsgP1PkLClhKGDkfZfmwwNOil4Q==} dev: false /rescript-stdlib-vendorer@1.1.0: @@ -1244,6 +1244,12 @@ packages: hasBin: true requiresBuild: true + /rescript@11.1.0: + resolution: {integrity: sha512-9la2Dv+ACylQ77I8s4spPu1JnLZXbH5WgxcLHLLUBWgFFSiv0wXqgzWztrBIZqwFgVX5BYcwldUqUVcEzdCyHg==} + engines: {node: '>=10'} + hasBin: true + requiresBuild: true + /resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} diff --git a/bsconfig.json b/rescript.json similarity index 87% rename from bsconfig.json rename to rescript.json index 02b5ad82..6d3e1f0d 100644 --- a/bsconfig.json +++ b/rescript.json @@ -3,7 +3,7 @@ "namespace": true, "suffix": ".bs.mjs", "package-specs": { - "module": "es6", + "module": "esmodule", "in-source": true }, "sources": { diff --git a/src/S_Core.res b/src/S_Core.res index db255963..614e5102 100644 --- a/src/S_Core.res +++ b/src/S_Core.res @@ -397,10 +397,8 @@ type exn += private Raised(error) external castUnknownSchemaToAnySchema: t => t<'any> = "%identity" external toUnknown: t<'any> => t = "%identity" -type payloadedVariant<'payload> = private {_0: 'payload} -type payloadedError<'payload> = private {_1: 'payload} -let unsafeGetVariantPayload = variant => (variant->Obj.magic)._0 -let unsafeGetErrorPayload = variant => (variant->Obj.magic)._1 +let unsafeGetVariantPayload = variant => (variant->Obj.magic)["_0"] +let unsafeGetErrorPayload = variant => (variant->Obj.magic)["_1"] module InternalError = { %%raw(`