diff --git a/CHANGELOG.md b/CHANGELOG.md index 12ee20b..946d1ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # master +# 0.5.0 + +- Add `extract` and `ui-url` commands to CLI. +- Emit `@live` annotations for relevant things in generated files. +- Latest `rescript-embed-lang`. +- Depend on ReScript v11. + # 0.4.0 - Latest `rescript-embed-lang`. diff --git a/cli/Cli.res b/cli/Cli.res index 7b7cea2..bc385fa 100644 --- a/cli/Cli.res +++ b/cli/Cli.res @@ -20,7 +20,11 @@ let usage = `Usage: [--watch] | Runs this command in watch mode. unused-selections | Check if we there are unused selections in your EdgeQL queries. - [--ci] | Run in CI mode.` + [--ci] | Run in CI mode. + + ui-url | Get the URL for opening the local EdgeDB UI. + + extract | Extract all %edgeql tags in file at .` type config = {client: EdgeDB.Client.t} @@ -72,7 +76,7 @@ let main = async () => { dict }) ->JSON.stringifyAny - ->Option.getWithDefault("") + ->Option.getOr("") ->NodeJs.Buffer.fromString, ) } @@ -169,8 +173,21 @@ let main = async () => { {client: client} }, - ~handleOtherCommand=async ({args, command}) => { + ~handleOtherCommand=async ({args, command, config}) => { switch command { + | "ui-url" => + let getNormalizedConfig: EdgeDB.Client.t => promise< + 'a, + > = %raw(`async function getNormalizedConfig(client) { + return (await client.pool._getNormalizedConnectConfig()).connectionParams + }`) + + let connectionConfig = await getNormalizedConfig(config.client) + + let url = `http://${connectionConfig["address"]->Array.joinWith( + ":", + )}/ui/${connectionConfig["database"]}` + url->JSON.stringifyAny->Console.log | "unused-selections" => let ci = args->RescriptEmbedLang.CliArgs.hasArg("--ci") @@ -198,7 +215,7 @@ let main = async () => { content ->String.split("# @name ") ->Array.get(1) - ->Option.getWithDefault("") + ->Option.getOr("") ->String.split(" ") ->Array.get(0) ->Option.map(EdgeDbGenerator__Utils.capitalizeString) @@ -224,7 +241,7 @@ let main = async () => { while !break.contents { let currentLineCount = lineCount.contents lineCount := currentLineCount + 1 - let line = lines->Array.get(currentLineCount)->Option.getWithDefault("") + let line = lines->Array.get(currentLineCount)->Option.getOr("") if line->String.includes("@name") { switch line->String.split("# @name ") { | [before, _after] => @@ -315,12 +332,14 @@ let main = async () => { ${types.distinctTypes->Set.values->Iterator.toArray->Array.joinWith("\n\n")} +@live let query = (client: EdgeDB.Client.t${hasArgs ? `, args: args` : ""}${extraInFnArgs}): ${returnType} => { client->EdgeDB.QueryHelpers.${method}(queryText${hasArgs ? ", ~args" : ""}${extraInFnApply}) } +@live let transaction = (transaction: EdgeDB.Transaction.t${hasArgs ? `, args: args` : ""}${extraInFnArgs}): ${returnType} => { @@ -348,7 +367,7 @@ let transaction = (transaction: EdgeDB.Transaction.t${hasArgs let migrations = (await config.client ->EdgeDB.QueryHelpers.single("select count(schema::Migration)")) - ->Option.getWithDefault(-1) + ->Option.getOr(-1) debug(`[schema change detection] Found ${migrations->Int.toString} migrations`) let currentMigrationsCount = migrationsCount.contents diff --git a/cli/EdgeDbGenerator.res b/cli/EdgeDbGenerator.res index 4bb0133..33bef28 100644 --- a/cli/EdgeDbGenerator.res +++ b/cli/EdgeDbGenerator.res @@ -181,8 +181,14 @@ module AnalyzeQuery = { ) => { open Codec + let annotations = if ctx.currentPath->Array.at(0) === Some("args") { + "@live \n" + } else { + "" + } + let name = Utils.pathToName(ctx.currentPath) - let recordDef = ` type ${name} = {\n${fields + let recordDef = `${annotations}type ${name} = {\n${fields ->Array.mapWithIndex((field, i) => { let subCodec = switch (subCodecs->Array.getUnsafe(i), field.cardinality) { | (subCodec, ONE | NO_RESULT | AT_MOST_ONE) if subCodec->is(setCodec) => @@ -190,7 +196,7 @@ module AnalyzeQuery = { | (subCodec, _) if subCodec->is(setCodec) => subCodec->getSubcodecs->Array.getUnsafe(0) | (subCodec, _) => subCodec } - ` ${toReScriptPropName(field.name)}${if ( + ` ${toReScriptPropName(field.name)}${if ( ctx.optionalNulls && field.cardinality === AT_MOST_ONE ) { "?" @@ -208,7 +214,7 @@ module AnalyzeQuery = { }, )->generateSetType(field.cardinality)},` }) - ->Array.joinWith("\n")}\n }` + ->Array.joinWith("\n")}\n}` ctx.distinctTypes->Set.add(recordDef) name @@ -308,9 +314,9 @@ module AnalyzeQuery = { | Exn.Error(err) => errorMessage := err->Exn.message Console.error( - `${CliUtils.colorRed( - "ERROR in file", - )}: ${path}:\n${errorMessage.contents->Option.getWithDefault("-")}`, + `${CliUtils.colorRed("ERROR in file")}: ${path}:\n${errorMessage.contents->Option.getOr( + "-", + )}`, ) await holder->BaseClientPool.Holder.release None @@ -344,7 +350,7 @@ module AnalyzeQuery = { }) | _ => Error( - errorMessage.contents->Option.getWithDefault( + errorMessage.contents->Option.getOr( "This query has an unknown EdgeDB error. Please check the query and recompile.", ), ) diff --git a/dbTestProject/package-lock.json b/dbTestProject/package-lock.json index fbee90b..5813a04 100644 --- a/dbTestProject/package-lock.json +++ b/dbTestProject/package-lock.json @@ -9,47 +9,290 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@rescript/core": "0.5.0", - "rescript": "11.0.0-rc.7", - "rescript-edgedb": "../", - "rescript-embed-lang": "0.3.0" + "@rescript/core": "0.6.0", + "rescript": "^11.0.0", + "rescript-edgedb": "0.4.0", + "rescript-embed-lang": "0.4.0" } }, - "..": { - "version": "0.3.1", - "license": "MIT", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dependencies": { - "chokidar": "^3.5.3", - "fast-glob": "^3.3.1" - }, - "bin": { - "rescript-edgedb": "dist/Cli.js" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, - "devDependencies": { - "esbuild": "^0.19.3", - "rescript": "^11.0.0-rc.7", - "rescript-embed-lang": "0.3.0", - "rescript-nodejs": "^15.0.0" + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, - "peerDependencies": { - "@rescript/core": ">= 0.5.0", - "edgedb": ">= 1.3.6", - "rescript": "^11.0.0-rc.1 || next", - "rescript-embed-lang": ">= 0.3.0" + "engines": { + "node": ">= 8" } }, "node_modules/@rescript/core": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@rescript/core/-/core-0.5.0.tgz", - "integrity": "sha512-Keqnpi+8VqyhCk/3aMwar8hJbNy2IsINAAfIFeQC65IIegCR0QXFDBpQxfVcmbbtoHq6HnW4B3RLm/9GCUJQhQ==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@rescript/core/-/core-0.6.0.tgz", + "integrity": "sha512-D4ykxSpbmxbQa99kCg6/DztwCNt1tV3t11BLSOvJPHNLSIuQxfAU3ddgRruaH9LQSKOrMUjxQS9z6RdG5iFPoA==", "peerDependencies": { "rescript": "^10.1.0 || ^11.0.0-alpha.0 || next" } }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/edgedb": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/edgedb/-/edgedb-1.4.1.tgz", + "integrity": "sha512-GMLeDcTR3lSzpIQCLM6DpcHrVre+nAICA091c0Jfpkd/RANaV7+RSEnIBceDg2rHQpYdCEGW3swULaoURsAQzg==", + "peer": true, + "bin": { + "edgeql-js": "dist/cli.js" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", + "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/rescript": { - "version": "11.0.0-rc.7", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.0.0-rc.7.tgz", - "integrity": "sha512-N2ImQVkzF4rzV5PBcQ8htKe4NPnqsS2DhtG9A4iic4eYsNim1Ixt8qyuD40WEYl4AZOuYUaEfJlvLTOV9wHogA==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.0.0.tgz", + "integrity": "sha512-uIUwDZZmDUb7ymGkBiiGioxMg8hXh1mze/2k/qhYQcZGgi7PrLHQIW9AksM7gb9WnpjCAvFsA8U2VgC0nA468w==", "hasInstallScript": true, "bin": { "bsc": "bsc", @@ -61,43 +304,289 @@ } }, "node_modules/rescript-edgedb": { - "resolved": "..", - "link": true + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/rescript-edgedb/-/rescript-edgedb-0.4.0.tgz", + "integrity": "sha512-jE+xt4KcLF9OJA8EWtg6yN9gYhRwF8I0uA74foHrmaBNKqrB+kDiM1xrLWmF/iFF+ND/FUZKSq9ypp/GuOXd7Q==", + "dependencies": { + "chokidar": "^3.5.3", + "fast-glob": "^3.3.1" + }, + "bin": { + "rescript-edgedb": "dist/Cli.js" + }, + "peerDependencies": { + "@rescript/core": ">= 0.5.0", + "edgedb": ">= 1.3.6", + "rescript": "^11.0.0-rc.1 || next", + "rescript-embed-lang": ">= 0.3.0" + } }, "node_modules/rescript-embed-lang": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/rescript-embed-lang/-/rescript-embed-lang-0.3.0.tgz", - "integrity": "sha512-nWRNGXxp7M5RvLPGqygwiKr8WRv+BhX0fep/xHCVFGA8lYR67byrPlwFyfBy4ItLyLjZi1zeH2VVUqXqyHG7yw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/rescript-embed-lang/-/rescript-embed-lang-0.4.0.tgz", + "integrity": "sha512-TEUfLW5zwOXpx3qvmzSqOinWjBbI0izTvGRllZ39hX/WeSZCZgf4ka7XDQ/chpRFHLMBVDJqJET7beyepF8Kow==", "hasInstallScript": true + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } } }, "dependencies": { + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, "@rescript/core": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@rescript/core/-/core-0.5.0.tgz", - "integrity": "sha512-Keqnpi+8VqyhCk/3aMwar8hJbNy2IsINAAfIFeQC65IIegCR0QXFDBpQxfVcmbbtoHq6HnW4B3RLm/9GCUJQhQ==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@rescript/core/-/core-0.6.0.tgz", + "integrity": "sha512-D4ykxSpbmxbQa99kCg6/DztwCNt1tV3t11BLSOvJPHNLSIuQxfAU3ddgRruaH9LQSKOrMUjxQS9z6RdG5iFPoA==", "requires": {} }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "edgedb": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/edgedb/-/edgedb-1.4.1.tgz", + "integrity": "sha512-GMLeDcTR3lSzpIQCLM6DpcHrVre+nAICA091c0Jfpkd/RANaV7+RSEnIBceDg2rHQpYdCEGW3swULaoURsAQzg==", + "peer": true + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fastq": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", + "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, "rescript": { - "version": "11.0.0-rc.7", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.0.0-rc.7.tgz", - "integrity": "sha512-N2ImQVkzF4rzV5PBcQ8htKe4NPnqsS2DhtG9A4iic4eYsNim1Ixt8qyuD40WEYl4AZOuYUaEfJlvLTOV9wHogA==" + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.0.0.tgz", + "integrity": "sha512-uIUwDZZmDUb7ymGkBiiGioxMg8hXh1mze/2k/qhYQcZGgi7PrLHQIW9AksM7gb9WnpjCAvFsA8U2VgC0nA468w==" }, "rescript-edgedb": { - "version": "file:..", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/rescript-edgedb/-/rescript-edgedb-0.4.0.tgz", + "integrity": "sha512-jE+xt4KcLF9OJA8EWtg6yN9gYhRwF8I0uA74foHrmaBNKqrB+kDiM1xrLWmF/iFF+ND/FUZKSq9ypp/GuOXd7Q==", "requires": { "chokidar": "^3.5.3", - "esbuild": "^0.19.3", - "fast-glob": "^3.3.1", - "rescript": "^11.0.0-rc.7", - "rescript-embed-lang": "0.3.0", - "rescript-nodejs": "^15.0.0" + "fast-glob": "^3.3.1" } }, "rescript-embed-lang": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/rescript-embed-lang/-/rescript-embed-lang-0.3.0.tgz", - "integrity": "sha512-nWRNGXxp7M5RvLPGqygwiKr8WRv+BhX0fep/xHCVFGA8lYR67byrPlwFyfBy4ItLyLjZi1zeH2VVUqXqyHG7yw==" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/rescript-embed-lang/-/rescript-embed-lang-0.4.0.tgz", + "integrity": "sha512-TEUfLW5zwOXpx3qvmzSqOinWjBbI0izTvGRllZ39hX/WeSZCZgf4ka7XDQ/chpRFHLMBVDJqJET7beyepF8Kow==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } } } } diff --git a/dbTestProject/package.json b/dbTestProject/package.json index a4b7e69..7c16966 100644 --- a/dbTestProject/package.json +++ b/dbTestProject/package.json @@ -14,9 +14,9 @@ "author": "", "license": "ISC", "dependencies": { - "@rescript/core": "0.5.0", - "rescript": "11.0.0-rc.7", - "rescript-edgedb": "../", - "rescript-embed-lang": "0.3.0" + "@rescript/core": "0.6.0", + "rescript": "^11.0.0", + "rescript-edgedb": "0.4.0", + "rescript-embed-lang": "0.4.0" } } diff --git a/dbTestProject/src/__generated__/Movies__edgeql.res b/dbTestProject/src/__generated__/Movies__edgeql.res index 5144cd9..baa5d2e 100644 --- a/dbTestProject/src/__generated__/Movies__edgeql.res +++ b/dbTestProject/src/__generated__/Movies__edgeql.res @@ -1,4 +1,4 @@ -// @sourceHash 430c5e4f4d671de90827444ead9bca8e +// @sourceHash cc551ceee2a6644bb04f4467951780b0 module AllMovies = { let queryText = `# @name allMovies @@ -12,22 +12,24 @@ module AllMovies = { } } order by .title` - type response__actors = { - id: string, - name: string, - numberOfPets: float, - } + type response__actors = { + id: string, + name: string, + numberOfPets: float, + } - type response = { - id: string, - title: string, - actors: array, - } + type response = { + id: string, + title: string, + actors: array, + } + @live let query = (client: EdgeDB.Client.t): promise> => { client->EdgeDB.QueryHelpers.many(queryText) } + @live let transaction = (transaction: EdgeDB.Transaction.t): promise> => { transaction->EdgeDB.TransactionHelpers.many(queryText) } @@ -45,22 +47,24 @@ module AllMoviesNested = { } } order by .title` - type response__actors = { - id: string, - name: string, - numberOfPets: float, - } + type response__actors = { + id: string, + name: string, + numberOfPets: float, + } - type response = { - id: string, - title: string, - actors: array, - } + type response = { + id: string, + title: string, + actors: array, + } + @live let query = (client: EdgeDB.Client.t): promise> => { client->EdgeDB.QueryHelpers.many(queryText) } + @live let transaction = (transaction: EdgeDB.Transaction.t): promise> => { transaction->EdgeDB.TransactionHelpers.many(queryText) } @@ -90,38 +94,41 @@ module MovieByTitle = { filter .title = $title limit 1` - type args = { - title: string, - } - - type response__actors__typesDump = { - date: Null.t, - localDateTime: Null.t, - localDate: Null.t, - relativeDuration: Null.t, - duration: Null.t, - dateDuration: Null.t, - localTime: Null.t, - json: Null.t, - } - - type response__actors = { - id: string, - name: string, - numberOfPets: float, - typesDump: Null.t, - } - - type response = { - id: string, - title: string, - actors: array, - } + @live + type args = { + title: string, + } + + type response__actors__typesDump = { + date: Null.t, + localDateTime: Null.t, + localDate: Null.t, + relativeDuration: Null.t, + duration: Null.t, + dateDuration: Null.t, + localTime: Null.t, + json: Null.t, + } + type response__actors = { + id: string, + name: string, + numberOfPets: float, + typesDump: Null.t, + } + + type response = { + id: string, + title: string, + actors: array, + } + + @live let query = (client: EdgeDB.Client.t, args: args, ~onError=?): promise> => { client->EdgeDB.QueryHelpers.single(queryText, ~args, ~onError?) } + @live let transaction = (transaction: EdgeDB.Transaction.t, args: args, ~onError=?): promise> => { transaction->EdgeDB.TransactionHelpers.single(queryText, ~args, ~onError?) } @@ -133,18 +140,21 @@ module AddActor = { name := $name }` - type args = { - name: string, - } + @live + type args = { + name: string, + } - type response = { - id: string, - } + type response = { + id: string, + } + @live let query = (client: EdgeDB.Client.t, args: args): promise> => { client->EdgeDB.QueryHelpers.singleRequired(queryText, ~args) } + @live let transaction = (transaction: EdgeDB.Transaction.t, args: args): promise> => { transaction->EdgeDB.TransactionHelpers.singleRequired(queryText, ~args) } @@ -154,18 +164,21 @@ module RemoveActor = { let queryText = `# @name RemoveActor delete Person filter .id = $id` - type args = { - id: string, - } + @live + type args = { + id: string, + } - type response = { - id: string, - } + type response = { + id: string, + } + @live let query = (client: EdgeDB.Client.t, args: args, ~onError=?): promise> => { client->EdgeDB.QueryHelpers.single(queryText, ~args, ~onError?) } + @live let transaction = (transaction: EdgeDB.Transaction.t, args: args, ~onError=?): promise> => { transaction->EdgeDB.TransactionHelpers.single(queryText, ~args, ~onError?) } diff --git a/dbTestProject/test/TestProject.test.res b/dbTestProject/test/TestProject.test.res index 3bc50c7..c405dd9 100644 --- a/dbTestProject/test/TestProject.test.res +++ b/dbTestProject/test/TestProject.test.res @@ -18,15 +18,13 @@ let removeIds = (key, value) => { describe("fetching data", () => { testAsync("fetching movies", async () => { let movies = await client->Movies.allMovies - let movies = - movies->JSON.stringifyAnyWithReplacerAndIndent(removeIds, 2)->Option.getWithDefault("") + let movies = movies->JSON.stringifyAnyWithReplacerAndIndent(removeIds, 2)->Option.getOr("") expect(movies)->Expect.toMatchSnapshot }) testAsync("fetching single movie", async () => { let movie = await client->Movies.movieByTitle(~title="The Great Adventure") - let movie = - movie->JSON.stringifyAnyWithReplacerAndIndent(removeIds, 2)->Option.getWithDefault("") + let movie = movie->JSON.stringifyAnyWithReplacerAndIndent(removeIds, 2)->Option.getOr("") expect(movie)->Expect.toMatchSnapshot }) diff --git a/package-lock.json b/package-lock.json index e585c9d..b926170 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rescript-edgedb", - "version": "0.4.0", + "version": "0.5.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "rescript-edgedb", - "version": "0.4.0", + "version": "0.5.0", "license": "MIT", "dependencies": { "chokidar": "^3.5.3", @@ -17,15 +17,15 @@ }, "devDependencies": { "esbuild": "^0.19.3", - "rescript": "^11.0.0-rc.7", - "rescript-embed-lang": "0.3.0", - "rescript-nodejs": "^15.0.0" + "rescript": "^11.0.0", + "rescript-embed-lang": "0.4.0", + "rescript-nodejs": "^16.0.0" }, "peerDependencies": { - "@rescript/core": ">= 0.5.0", + "@rescript/core": ">= 0.6.0", "edgedb": ">= 1.3.6", - "rescript": "^11.0.0-rc.1 || next", - "rescript-embed-lang": ">= 0.3.0" + "rescript": "^11.0.0", + "rescript-embed-lang": ">= 0.4.0" } }, "node_modules/@esbuild/android-arm": { @@ -413,9 +413,9 @@ } }, "node_modules/@rescript/core": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@rescript/core/-/core-0.5.0.tgz", - "integrity": "sha512-Keqnpi+8VqyhCk/3aMwar8hJbNy2IsINAAfIFeQC65IIegCR0QXFDBpQxfVcmbbtoHq6HnW4B3RLm/9GCUJQhQ==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@rescript/core/-/core-0.6.0.tgz", + "integrity": "sha512-D4ykxSpbmxbQa99kCg6/DztwCNt1tV3t11BLSOvJPHNLSIuQxfAU3ddgRruaH9LQSKOrMUjxQS9z6RdG5iFPoA==", "peer": true, "peerDependencies": { "rescript": "^10.1.0 || ^11.0.0-alpha.0 || next" @@ -693,9 +693,9 @@ } }, "node_modules/rescript": { - "version": "11.0.0-rc.7", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.0.0-rc.7.tgz", - "integrity": "sha512-N2ImQVkzF4rzV5PBcQ8htKe4NPnqsS2DhtG9A4iic4eYsNim1Ixt8qyuD40WEYl4AZOuYUaEfJlvLTOV9wHogA==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.0.1.tgz", + "integrity": "sha512-7T4PRp/d0+CBNnY6PYKffFqo9tGZlvnZpboF/n+8SKS+JZ6VvXJO7W538VPZXf3EYx1COGAWWvkF9e/HgSAqHg==", "hasInstallScript": true, "bin": { "bsc": "bsc", @@ -707,16 +707,16 @@ } }, "node_modules/rescript-embed-lang": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/rescript-embed-lang/-/rescript-embed-lang-0.3.0.tgz", - "integrity": "sha512-nWRNGXxp7M5RvLPGqygwiKr8WRv+BhX0fep/xHCVFGA8lYR67byrPlwFyfBy4ItLyLjZi1zeH2VVUqXqyHG7yw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/rescript-embed-lang/-/rescript-embed-lang-0.4.0.tgz", + "integrity": "sha512-TEUfLW5zwOXpx3qvmzSqOinWjBbI0izTvGRllZ39hX/WeSZCZgf4ka7XDQ/chpRFHLMBVDJqJET7beyepF8Kow==", "dev": true, "hasInstallScript": true }, "node_modules/rescript-nodejs": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/rescript-nodejs/-/rescript-nodejs-15.0.0.tgz", - "integrity": "sha512-VvvM8/lI90Dfu0x4886NyINbUcBBx8F6hmftH9UaMjUgYIPfsdVopG3d30OzcbroiOKySgo4wwVNEmtYDZs+nw==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/rescript-nodejs/-/rescript-nodejs-16.0.0.tgz", + "integrity": "sha512-1/SJmjH06xdeq1IFIIcKV6QKnidrav/gIc0Rw4GCUD0ceYPPZ5wDB51UFyk98in5N4gv8X/bTg6dVBMyRsC9tw==", "dev": true }, "node_modules/reusify": { @@ -941,9 +941,9 @@ } }, "@rescript/core": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@rescript/core/-/core-0.5.0.tgz", - "integrity": "sha512-Keqnpi+8VqyhCk/3aMwar8hJbNy2IsINAAfIFeQC65IIegCR0QXFDBpQxfVcmbbtoHq6HnW4B3RLm/9GCUJQhQ==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@rescript/core/-/core-0.6.0.tgz", + "integrity": "sha512-D4ykxSpbmxbQa99kCg6/DztwCNt1tV3t11BLSOvJPHNLSIuQxfAU3ddgRruaH9LQSKOrMUjxQS9z6RdG5iFPoA==", "peer": true, "requires": {} }, @@ -1126,20 +1126,20 @@ } }, "rescript": { - "version": "11.0.0-rc.7", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.0.0-rc.7.tgz", - "integrity": "sha512-N2ImQVkzF4rzV5PBcQ8htKe4NPnqsS2DhtG9A4iic4eYsNim1Ixt8qyuD40WEYl4AZOuYUaEfJlvLTOV9wHogA==" + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.0.1.tgz", + "integrity": "sha512-7T4PRp/d0+CBNnY6PYKffFqo9tGZlvnZpboF/n+8SKS+JZ6VvXJO7W538VPZXf3EYx1COGAWWvkF9e/HgSAqHg==" }, "rescript-embed-lang": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/rescript-embed-lang/-/rescript-embed-lang-0.3.0.tgz", - "integrity": "sha512-nWRNGXxp7M5RvLPGqygwiKr8WRv+BhX0fep/xHCVFGA8lYR67byrPlwFyfBy4ItLyLjZi1zeH2VVUqXqyHG7yw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/rescript-embed-lang/-/rescript-embed-lang-0.4.0.tgz", + "integrity": "sha512-TEUfLW5zwOXpx3qvmzSqOinWjBbI0izTvGRllZ39hX/WeSZCZgf4ka7XDQ/chpRFHLMBVDJqJET7beyepF8Kow==", "dev": true }, "rescript-nodejs": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/rescript-nodejs/-/rescript-nodejs-15.0.0.tgz", - "integrity": "sha512-VvvM8/lI90Dfu0x4886NyINbUcBBx8F6hmftH9UaMjUgYIPfsdVopG3d30OzcbroiOKySgo4wwVNEmtYDZs+nw==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/rescript-nodejs/-/rescript-nodejs-16.0.0.tgz", + "integrity": "sha512-1/SJmjH06xdeq1IFIIcKV6QKnidrav/gIc0Rw4GCUD0ceYPPZ5wDB51UFyk98in5N4gv8X/bTg6dVBMyRsC9tw==", "dev": true }, "reusify": { diff --git a/package.json b/package.json index 73cbaed..58cfba3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rescript-edgedb", - "version": "0.4.0", + "version": "0.5.0", "description": "Use EdgeDB in ReScript.", "main": "src/EdgeDB.mjs", "bin": "dist/Cli.js", @@ -30,14 +30,14 @@ }, "devDependencies": { "esbuild": "^0.19.3", - "rescript": "^11.0.0-rc.7", - "rescript-embed-lang": "0.3.0", - "rescript-nodejs": "^15.0.0" + "rescript": "^11.0.0", + "rescript-embed-lang": "0.4.0", + "rescript-nodejs": "^16.0.0" }, "peerDependencies": { - "@rescript/core": ">= 0.5.0", + "@rescript/core": ">= 0.6.0", "edgedb": ">= 1.3.6", - "rescript": "^11.0.0-rc.1 || next", - "rescript-embed-lang": ">= 0.3.0" + "rescript": "^11.0.0", + "rescript-embed-lang": ">= 0.4.0" } }