From c668da54f5f51f9d6d260842fe3b8cf2dc02c102 Mon Sep 17 00:00:00 2001 From: Victorien Elvinger Date: Thu, 16 Mar 2023 22:05:48 +0100 Subject: [PATCH] chore: update deps and configs - Remove TypeScript config `noImplicitAny` and `noImplicitTHis`. They are both enabled under `strict` in TSC >=5.0 - Remove `noUnusedLocals`: this should be checked by a linter. - Enable skipLibCheck (recommended by TSC) - Remove stripInternal (no use) - Add tsconfig and rome $schema for auto-completion in IDE - Remove `npx` in scripts: it incurs a 30% slowdown. - Specify `--target` for _ESbuild_. _ESbuild_ >= 0.18.0 no longer relies on `tsconfig`'s `target` option. - Enable all Rome rules and make sure that generated code will pass all rules. - Disable Rome `json` formatting --- package-lock.json | 540 +++++++++--------- package.json | 12 +- rome.json | 12 +- scripts/build.sh | 14 +- scripts/generate-tests-corpus.js | 2 +- scripts/test.sh | 11 +- src/cli.ts | 2 +- src/generator/js-generator.ts | 13 +- src/parser/bare-parser.ts | 2 +- src/tsconfig-node.json | 8 - src/tsconfig-test.json | 3 +- src/tsconfig.json | 1 - tests-corpus/tsconfig.json | 3 - .../data-fixed-legacy/out.gen.js | 2 +- .../data-fixed-legacy/out.gen.ts | 2 +- .../valid-bare-schema/data-fixed/out.gen.js | 2 +- .../valid-bare-schema/data-fixed/out.gen.ts | 2 +- .../imported-config/out.gen.js | 1 + .../imported-config/out.gen.ts | 1 + .../list-fixed-leading-0/out.gen.js | 2 +- .../list-fixed-leading-0/out.gen.ts | 2 +- .../list-fixed-legacy/out.gen.js | 2 +- .../list-fixed-legacy/out.gen.ts | 2 +- .../valid-bare-schema/list-fixed/out.gen.js | 2 +- .../valid-bare-schema/list-fixed/out.gen.ts | 2 +- .../list-union-circular-ref/out.gen.js | 2 +- .../list-union-circular-ref/out.gen.ts | 2 +- .../typed-array-fixed/out.gen.js | 2 +- .../typed-array-fixed/out.gen.ts | 2 +- .../union-composite-type/out.gen.js | 2 +- .../union-composite-type/out.gen.ts | 2 +- .../union-flat-typeof/out.gen.js | 3 +- .../union-flat-typeof/out.gen.ts | 3 +- .../x-bareorg-example/out.gen.js | 2 +- .../x-bareorg-example/out.gen.ts | 2 +- .../x-bareorg-example/user.test.js | 3 +- .../x-readme-example/user.test.js | 3 +- tsconfig-base.json | 9 +- 38 files changed, 341 insertions(+), 341 deletions(-) delete mode 100644 src/tsconfig-node.json diff --git a/package-lock.json b/package-lock.json index 775c6b96..742cf173 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,20 +7,20 @@ "": { "name": "@bare-ts/tools", "version": "0.13.0", - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "commander": "10.0.0" + "commander": "10.0.1" }, "bin": { "bare": "dist/cli.js" }, "devDependencies": { "@bare-ts/lib": "~0.3.0", - "@types/node": "~14.18.0", - "esbuild": "0.17.5", - "oletus": "3.3.0", - "rome": "11.0.0-nightly.fab5440", - "typescript": "5.0.0-beta", + "@types/node": "~14.18.49", + "esbuild": "0.18", + "oletus": "4.0.0", + "rome": "12.1.3", + "typescript": "5.1.3", "validate-commit-message": "3.2.0" }, "engines": { @@ -40,9 +40,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.5.tgz", - "integrity": "sha512-crmPUzgCmF+qZXfl1YkiFoUta2XAfixR1tEnr/gXIixE+WL8Z0BGqfydP5oox0EUOgQMMRgtATtakyAcClQVqQ==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.0.tgz", + "integrity": "sha512-+uLHSiWK3qOeyDYCf/nuvIgCnQsYjXWNa3TlGYLW1pPG7OYMawllU+VyBgHQPjF2aIUVFpfrvz5aAfxGk/0qNg==", "cpu": [ "arm" ], @@ -56,9 +56,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.5.tgz", - "integrity": "sha512-KHWkDqYAMmKZjY4RAN1PR96q6UOtfkWlTS8uEwWxdLtkRt/0F/csUhXIrVfaSIFxnscIBMPynGfhsMwQDRIBQw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.0.tgz", + "integrity": "sha512-nAwRCs5+jxi3gBMVkOqmRvsITB/UtfpvkbMwAwJUIbp66NnPbV2KGCFnjNn7IEqabJQXfBLe/QLdjCGpHU+yEw==", "cpu": [ "arm64" ], @@ -72,9 +72,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.5.tgz", - "integrity": "sha512-8fI/AnIdmWz/+1iza2WrCw8kwXK9wZp/yZY/iS8ioC+U37yJCeppi9EHY05ewJKN64ASoBIseufZROtcFnX5GA==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.0.tgz", + "integrity": "sha512-TiOJmHQ8bXCGlYLpBd3Qy7N8dxi4n6q+nOmTzPr5Hb/bUr+PKuP4e5lWaOlpkaKc1Q9wsFt+sHfQpFCrM7SMow==", "cpu": [ "x64" ], @@ -88,9 +88,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.5.tgz", - "integrity": "sha512-EAvaoyIySV6Iif3NQCglUNpnMfHSUgC5ugt2efl3+QDntucJe5spn0udNZjTgNi6tKVqSceOw9tQ32liNZc1Xw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.0.tgz", + "integrity": "sha512-5GsFovtGyjMIXJrcCzmI1hX3TneCrmFncFIlo0WrRvWcVU6H094P854ZaP8qoLgevXhggO2dhlEGYY0Zv6/S9Q==", "cpu": [ "arm64" ], @@ -104,9 +104,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.5.tgz", - "integrity": "sha512-ha7QCJh1fuSwwCgoegfdaljowwWozwTDjBgjD3++WAy/qwee5uUi1gvOg2WENJC6EUyHBOkcd3YmLDYSZ2TPPA==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.0.tgz", + "integrity": "sha512-4K/QCksQ8F58rvC1D62Xi4q4E7YWpiyc3zy2H/n1W7y0hjQpOBBxciLn0qycMskP/m/I5h9HNbRlu1aK821sHg==", "cpu": [ "x64" ], @@ -120,9 +120,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.5.tgz", - "integrity": "sha512-VbdXJkn2aI2pQ/wxNEjEcnEDwPpxt3CWWMFYmO7CcdFBoOsABRy2W8F3kjbF9F/pecEUDcI3b5i2w+By4VQFPg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.0.tgz", + "integrity": "sha512-DMazN0UGzipD0Fi1O9pRX0xfp+JC3gSnFWxTWq88Dr/odWhZzm8Jqy44LN2veYeipb1fBMxhoEp7eCr902SWqg==", "cpu": [ "arm64" ], @@ -136,9 +136,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.5.tgz", - "integrity": "sha512-olgGYND1/XnnWxwhjtY3/ryjOG/M4WfcA6XH8dBTH1cxMeBemMODXSFhkw71Kf4TeZFFTN25YOomaNh0vq2iXg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.0.tgz", + "integrity": "sha512-GdkJAB3ZBiYnie9iFO9v/CM4ko0dm5SYkUs97lBKNLHw9mo4H9IXwGNKtUztisEsmUP0IWfEi4YTWOJF3DIO4w==", "cpu": [ "x64" ], @@ -152,9 +152,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.5.tgz", - "integrity": "sha512-YBdCyQwA3OQupi6W2/WO4FnI+NWFWe79cZEtlbqSESOHEg7a73htBIRiE6uHPQe7Yp5E4aALv+JxkRLGEUL7tw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.0.tgz", + "integrity": "sha512-A3Ue/oZdb43znNpeY71FrAjZF20MtnBKCGb1vXLIVg5qg8rRM1gRgn6X2ixYwATiw5dE04JnP+aV4OBf8c5ZvQ==", "cpu": [ "arm" ], @@ -168,9 +168,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.5.tgz", - "integrity": "sha512-8a0bqSwu3OlLCfu2FBbDNgQyBYdPJh1B9PvNX7jMaKGC9/KopgHs37t+pQqeMLzcyRqG6z55IGNQAMSlCpBuqg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.0.tgz", + "integrity": "sha512-Mb3yCN9PXA6G5qf84UF0IEuXP22eyNlquF17Zs2F1vVBM0CtyWLYosC5JaxBxfK6EzWwB2IkPBIjMeK3ek+ItA==", "cpu": [ "arm64" ], @@ -184,9 +184,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.5.tgz", - "integrity": "sha512-uCwm1r/+NdP7vndctgq3PoZrnmhmnecWAr114GWMRwg2QMFFX+kIWnp7IO220/JLgnXK/jP7VKAFBGmeOYBQYQ==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.0.tgz", + "integrity": "sha512-WNDXgJdfDhN6ZxHU7HgR2BRDVx9iGN8SpmebUUGdENg4MZJndGcaQuf2kCJjMwoK0+es1g61TeJzAMxfgDcmcA==", "cpu": [ "ia32" ], @@ -200,9 +200,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.5.tgz", - "integrity": "sha512-3YxhSBl5Sb6TtBjJu+HP93poBruFzgXmf3PVfIe4xOXMj1XpxboYZyw3W8BhoX/uwxzZz4K1I99jTE/5cgDT1g==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.0.tgz", + "integrity": "sha512-PBr8Lf+L8amvheTGFVNK/0qionszkOKMq2WyfFlVz8D41v0+uSth6fYYHwtASkMk4xf+oh0vW8NYuav3/3RHuQ==", "cpu": [ "loong64" ], @@ -216,9 +216,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.5.tgz", - "integrity": "sha512-Hy5Z0YVWyYHdtQ5mfmfp8LdhVwGbwVuq8mHzLqrG16BaMgEmit2xKO+iDakHs+OetEx0EN/2mUzDdfdktI+Nmg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.0.tgz", + "integrity": "sha512-Lg4ygah5bwfDDCOMFsBJjSVbD1UzNwWt4f7DhpaSIFOrJqoECX1VTByKw3iSDAVRlwl1cljlfy7wlysrRZcdiQ==", "cpu": [ "mips64el" ], @@ -232,9 +232,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.5.tgz", - "integrity": "sha512-5dbQvBLbU/Y3Q4ABc9gi23hww1mQcM7KZ9KBqabB7qhJswYMf8WrDDOSw3gdf3p+ffmijMd28mfVMvFucuECyg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.0.tgz", + "integrity": "sha512-obz/firdtou244DIjHzdKmJChwGseqA3tWGa6xPMfuq54Ca4Pp1a4ANMrqy2IZ67rfpRHcJTlb2h3rSfW6tvAA==", "cpu": [ "ppc64" ], @@ -248,9 +248,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.5.tgz", - "integrity": "sha512-fp/KUB/ZPzEWGTEUgz9wIAKCqu7CjH1GqXUO2WJdik1UNBQ7Xzw7myIajpxztE4Csb9504ERiFMxZg5KZ6HlZQ==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.0.tgz", + "integrity": "sha512-UkuBdxQsxi39wWrRLMOkJl//82/hpQw79TD+OBLw3IBYyVQ4Wfvpe56RfEGK/j439sIm79ccnD5RUNQceHvZdQ==", "cpu": [ "riscv64" ], @@ -264,9 +264,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.5.tgz", - "integrity": "sha512-kRV3yw19YDqHTp8SfHXfObUFXlaiiw4o2lvT1XjsPZ++22GqZwSsYWJLjMi1Sl7j9qDlDUduWDze/nQx0d6Lzw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.0.tgz", + "integrity": "sha512-MgyuC30oYB465hyAqsb3EH6Y4zTeqqgixRAOpsDNMCelyDiW9ZDPXvMPfBgCZGJlDZFGKDm2I9ou8E3VI+v7pg==", "cpu": [ "s390x" ], @@ -280,9 +280,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.5.tgz", - "integrity": "sha512-vnxuhh9e4pbtABNLbT2ANW4uwQ/zvcHRCm1JxaYkzSehugoFd5iXyC4ci1nhXU13mxEwCnrnTIiiSGwa/uAF1g==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.0.tgz", + "integrity": "sha512-oLLKU3F4pKWAsNmfi7Rd4qkj0qvg1S923ZjlcISA2IMgHsODA9xzwerqWayI5nOhLGgKXviDofn9exTeA4EUQQ==", "cpu": [ "x64" ], @@ -296,9 +296,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.5.tgz", - "integrity": "sha512-cigBpdiSx/vPy7doUyImsQQBnBjV5f1M99ZUlaJckDAJjgXWl6y9W17FIfJTy8TxosEF6MXq+fpLsitMGts2nA==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.0.tgz", + "integrity": "sha512-BEfJrZsZ/gMtpS2vC+2YoFGxmfLKiYQvj8lZrBfjKzQrwyMpH53CzQJj9ypOx9ldjM/MVxf9i9wi/rS4BWV7WA==", "cpu": [ "x64" ], @@ -312,9 +312,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.5.tgz", - "integrity": "sha512-VdqRqPVIjjZfkf40LrqOaVuhw9EQiAZ/GNCSM2UplDkaIzYVsSnycxcFfAnHdWI8Gyt6dO15KHikbpxwx+xHbw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.0.tgz", + "integrity": "sha512-eDolHeG3REnEIgwl7Lw2S0znUMY4PFVtCAzLKqdRO0HD+iPKJR8n2MEJJyhPdUjcobo8SEQ2AG6gtYfft9VFHg==", "cpu": [ "x64" ], @@ -328,9 +328,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.5.tgz", - "integrity": "sha512-ItxPaJ3MBLtI4nK+mALLEoUs6amxsx+J1ibnfcYMkqaCqHST1AkF4aENpBehty3czqw64r/XqL+W9WqU6kc2Qw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.0.tgz", + "integrity": "sha512-kl7vONem2wmRQke015rSrknmc6TYXKVNs2quiVTdvkSufscrjegpNqKyP7v6EHqXtvkzrB92ySjpfzazKG627g==", "cpu": [ "x64" ], @@ -344,9 +344,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.5.tgz", - "integrity": "sha512-4u2Q6qsJTYNFdS9zHoAi80spzf78C16m2wla4eJPh4kSbRv+BpXIfl6TmBSWupD8e47B1NrTfrOlEuco7mYQtg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.0.tgz", + "integrity": "sha512-WohArFQ3HStBu9MAsx3JUk2wfC2v8QoadnMoNfx3Y26ac54tD/wQhPzw4QOzQbSqOFqzIMLKWbxindTsko+9OA==", "cpu": [ "arm64" ], @@ -360,9 +360,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.5.tgz", - "integrity": "sha512-KYlm+Xu9TXsfTWAcocLuISRtqxKp/Y9ZBVg6CEEj0O5J9mn7YvBKzAszo2j1ndyzUPk+op+Tie2PJeN+BnXGqQ==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.0.tgz", + "integrity": "sha512-SdnpSOxpeoewYCurmfLVepLuhOAphWkGTxWHifFjp37DaUHwF1fpGzyxhZoXMt5MKGuAO5aE3c5668YYtno+9Q==", "cpu": [ "ia32" ], @@ -376,9 +376,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.5.tgz", - "integrity": "sha512-XgA9qWRqby7xdYXuF6KALsn37QGBMHsdhmnpjfZtYxKxbTOwfnDM6MYi2WuUku5poNaX2n9XGVr20zgT/2QwCw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.0.tgz", + "integrity": "sha512-WJxImv0Pehpbo+pgg7Xrn88/b6ZzSweNHTw/2LW95JjeQUIS6ToJeQmjAdud9H3yiHJmhLOmEAOvUdNLhptD0w==", "cpu": [ "x64" ], @@ -392,9 +392,9 @@ } }, "node_modules/@rometools/cli-darwin-arm64": { - "version": "11.0.0-nightly.fab5440", - "resolved": "https://registry.npmjs.org/@rometools/cli-darwin-arm64/-/cli-darwin-arm64-11.0.0-nightly.fab5440.tgz", - "integrity": "sha512-N82k2EJnr9PoBmmU1EWMcwKHf8qyuLi0IZwrmi6k4GclwPLtAEmnUmjA2sPyosxEBeYHcrZ17Pb04t+9Id9ZRQ==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/@rometools/cli-darwin-arm64/-/cli-darwin-arm64-12.1.3.tgz", + "integrity": "sha512-AmFTUDYjBuEGQp/Wwps+2cqUr+qhR7gyXAUnkL5psCuNCz3807TrUq/ecOoct5MIavGJTH6R4aaSL6+f+VlBEg==", "cpu": [ "arm64" ], @@ -405,9 +405,9 @@ ] }, "node_modules/@rometools/cli-darwin-x64": { - "version": "11.0.0-nightly.fab5440", - "resolved": "https://registry.npmjs.org/@rometools/cli-darwin-x64/-/cli-darwin-x64-11.0.0-nightly.fab5440.tgz", - "integrity": "sha512-E7AHmJIt7nGoPGm+ZveWbTcGQXlIi5QsxqvaOTXKUNTrbUOcqBCSyxxSFNJVhC+H6bn6MP7JZUv3WlTcpW3lYg==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/@rometools/cli-darwin-x64/-/cli-darwin-x64-12.1.3.tgz", + "integrity": "sha512-k8MbWna8q4LRlb005N2X+JS1UQ+s3ZLBBvwk4fP8TBxlAJXUz17jLLu/Fi+7DTTEmMhM84TWj4FDKW+rNar28g==", "cpu": [ "x64" ], @@ -418,9 +418,9 @@ ] }, "node_modules/@rometools/cli-linux-arm64": { - "version": "11.0.0-nightly.fab5440", - "resolved": "https://registry.npmjs.org/@rometools/cli-linux-arm64/-/cli-linux-arm64-11.0.0-nightly.fab5440.tgz", - "integrity": "sha512-ZOmac0uvBiJXJNeW6L0z3VthdST4DWt97LLap6v3TZ+699Jp5BTKGa78OeoycWS0TeLfUJgJiaCX0Y81rOltPA==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/@rometools/cli-linux-arm64/-/cli-linux-arm64-12.1.3.tgz", + "integrity": "sha512-X/uLhJ2/FNA3nu5TiyeNPqiD3OZoFfNfRvw6a3ut0jEREPvEn72NI7WPijH/gxSz55znfQ7UQ6iM4DZumUknJg==", "cpu": [ "arm64" ], @@ -431,9 +431,9 @@ ] }, "node_modules/@rometools/cli-linux-x64": { - "version": "11.0.0-nightly.fab5440", - "resolved": "https://registry.npmjs.org/@rometools/cli-linux-x64/-/cli-linux-x64-11.0.0-nightly.fab5440.tgz", - "integrity": "sha512-+XLEOKVDbkOUTURZVrKHG5pe9FZxBnmGaQb9FUd3P+PudmgrGdQNgB6Tte1zIplIEJdWkjy5/CdsmtMtTjTOgg==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/@rometools/cli-linux-x64/-/cli-linux-x64-12.1.3.tgz", + "integrity": "sha512-csP17q1eWiUXx9z6Jr/JJPibkplyKIwiWPYNzvPCGE8pHlKhwZj3YHRuu7Dm/4EOqx0XFIuqqWZUYm9bkIC8xg==", "cpu": [ "x64" ], @@ -444,9 +444,9 @@ ] }, "node_modules/@rometools/cli-win32-arm64": { - "version": "11.0.0-nightly.fab5440", - "resolved": "https://registry.npmjs.org/@rometools/cli-win32-arm64/-/cli-win32-arm64-11.0.0-nightly.fab5440.tgz", - "integrity": "sha512-Rern/8vQH/8pyPLwCYIzAwr1Ml/moDHMV5UZ0q1vvEGxZj/rT73BaIB0qJcKJIbnTKVMYr8Xsy+aJpb+e5pS5g==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/@rometools/cli-win32-arm64/-/cli-win32-arm64-12.1.3.tgz", + "integrity": "sha512-RymHWeod57EBOJY4P636CgUwYA6BQdkQjh56XKk4pLEHO6X1bFyMet2XL7KlHw5qOTalzuzf5jJqUs+vf3jdXQ==", "cpu": [ "arm64" ], @@ -457,9 +457,9 @@ ] }, "node_modules/@rometools/cli-win32-x64": { - "version": "11.0.0-nightly.fab5440", - "resolved": "https://registry.npmjs.org/@rometools/cli-win32-x64/-/cli-win32-x64-11.0.0-nightly.fab5440.tgz", - "integrity": "sha512-0GN5SAUtRgN5ZWyGBF+9mzxC1HtcKgjjQTPbm7J109W70/oNrBX4UE9XiIk+Y+qRbM14PSkbOKU4uPAjgNLuaQ==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/@rometools/cli-win32-x64/-/cli-win32-x64-12.1.3.tgz", + "integrity": "sha512-yHSKYidqJMV9nADqg78GYA+cZ0hS1twANAjiFibQdXj9aGzD+s/IzIFEIi/U/OBLvWYg/SCw0QVozi2vTlKFDQ==", "cpu": [ "x64" ], @@ -470,23 +470,23 @@ ] }, "node_modules/@types/node": { - "version": "14.18.36", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", - "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "version": "14.18.50", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.50.tgz", + "integrity": "sha512-DdJP83r2Zp5x32la3jEzjIlB85+2gMPUHP1xFL2xFORzbJ94sNwh4b6ZBaF6EN/7BTII6mba3yakqfLEnt5eZg==", "dev": true }, "node_modules/commander": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz", - "integrity": "sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "engines": { "node": ">=14" } }, "node_modules/esbuild": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.5.tgz", - "integrity": "sha512-Bu6WLCc9NMsNoMJUjGl3yBzTjVLXdysMltxQWiLAypP+/vQrf+3L1Xe8fCXzxaECus2cEJ9M7pk4yKatEwQMqQ==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.0.tgz", + "integrity": "sha512-/2sQaWHNX2jkglLu85EjmEAR2ANpKOa1kp2rAE3wjKcuYjEHFlB+D60tn6W9BRgHiAQEKYtl4hEygKWothfDEA==", "dev": true, "hasInstallScript": true, "bin": { @@ -496,46 +496,46 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.17.5", - "@esbuild/android-arm64": "0.17.5", - "@esbuild/android-x64": "0.17.5", - "@esbuild/darwin-arm64": "0.17.5", - "@esbuild/darwin-x64": "0.17.5", - "@esbuild/freebsd-arm64": "0.17.5", - "@esbuild/freebsd-x64": "0.17.5", - "@esbuild/linux-arm": "0.17.5", - "@esbuild/linux-arm64": "0.17.5", - "@esbuild/linux-ia32": "0.17.5", - "@esbuild/linux-loong64": "0.17.5", - "@esbuild/linux-mips64el": "0.17.5", - "@esbuild/linux-ppc64": "0.17.5", - "@esbuild/linux-riscv64": "0.17.5", - "@esbuild/linux-s390x": "0.17.5", - "@esbuild/linux-x64": "0.17.5", - "@esbuild/netbsd-x64": "0.17.5", - "@esbuild/openbsd-x64": "0.17.5", - "@esbuild/sunos-x64": "0.17.5", - "@esbuild/win32-arm64": "0.17.5", - "@esbuild/win32-ia32": "0.17.5", - "@esbuild/win32-x64": "0.17.5" + "@esbuild/android-arm": "0.18.0", + "@esbuild/android-arm64": "0.18.0", + "@esbuild/android-x64": "0.18.0", + "@esbuild/darwin-arm64": "0.18.0", + "@esbuild/darwin-x64": "0.18.0", + "@esbuild/freebsd-arm64": "0.18.0", + "@esbuild/freebsd-x64": "0.18.0", + "@esbuild/linux-arm": "0.18.0", + "@esbuild/linux-arm64": "0.18.0", + "@esbuild/linux-ia32": "0.18.0", + "@esbuild/linux-loong64": "0.18.0", + "@esbuild/linux-mips64el": "0.18.0", + "@esbuild/linux-ppc64": "0.18.0", + "@esbuild/linux-riscv64": "0.18.0", + "@esbuild/linux-s390x": "0.18.0", + "@esbuild/linux-x64": "0.18.0", + "@esbuild/netbsd-x64": "0.18.0", + "@esbuild/openbsd-x64": "0.18.0", + "@esbuild/sunos-x64": "0.18.0", + "@esbuild/win32-arm64": "0.18.0", + "@esbuild/win32-ia32": "0.18.0", + "@esbuild/win32-x64": "0.18.0" } }, "node_modules/oletus": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/oletus/-/oletus-3.3.0.tgz", - "integrity": "sha512-Vbyw2FdICsRVLzT/9C26mcyhlElkMYXG1BECDMZ1BVT7fwzk4RicdsM9Of4rjbcHYe1hkUzc2cOaSISD4jGZDA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/oletus/-/oletus-4.0.0.tgz", + "integrity": "sha512-51GOuIDVdXuLJoiz97iHf+S8CWz+Ta7hv6LLzAkE0FCETNbaqStHXwGNCrpZ0ZPFiG9lkwIjmirI/mkoFItTGg==", "dev": true, "bin": { - "oletus": "cli.mjs" + "oletus": "cli.js" }, "engines": { - "node": ">= 12.0.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/rome": { - "version": "11.0.0-nightly.fab5440", - "resolved": "https://registry.npmjs.org/rome/-/rome-11.0.0-nightly.fab5440.tgz", - "integrity": "sha512-EZUuh7QHNBKIVcGKByqn2ydmM3PHyo0RPH8j2iWM91pJj/z8f4BixAFr4He7QmJcwvVJRDDh8b17E3Y+Fj7Naw==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/rome/-/rome-12.1.3.tgz", + "integrity": "sha512-e+ff72hxDpe/t5/Us7YRBVw3PBET7SeczTQNn6tvrWdrCaAw3qOukQQ+tDCkyFtS4yGsnhjrJbm43ctNbz27Yg==", "dev": true, "hasInstallScript": true, "bin": { @@ -545,25 +545,25 @@ "node": ">=14.*" }, "optionalDependencies": { - "@rometools/cli-darwin-arm64": "11.0.0-nightly.fab5440", - "@rometools/cli-darwin-x64": "11.0.0-nightly.fab5440", - "@rometools/cli-linux-arm64": "11.0.0-nightly.fab5440", - "@rometools/cli-linux-x64": "11.0.0-nightly.fab5440", - "@rometools/cli-win32-arm64": "11.0.0-nightly.fab5440", - "@rometools/cli-win32-x64": "11.0.0-nightly.fab5440" + "@rometools/cli-darwin-arm64": "12.1.3", + "@rometools/cli-darwin-x64": "12.1.3", + "@rometools/cli-linux-arm64": "12.1.3", + "@rometools/cli-linux-x64": "12.1.3", + "@rometools/cli-win32-arm64": "12.1.3", + "@rometools/cli-win32-x64": "12.1.3" } }, "node_modules/typescript": { - "version": "5.0.0-beta", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.0-beta.tgz", - "integrity": "sha512-+SSabbSXG5mtF+QGdV9uXXt9Saq1cSyI6hSG7znhaLoquleJpnmfkwSxFngK9c2fWWi1W/263TuzXQOsIcdjjA==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", + "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/validate-commit-message": { @@ -584,266 +584,266 @@ "dev": true }, "@esbuild/android-arm": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.5.tgz", - "integrity": "sha512-crmPUzgCmF+qZXfl1YkiFoUta2XAfixR1tEnr/gXIixE+WL8Z0BGqfydP5oox0EUOgQMMRgtATtakyAcClQVqQ==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.0.tgz", + "integrity": "sha512-+uLHSiWK3qOeyDYCf/nuvIgCnQsYjXWNa3TlGYLW1pPG7OYMawllU+VyBgHQPjF2aIUVFpfrvz5aAfxGk/0qNg==", "dev": true, "optional": true }, "@esbuild/android-arm64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.5.tgz", - "integrity": "sha512-KHWkDqYAMmKZjY4RAN1PR96q6UOtfkWlTS8uEwWxdLtkRt/0F/csUhXIrVfaSIFxnscIBMPynGfhsMwQDRIBQw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.0.tgz", + "integrity": "sha512-nAwRCs5+jxi3gBMVkOqmRvsITB/UtfpvkbMwAwJUIbp66NnPbV2KGCFnjNn7IEqabJQXfBLe/QLdjCGpHU+yEw==", "dev": true, "optional": true }, "@esbuild/android-x64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.5.tgz", - "integrity": "sha512-8fI/AnIdmWz/+1iza2WrCw8kwXK9wZp/yZY/iS8ioC+U37yJCeppi9EHY05ewJKN64ASoBIseufZROtcFnX5GA==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.0.tgz", + "integrity": "sha512-TiOJmHQ8bXCGlYLpBd3Qy7N8dxi4n6q+nOmTzPr5Hb/bUr+PKuP4e5lWaOlpkaKc1Q9wsFt+sHfQpFCrM7SMow==", "dev": true, "optional": true }, "@esbuild/darwin-arm64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.5.tgz", - "integrity": "sha512-EAvaoyIySV6Iif3NQCglUNpnMfHSUgC5ugt2efl3+QDntucJe5spn0udNZjTgNi6tKVqSceOw9tQ32liNZc1Xw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.0.tgz", + "integrity": "sha512-5GsFovtGyjMIXJrcCzmI1hX3TneCrmFncFIlo0WrRvWcVU6H094P854ZaP8qoLgevXhggO2dhlEGYY0Zv6/S9Q==", "dev": true, "optional": true }, "@esbuild/darwin-x64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.5.tgz", - "integrity": "sha512-ha7QCJh1fuSwwCgoegfdaljowwWozwTDjBgjD3++WAy/qwee5uUi1gvOg2WENJC6EUyHBOkcd3YmLDYSZ2TPPA==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.0.tgz", + "integrity": "sha512-4K/QCksQ8F58rvC1D62Xi4q4E7YWpiyc3zy2H/n1W7y0hjQpOBBxciLn0qycMskP/m/I5h9HNbRlu1aK821sHg==", "dev": true, "optional": true }, "@esbuild/freebsd-arm64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.5.tgz", - "integrity": "sha512-VbdXJkn2aI2pQ/wxNEjEcnEDwPpxt3CWWMFYmO7CcdFBoOsABRy2W8F3kjbF9F/pecEUDcI3b5i2w+By4VQFPg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.0.tgz", + "integrity": "sha512-DMazN0UGzipD0Fi1O9pRX0xfp+JC3gSnFWxTWq88Dr/odWhZzm8Jqy44LN2veYeipb1fBMxhoEp7eCr902SWqg==", "dev": true, "optional": true }, "@esbuild/freebsd-x64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.5.tgz", - "integrity": "sha512-olgGYND1/XnnWxwhjtY3/ryjOG/M4WfcA6XH8dBTH1cxMeBemMODXSFhkw71Kf4TeZFFTN25YOomaNh0vq2iXg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.0.tgz", + "integrity": "sha512-GdkJAB3ZBiYnie9iFO9v/CM4ko0dm5SYkUs97lBKNLHw9mo4H9IXwGNKtUztisEsmUP0IWfEi4YTWOJF3DIO4w==", "dev": true, "optional": true }, "@esbuild/linux-arm": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.5.tgz", - "integrity": "sha512-YBdCyQwA3OQupi6W2/WO4FnI+NWFWe79cZEtlbqSESOHEg7a73htBIRiE6uHPQe7Yp5E4aALv+JxkRLGEUL7tw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.0.tgz", + "integrity": "sha512-A3Ue/oZdb43znNpeY71FrAjZF20MtnBKCGb1vXLIVg5qg8rRM1gRgn6X2ixYwATiw5dE04JnP+aV4OBf8c5ZvQ==", "dev": true, "optional": true }, "@esbuild/linux-arm64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.5.tgz", - "integrity": "sha512-8a0bqSwu3OlLCfu2FBbDNgQyBYdPJh1B9PvNX7jMaKGC9/KopgHs37t+pQqeMLzcyRqG6z55IGNQAMSlCpBuqg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.0.tgz", + "integrity": "sha512-Mb3yCN9PXA6G5qf84UF0IEuXP22eyNlquF17Zs2F1vVBM0CtyWLYosC5JaxBxfK6EzWwB2IkPBIjMeK3ek+ItA==", "dev": true, "optional": true }, "@esbuild/linux-ia32": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.5.tgz", - "integrity": "sha512-uCwm1r/+NdP7vndctgq3PoZrnmhmnecWAr114GWMRwg2QMFFX+kIWnp7IO220/JLgnXK/jP7VKAFBGmeOYBQYQ==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.0.tgz", + "integrity": "sha512-WNDXgJdfDhN6ZxHU7HgR2BRDVx9iGN8SpmebUUGdENg4MZJndGcaQuf2kCJjMwoK0+es1g61TeJzAMxfgDcmcA==", "dev": true, "optional": true }, "@esbuild/linux-loong64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.5.tgz", - "integrity": "sha512-3YxhSBl5Sb6TtBjJu+HP93poBruFzgXmf3PVfIe4xOXMj1XpxboYZyw3W8BhoX/uwxzZz4K1I99jTE/5cgDT1g==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.0.tgz", + "integrity": "sha512-PBr8Lf+L8amvheTGFVNK/0qionszkOKMq2WyfFlVz8D41v0+uSth6fYYHwtASkMk4xf+oh0vW8NYuav3/3RHuQ==", "dev": true, "optional": true }, "@esbuild/linux-mips64el": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.5.tgz", - "integrity": "sha512-Hy5Z0YVWyYHdtQ5mfmfp8LdhVwGbwVuq8mHzLqrG16BaMgEmit2xKO+iDakHs+OetEx0EN/2mUzDdfdktI+Nmg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.0.tgz", + "integrity": "sha512-Lg4ygah5bwfDDCOMFsBJjSVbD1UzNwWt4f7DhpaSIFOrJqoECX1VTByKw3iSDAVRlwl1cljlfy7wlysrRZcdiQ==", "dev": true, "optional": true }, "@esbuild/linux-ppc64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.5.tgz", - "integrity": "sha512-5dbQvBLbU/Y3Q4ABc9gi23hww1mQcM7KZ9KBqabB7qhJswYMf8WrDDOSw3gdf3p+ffmijMd28mfVMvFucuECyg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.0.tgz", + "integrity": "sha512-obz/firdtou244DIjHzdKmJChwGseqA3tWGa6xPMfuq54Ca4Pp1a4ANMrqy2IZ67rfpRHcJTlb2h3rSfW6tvAA==", "dev": true, "optional": true }, "@esbuild/linux-riscv64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.5.tgz", - "integrity": "sha512-fp/KUB/ZPzEWGTEUgz9wIAKCqu7CjH1GqXUO2WJdik1UNBQ7Xzw7myIajpxztE4Csb9504ERiFMxZg5KZ6HlZQ==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.0.tgz", + "integrity": "sha512-UkuBdxQsxi39wWrRLMOkJl//82/hpQw79TD+OBLw3IBYyVQ4Wfvpe56RfEGK/j439sIm79ccnD5RUNQceHvZdQ==", "dev": true, "optional": true }, "@esbuild/linux-s390x": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.5.tgz", - "integrity": "sha512-kRV3yw19YDqHTp8SfHXfObUFXlaiiw4o2lvT1XjsPZ++22GqZwSsYWJLjMi1Sl7j9qDlDUduWDze/nQx0d6Lzw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.0.tgz", + "integrity": "sha512-MgyuC30oYB465hyAqsb3EH6Y4zTeqqgixRAOpsDNMCelyDiW9ZDPXvMPfBgCZGJlDZFGKDm2I9ou8E3VI+v7pg==", "dev": true, "optional": true }, "@esbuild/linux-x64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.5.tgz", - "integrity": "sha512-vnxuhh9e4pbtABNLbT2ANW4uwQ/zvcHRCm1JxaYkzSehugoFd5iXyC4ci1nhXU13mxEwCnrnTIiiSGwa/uAF1g==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.0.tgz", + "integrity": "sha512-oLLKU3F4pKWAsNmfi7Rd4qkj0qvg1S923ZjlcISA2IMgHsODA9xzwerqWayI5nOhLGgKXviDofn9exTeA4EUQQ==", "dev": true, "optional": true }, "@esbuild/netbsd-x64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.5.tgz", - "integrity": "sha512-cigBpdiSx/vPy7doUyImsQQBnBjV5f1M99ZUlaJckDAJjgXWl6y9W17FIfJTy8TxosEF6MXq+fpLsitMGts2nA==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.0.tgz", + "integrity": "sha512-BEfJrZsZ/gMtpS2vC+2YoFGxmfLKiYQvj8lZrBfjKzQrwyMpH53CzQJj9ypOx9ldjM/MVxf9i9wi/rS4BWV7WA==", "dev": true, "optional": true }, "@esbuild/openbsd-x64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.5.tgz", - "integrity": "sha512-VdqRqPVIjjZfkf40LrqOaVuhw9EQiAZ/GNCSM2UplDkaIzYVsSnycxcFfAnHdWI8Gyt6dO15KHikbpxwx+xHbw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.0.tgz", + "integrity": "sha512-eDolHeG3REnEIgwl7Lw2S0znUMY4PFVtCAzLKqdRO0HD+iPKJR8n2MEJJyhPdUjcobo8SEQ2AG6gtYfft9VFHg==", "dev": true, "optional": true }, "@esbuild/sunos-x64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.5.tgz", - "integrity": "sha512-ItxPaJ3MBLtI4nK+mALLEoUs6amxsx+J1ibnfcYMkqaCqHST1AkF4aENpBehty3czqw64r/XqL+W9WqU6kc2Qw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.0.tgz", + "integrity": "sha512-kl7vONem2wmRQke015rSrknmc6TYXKVNs2quiVTdvkSufscrjegpNqKyP7v6EHqXtvkzrB92ySjpfzazKG627g==", "dev": true, "optional": true }, "@esbuild/win32-arm64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.5.tgz", - "integrity": "sha512-4u2Q6qsJTYNFdS9zHoAi80spzf78C16m2wla4eJPh4kSbRv+BpXIfl6TmBSWupD8e47B1NrTfrOlEuco7mYQtg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.0.tgz", + "integrity": "sha512-WohArFQ3HStBu9MAsx3JUk2wfC2v8QoadnMoNfx3Y26ac54tD/wQhPzw4QOzQbSqOFqzIMLKWbxindTsko+9OA==", "dev": true, "optional": true }, "@esbuild/win32-ia32": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.5.tgz", - "integrity": "sha512-KYlm+Xu9TXsfTWAcocLuISRtqxKp/Y9ZBVg6CEEj0O5J9mn7YvBKzAszo2j1ndyzUPk+op+Tie2PJeN+BnXGqQ==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.0.tgz", + "integrity": "sha512-SdnpSOxpeoewYCurmfLVepLuhOAphWkGTxWHifFjp37DaUHwF1fpGzyxhZoXMt5MKGuAO5aE3c5668YYtno+9Q==", "dev": true, "optional": true }, "@esbuild/win32-x64": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.5.tgz", - "integrity": "sha512-XgA9qWRqby7xdYXuF6KALsn37QGBMHsdhmnpjfZtYxKxbTOwfnDM6MYi2WuUku5poNaX2n9XGVr20zgT/2QwCw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.0.tgz", + "integrity": "sha512-WJxImv0Pehpbo+pgg7Xrn88/b6ZzSweNHTw/2LW95JjeQUIS6ToJeQmjAdud9H3yiHJmhLOmEAOvUdNLhptD0w==", "dev": true, "optional": true }, "@rometools/cli-darwin-arm64": { - "version": "11.0.0-nightly.fab5440", - "resolved": "https://registry.npmjs.org/@rometools/cli-darwin-arm64/-/cli-darwin-arm64-11.0.0-nightly.fab5440.tgz", - "integrity": "sha512-N82k2EJnr9PoBmmU1EWMcwKHf8qyuLi0IZwrmi6k4GclwPLtAEmnUmjA2sPyosxEBeYHcrZ17Pb04t+9Id9ZRQ==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/@rometools/cli-darwin-arm64/-/cli-darwin-arm64-12.1.3.tgz", + "integrity": "sha512-AmFTUDYjBuEGQp/Wwps+2cqUr+qhR7gyXAUnkL5psCuNCz3807TrUq/ecOoct5MIavGJTH6R4aaSL6+f+VlBEg==", "dev": true, "optional": true }, "@rometools/cli-darwin-x64": { - "version": "11.0.0-nightly.fab5440", - "resolved": "https://registry.npmjs.org/@rometools/cli-darwin-x64/-/cli-darwin-x64-11.0.0-nightly.fab5440.tgz", - "integrity": "sha512-E7AHmJIt7nGoPGm+ZveWbTcGQXlIi5QsxqvaOTXKUNTrbUOcqBCSyxxSFNJVhC+H6bn6MP7JZUv3WlTcpW3lYg==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/@rometools/cli-darwin-x64/-/cli-darwin-x64-12.1.3.tgz", + "integrity": "sha512-k8MbWna8q4LRlb005N2X+JS1UQ+s3ZLBBvwk4fP8TBxlAJXUz17jLLu/Fi+7DTTEmMhM84TWj4FDKW+rNar28g==", "dev": true, "optional": true }, "@rometools/cli-linux-arm64": { - "version": "11.0.0-nightly.fab5440", - "resolved": "https://registry.npmjs.org/@rometools/cli-linux-arm64/-/cli-linux-arm64-11.0.0-nightly.fab5440.tgz", - "integrity": "sha512-ZOmac0uvBiJXJNeW6L0z3VthdST4DWt97LLap6v3TZ+699Jp5BTKGa78OeoycWS0TeLfUJgJiaCX0Y81rOltPA==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/@rometools/cli-linux-arm64/-/cli-linux-arm64-12.1.3.tgz", + "integrity": "sha512-X/uLhJ2/FNA3nu5TiyeNPqiD3OZoFfNfRvw6a3ut0jEREPvEn72NI7WPijH/gxSz55znfQ7UQ6iM4DZumUknJg==", "dev": true, "optional": true }, "@rometools/cli-linux-x64": { - "version": "11.0.0-nightly.fab5440", - "resolved": "https://registry.npmjs.org/@rometools/cli-linux-x64/-/cli-linux-x64-11.0.0-nightly.fab5440.tgz", - "integrity": "sha512-+XLEOKVDbkOUTURZVrKHG5pe9FZxBnmGaQb9FUd3P+PudmgrGdQNgB6Tte1zIplIEJdWkjy5/CdsmtMtTjTOgg==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/@rometools/cli-linux-x64/-/cli-linux-x64-12.1.3.tgz", + "integrity": "sha512-csP17q1eWiUXx9z6Jr/JJPibkplyKIwiWPYNzvPCGE8pHlKhwZj3YHRuu7Dm/4EOqx0XFIuqqWZUYm9bkIC8xg==", "dev": true, "optional": true }, "@rometools/cli-win32-arm64": { - "version": "11.0.0-nightly.fab5440", - "resolved": "https://registry.npmjs.org/@rometools/cli-win32-arm64/-/cli-win32-arm64-11.0.0-nightly.fab5440.tgz", - "integrity": "sha512-Rern/8vQH/8pyPLwCYIzAwr1Ml/moDHMV5UZ0q1vvEGxZj/rT73BaIB0qJcKJIbnTKVMYr8Xsy+aJpb+e5pS5g==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/@rometools/cli-win32-arm64/-/cli-win32-arm64-12.1.3.tgz", + "integrity": "sha512-RymHWeod57EBOJY4P636CgUwYA6BQdkQjh56XKk4pLEHO6X1bFyMet2XL7KlHw5qOTalzuzf5jJqUs+vf3jdXQ==", "dev": true, "optional": true }, "@rometools/cli-win32-x64": { - "version": "11.0.0-nightly.fab5440", - "resolved": "https://registry.npmjs.org/@rometools/cli-win32-x64/-/cli-win32-x64-11.0.0-nightly.fab5440.tgz", - "integrity": "sha512-0GN5SAUtRgN5ZWyGBF+9mzxC1HtcKgjjQTPbm7J109W70/oNrBX4UE9XiIk+Y+qRbM14PSkbOKU4uPAjgNLuaQ==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/@rometools/cli-win32-x64/-/cli-win32-x64-12.1.3.tgz", + "integrity": "sha512-yHSKYidqJMV9nADqg78GYA+cZ0hS1twANAjiFibQdXj9aGzD+s/IzIFEIi/U/OBLvWYg/SCw0QVozi2vTlKFDQ==", "dev": true, "optional": true }, "@types/node": { - "version": "14.18.36", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", - "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "version": "14.18.50", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.50.tgz", + "integrity": "sha512-DdJP83r2Zp5x32la3jEzjIlB85+2gMPUHP1xFL2xFORzbJ94sNwh4b6ZBaF6EN/7BTII6mba3yakqfLEnt5eZg==", "dev": true }, "commander": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz", - "integrity": "sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==" + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==" }, "esbuild": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.5.tgz", - "integrity": "sha512-Bu6WLCc9NMsNoMJUjGl3yBzTjVLXdysMltxQWiLAypP+/vQrf+3L1Xe8fCXzxaECus2cEJ9M7pk4yKatEwQMqQ==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.0.tgz", + "integrity": "sha512-/2sQaWHNX2jkglLu85EjmEAR2ANpKOa1kp2rAE3wjKcuYjEHFlB+D60tn6W9BRgHiAQEKYtl4hEygKWothfDEA==", "dev": true, "requires": { - "@esbuild/android-arm": "0.17.5", - "@esbuild/android-arm64": "0.17.5", - "@esbuild/android-x64": "0.17.5", - "@esbuild/darwin-arm64": "0.17.5", - "@esbuild/darwin-x64": "0.17.5", - "@esbuild/freebsd-arm64": "0.17.5", - "@esbuild/freebsd-x64": "0.17.5", - "@esbuild/linux-arm": "0.17.5", - "@esbuild/linux-arm64": "0.17.5", - "@esbuild/linux-ia32": "0.17.5", - "@esbuild/linux-loong64": "0.17.5", - "@esbuild/linux-mips64el": "0.17.5", - "@esbuild/linux-ppc64": "0.17.5", - "@esbuild/linux-riscv64": "0.17.5", - "@esbuild/linux-s390x": "0.17.5", - "@esbuild/linux-x64": "0.17.5", - "@esbuild/netbsd-x64": "0.17.5", - "@esbuild/openbsd-x64": "0.17.5", - "@esbuild/sunos-x64": "0.17.5", - "@esbuild/win32-arm64": "0.17.5", - "@esbuild/win32-ia32": "0.17.5", - "@esbuild/win32-x64": "0.17.5" + "@esbuild/android-arm": "0.18.0", + "@esbuild/android-arm64": "0.18.0", + "@esbuild/android-x64": "0.18.0", + "@esbuild/darwin-arm64": "0.18.0", + "@esbuild/darwin-x64": "0.18.0", + "@esbuild/freebsd-arm64": "0.18.0", + "@esbuild/freebsd-x64": "0.18.0", + "@esbuild/linux-arm": "0.18.0", + "@esbuild/linux-arm64": "0.18.0", + "@esbuild/linux-ia32": "0.18.0", + "@esbuild/linux-loong64": "0.18.0", + "@esbuild/linux-mips64el": "0.18.0", + "@esbuild/linux-ppc64": "0.18.0", + "@esbuild/linux-riscv64": "0.18.0", + "@esbuild/linux-s390x": "0.18.0", + "@esbuild/linux-x64": "0.18.0", + "@esbuild/netbsd-x64": "0.18.0", + "@esbuild/openbsd-x64": "0.18.0", + "@esbuild/sunos-x64": "0.18.0", + "@esbuild/win32-arm64": "0.18.0", + "@esbuild/win32-ia32": "0.18.0", + "@esbuild/win32-x64": "0.18.0" } }, "oletus": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/oletus/-/oletus-3.3.0.tgz", - "integrity": "sha512-Vbyw2FdICsRVLzT/9C26mcyhlElkMYXG1BECDMZ1BVT7fwzk4RicdsM9Of4rjbcHYe1hkUzc2cOaSISD4jGZDA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/oletus/-/oletus-4.0.0.tgz", + "integrity": "sha512-51GOuIDVdXuLJoiz97iHf+S8CWz+Ta7hv6LLzAkE0FCETNbaqStHXwGNCrpZ0ZPFiG9lkwIjmirI/mkoFItTGg==", "dev": true }, "rome": { - "version": "11.0.0-nightly.fab5440", - "resolved": "https://registry.npmjs.org/rome/-/rome-11.0.0-nightly.fab5440.tgz", - "integrity": "sha512-EZUuh7QHNBKIVcGKByqn2ydmM3PHyo0RPH8j2iWM91pJj/z8f4BixAFr4He7QmJcwvVJRDDh8b17E3Y+Fj7Naw==", + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/rome/-/rome-12.1.3.tgz", + "integrity": "sha512-e+ff72hxDpe/t5/Us7YRBVw3PBET7SeczTQNn6tvrWdrCaAw3qOukQQ+tDCkyFtS4yGsnhjrJbm43ctNbz27Yg==", "dev": true, "requires": { - "@rometools/cli-darwin-arm64": "11.0.0-nightly.fab5440", - "@rometools/cli-darwin-x64": "11.0.0-nightly.fab5440", - "@rometools/cli-linux-arm64": "11.0.0-nightly.fab5440", - "@rometools/cli-linux-x64": "11.0.0-nightly.fab5440", - "@rometools/cli-win32-arm64": "11.0.0-nightly.fab5440", - "@rometools/cli-win32-x64": "11.0.0-nightly.fab5440" + "@rometools/cli-darwin-arm64": "12.1.3", + "@rometools/cli-darwin-x64": "12.1.3", + "@rometools/cli-linux-arm64": "12.1.3", + "@rometools/cli-linux-x64": "12.1.3", + "@rometools/cli-win32-arm64": "12.1.3", + "@rometools/cli-win32-x64": "12.1.3" } }, "typescript": { - "version": "5.0.0-beta", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.0-beta.tgz", - "integrity": "sha512-+SSabbSXG5mtF+QGdV9uXXt9Saq1cSyI6hSG7znhaLoquleJpnmfkwSxFngK9c2fWWi1W/263TuzXQOsIcdjjA==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", + "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", "dev": true }, "validate-commit-message": { diff --git a/package.json b/package.json index 400ef023..6b69a2cb 100644 --- a/package.json +++ b/package.json @@ -57,15 +57,15 @@ }, "devDependencies": { "@bare-ts/lib": "~0.3.0", - "@types/node": "~14.18.0", - "esbuild": "0.17.5", - "oletus": "3.3.0", - "rome": "11.0.0-nightly.fab5440", - "typescript": "5.0.0-beta", + "@types/node": "~14.18.49", + "esbuild": "0.18", + "oletus": "4.0.0", + "rome": "12.1.3", + "typescript": "5.1.3", "validate-commit-message": "3.2.0" }, "dependencies": { - "commander": "10.0.0" + "commander": "10.0.1" }, "peerDependencies": { "@bare-ts/lib": "~0.3.0" diff --git a/rome.json b/rome.json index 88b74b41..84202cd7 100644 --- a/rome.json +++ b/rome.json @@ -1,12 +1,17 @@ { + "$schema": "./node_modules/rome/configuration_schema.json", "formatter": { "indentStyle": "space", - "indentSize": 4 + "indentSize": 4, + "ignore": ["*.json", "./tsconfig-base.json"] }, "linter": { "enabled": true, "rules": { - "recommended": true + "all": true, + "nursery": { + "useLiteralKeys": "off" + } } }, "javascript": { @@ -14,5 +19,8 @@ "quoteProperties": "preserve", "semicolons": "asNeeded" } + }, + "organizeImports": { + "enabled": true } } diff --git a/scripts/build.sh b/scripts/build.sh index e181a7d8..04087ba7 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1,19 +1,23 @@ #!/bin/sh set -eu +# https://node.green/#ES2020 +# https://kangax.github.io/compat-table/es2016plus +TARGET=es2020 + # build .d.ts -npx tsc --build src +tsc --build src/ cp -f dist/index.d.ts dist/index.d.cts # build ESM -npx esbuild src/index.ts src/*/*.ts --outdir=dist --log-level=warning +esbuild src/index.ts src/*/*.ts --target=$TARGET --outdir=dist --log-level=warning # build CommonJS (fallback) -npx esbuild src/index.ts --bundle --platform=node > dist/index.cjs +esbuild src/index.ts --bundle --target=$TARGET --platform=node > dist/index.cjs # build cli (bin) -npx esbuild src/cli.ts --define:VERSION=\""$npm_package_version"\" > dist/cli.js +esbuild src/cli.ts --target=$TARGET --define:VERSION=\""$npm_package_version"\" > dist/cli.js # build standalone cli program -npx esbuild dist/cli.js --bundle --minify --keep-names --platform=node > dist/bare +esbuild dist/cli.js --bundle --target=$TARGET --minify --keep-names --platform=node > dist/bare diff --git a/scripts/generate-tests-corpus.js b/scripts/generate-tests-corpus.js index 0bc97f30..57ccb753 100644 --- a/scripts/generate-tests-corpus.js +++ b/scripts/generate-tests-corpus.js @@ -1,6 +1,6 @@ #!/usr/bin/env node -import { Config, configure, transform, parse } from "@bare-ts/tools" +import { Config, configure, parse, transform } from "@bare-ts/tools" import * as fs from "node:fs" import * as path from "node:path" diff --git a/scripts/test.sh b/scripts/test.sh index 5b58d664..39823f70 100644 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -1,14 +1,13 @@ #!/bin/sh -set -eu -npm run build +. scripts/build.sh # unit tests -npx oletus dist/*/*.test.js tests-corpus/*.test.js tests-corpus/*/*/*.test.js +oletus dist/*/*.test.js tests-corpus/*.test.js tests-corpus/*/*/*.test.js # lint -npx rome ci src scripts -npx rome check tests-corpus +rome ci src scripts +rome check tests-corpus # type check -npx tsc --build src/tsconfig-*.json tests-corpus +tsc --build src/tsconfig-test.json tests-corpus/ diff --git a/src/cli.ts b/src/cli.ts index 3a7c2b45..1243b909 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -3,10 +3,10 @@ //! Copyright (c) 2022 Victorien Elvinger //! Licensed under the MIT License (https://mit-license.org/) +import { Config, transform } from "./index.js" import { Argument, Option, program } from "commander" import * as fs from "node:fs" import * as process from "node:process" -import { Config, transform } from "./index.js" // WARNING: This constant MUST be defined at build time. declare const VERSION: string diff --git a/src/generator/js-generator.ts b/src/generator/js-generator.ts index 170cfbc0..8aa9876a 100644 --- a/src/generator/js-generator.ts +++ b/src/generator/js-generator.ts @@ -74,9 +74,6 @@ export function generate(schema: ast.Ast, config: Config): string { } } let head = "" - if (/\bassert\(/.test(body)) { - head += 'import assert from "assert"\n' - } if (/bare\./.test(body)) { head += // Are values imported? g.config.generator !== "ts" || @@ -85,8 +82,11 @@ export function generate(schema: ast.Ast, config: Config): string { ? 'import * as bare from "@bare-ts/lib"\n' : 'import type * as bare from "@bare-ts/lib"\n' } + if (/\bassert\(/.test(body)) { + head += 'import assert from "node:assert"\n' + } if (/ext\./.test(body)) { - head += 'import * as ext from "./ext.js"\n' + head += '\nimport * as ext from "./ext.js"\n' } if ( hasEncodeDecode && @@ -918,9 +918,10 @@ function genBaseFlatUnionWriter(g: Gen, union: ast.UnionType): string { const type = union.types[i] if (type.tag === "void") { defaultCase = ` - default: + default: { bare.${tagWriter}(bc, ${tagVal}) - break` + break + }` } else { const valWriting = genWriting(g, type, "$x") switchBody += ` diff --git a/src/parser/bare-parser.ts b/src/parser/bare-parser.ts index fd707c4a..c42221b5 100644 --- a/src/parser/bare-parser.ts +++ b/src/parser/bare-parser.ts @@ -2,8 +2,8 @@ //! Licensed under the MIT License (https://mit-license.org/) import * as ast from "../ast/bare-ast.js" -import type { Config } from "../core/config.js" import { CompilerError, type Location } from "../core/compiler-error.js" +import type { Config } from "../core/config.js" import { Lex } from "./bare-lex.js" export function parse(content: string, config: Config): ast.Ast { diff --git a/src/tsconfig-node.json b/src/tsconfig-node.json deleted file mode 100644 index 7b4263ac..00000000 --- a/src/tsconfig-node.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../tsconfig-base.json", - "compilerOptions": { - "types": ["node"] - }, - "include": ["./cli.ts"], - "references": [{ "path": "./" }] -} diff --git a/src/tsconfig-test.json b/src/tsconfig-test.json index ce43cdd8..60b43e86 100644 --- a/src/tsconfig-test.json +++ b/src/tsconfig-test.json @@ -1,9 +1,8 @@ { "extends": "../tsconfig-base.json", "compilerOptions": { - "moduleResolution": "node", "types": ["node"] }, - "include": ["./**/*.test.ts"], + "include": ["./cli.ts", "./**/*.test.ts"], "references": [{ "path": "." }] } diff --git a/src/tsconfig.json b/src/tsconfig.json index 45411b6a..9e9e6c04 100644 --- a/src/tsconfig.json +++ b/src/tsconfig.json @@ -7,6 +7,5 @@ "composite": true }, - "include": ["./**/*.ts"], "exclude": ["./cli.ts", "./**/*.spec.ts", "./**/*.test.ts"] } diff --git a/tests-corpus/tsconfig.json b/tests-corpus/tsconfig.json index f0e5926d..b8a3b75d 100644 --- a/tests-corpus/tsconfig.json +++ b/tests-corpus/tsconfig.json @@ -1,10 +1,7 @@ { "extends": "../tsconfig-base.json", "compilerOptions": { - "moduleResolution": "node", - "paths": { "@bare-ts/tools": ["../src/index.js"] }, "types": ["node"] }, - "include": ["./**/*.js", "./**/*.ts"], "references": [{ "path": "../src/" }] } diff --git a/tests-corpus/valid-bare-schema/data-fixed-legacy/out.gen.js b/tests-corpus/valid-bare-schema/data-fixed-legacy/out.gen.js index 9223351e..f7b9586b 100644 --- a/tests-corpus/valid-bare-schema/data-fixed-legacy/out.gen.js +++ b/tests-corpus/valid-bare-schema/data-fixed-legacy/out.gen.js @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" const config = /* @__PURE__ */ bare.Config({}) diff --git a/tests-corpus/valid-bare-schema/data-fixed-legacy/out.gen.ts b/tests-corpus/valid-bare-schema/data-fixed-legacy/out.gen.ts index e42a47cd..837082d7 100644 --- a/tests-corpus/valid-bare-schema/data-fixed-legacy/out.gen.ts +++ b/tests-corpus/valid-bare-schema/data-fixed-legacy/out.gen.ts @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" const config = /* @__PURE__ */ bare.Config({}) diff --git a/tests-corpus/valid-bare-schema/data-fixed/out.gen.js b/tests-corpus/valid-bare-schema/data-fixed/out.gen.js index 9223351e..f7b9586b 100644 --- a/tests-corpus/valid-bare-schema/data-fixed/out.gen.js +++ b/tests-corpus/valid-bare-schema/data-fixed/out.gen.js @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" const config = /* @__PURE__ */ bare.Config({}) diff --git a/tests-corpus/valid-bare-schema/data-fixed/out.gen.ts b/tests-corpus/valid-bare-schema/data-fixed/out.gen.ts index e42a47cd..837082d7 100644 --- a/tests-corpus/valid-bare-schema/data-fixed/out.gen.ts +++ b/tests-corpus/valid-bare-schema/data-fixed/out.gen.ts @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" const config = /* @__PURE__ */ bare.Config({}) diff --git a/tests-corpus/valid-bare-schema/imported-config/out.gen.js b/tests-corpus/valid-bare-schema/imported-config/out.gen.js index d6732324..201e4558 100644 --- a/tests-corpus/valid-bare-schema/imported-config/out.gen.js +++ b/tests-corpus/valid-bare-schema/imported-config/out.gen.js @@ -1,4 +1,5 @@ import * as bare from "@bare-ts/lib" + import * as ext from "./ext.js" export function readMessage(bc) { diff --git a/tests-corpus/valid-bare-schema/imported-config/out.gen.ts b/tests-corpus/valid-bare-schema/imported-config/out.gen.ts index c0680cca..062661df 100644 --- a/tests-corpus/valid-bare-schema/imported-config/out.gen.ts +++ b/tests-corpus/valid-bare-schema/imported-config/out.gen.ts @@ -1,4 +1,5 @@ import * as bare from "@bare-ts/lib" + import * as ext from "./ext.js" export type u8 = number diff --git a/tests-corpus/valid-bare-schema/list-fixed-leading-0/out.gen.js b/tests-corpus/valid-bare-schema/list-fixed-leading-0/out.gen.js index 0aaf8ed3..e6723fda 100644 --- a/tests-corpus/valid-bare-schema/list-fixed-leading-0/out.gen.js +++ b/tests-corpus/valid-bare-schema/list-fixed-leading-0/out.gen.js @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" const config = /* @__PURE__ */ bare.Config({}) diff --git a/tests-corpus/valid-bare-schema/list-fixed-leading-0/out.gen.ts b/tests-corpus/valid-bare-schema/list-fixed-leading-0/out.gen.ts index 186d071c..9913ac7d 100644 --- a/tests-corpus/valid-bare-schema/list-fixed-leading-0/out.gen.ts +++ b/tests-corpus/valid-bare-schema/list-fixed-leading-0/out.gen.ts @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" const config = /* @__PURE__ */ bare.Config({}) diff --git a/tests-corpus/valid-bare-schema/list-fixed-legacy/out.gen.js b/tests-corpus/valid-bare-schema/list-fixed-legacy/out.gen.js index 0aaf8ed3..e6723fda 100644 --- a/tests-corpus/valid-bare-schema/list-fixed-legacy/out.gen.js +++ b/tests-corpus/valid-bare-schema/list-fixed-legacy/out.gen.js @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" const config = /* @__PURE__ */ bare.Config({}) diff --git a/tests-corpus/valid-bare-schema/list-fixed-legacy/out.gen.ts b/tests-corpus/valid-bare-schema/list-fixed-legacy/out.gen.ts index 186d071c..9913ac7d 100644 --- a/tests-corpus/valid-bare-schema/list-fixed-legacy/out.gen.ts +++ b/tests-corpus/valid-bare-schema/list-fixed-legacy/out.gen.ts @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" const config = /* @__PURE__ */ bare.Config({}) diff --git a/tests-corpus/valid-bare-schema/list-fixed/out.gen.js b/tests-corpus/valid-bare-schema/list-fixed/out.gen.js index 0aaf8ed3..e6723fda 100644 --- a/tests-corpus/valid-bare-schema/list-fixed/out.gen.js +++ b/tests-corpus/valid-bare-schema/list-fixed/out.gen.js @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" const config = /* @__PURE__ */ bare.Config({}) diff --git a/tests-corpus/valid-bare-schema/list-fixed/out.gen.ts b/tests-corpus/valid-bare-schema/list-fixed/out.gen.ts index 186d071c..9913ac7d 100644 --- a/tests-corpus/valid-bare-schema/list-fixed/out.gen.ts +++ b/tests-corpus/valid-bare-schema/list-fixed/out.gen.ts @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" const config = /* @__PURE__ */ bare.Config({}) diff --git a/tests-corpus/valid-bare-schema/list-union-circular-ref/out.gen.js b/tests-corpus/valid-bare-schema/list-union-circular-ref/out.gen.js index 45e226e0..8fbd9d38 100644 --- a/tests-corpus/valid-bare-schema/list-union-circular-ref/out.gen.js +++ b/tests-corpus/valid-bare-schema/list-union-circular-ref/out.gen.js @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" function read0(bc) { const offset = bc.offset diff --git a/tests-corpus/valid-bare-schema/list-union-circular-ref/out.gen.ts b/tests-corpus/valid-bare-schema/list-union-circular-ref/out.gen.ts index f26067aa..0b8f1d22 100644 --- a/tests-corpus/valid-bare-schema/list-union-circular-ref/out.gen.ts +++ b/tests-corpus/valid-bare-schema/list-union-circular-ref/out.gen.ts @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" function read0(bc: bare.ByteCursor): | { readonly tag: "Alias", readonly val: Alias } diff --git a/tests-corpus/valid-bare-schema/typed-array-fixed/out.gen.js b/tests-corpus/valid-bare-schema/typed-array-fixed/out.gen.js index 349da448..c44b61a3 100644 --- a/tests-corpus/valid-bare-schema/typed-array-fixed/out.gen.js +++ b/tests-corpus/valid-bare-schema/typed-array-fixed/out.gen.js @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" const config = /* @__PURE__ */ bare.Config({}) diff --git a/tests-corpus/valid-bare-schema/typed-array-fixed/out.gen.ts b/tests-corpus/valid-bare-schema/typed-array-fixed/out.gen.ts index 69778f96..1a73dbff 100644 --- a/tests-corpus/valid-bare-schema/typed-array-fixed/out.gen.ts +++ b/tests-corpus/valid-bare-schema/typed-array-fixed/out.gen.ts @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" const config = /* @__PURE__ */ bare.Config({}) diff --git a/tests-corpus/valid-bare-schema/union-composite-type/out.gen.js b/tests-corpus/valid-bare-schema/union-composite-type/out.gen.js index 6930c6a0..c9f9af6a 100644 --- a/tests-corpus/valid-bare-schema/union-composite-type/out.gen.js +++ b/tests-corpus/valid-bare-schema/union-composite-type/out.gen.js @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" const config = /* @__PURE__ */ bare.Config({}) diff --git a/tests-corpus/valid-bare-schema/union-composite-type/out.gen.ts b/tests-corpus/valid-bare-schema/union-composite-type/out.gen.ts index f9366766..5817ed11 100644 --- a/tests-corpus/valid-bare-schema/union-composite-type/out.gen.ts +++ b/tests-corpus/valid-bare-schema/union-composite-type/out.gen.ts @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" const config = /* @__PURE__ */ bare.Config({}) diff --git a/tests-corpus/valid-bare-schema/union-flat-typeof/out.gen.js b/tests-corpus/valid-bare-schema/union-flat-typeof/out.gen.js index ac1561d6..3a061c6d 100644 --- a/tests-corpus/valid-bare-schema/union-flat-typeof/out.gen.js +++ b/tests-corpus/valid-bare-schema/union-flat-typeof/out.gen.js @@ -38,9 +38,10 @@ export function writeTypeOfUnion(bc, x) { bare.writeString(bc, x) break } - default: + default: { bare.writeU8(bc, 3) break + } } } diff --git a/tests-corpus/valid-bare-schema/union-flat-typeof/out.gen.ts b/tests-corpus/valid-bare-schema/union-flat-typeof/out.gen.ts index cd8d36dc..1240e28b 100644 --- a/tests-corpus/valid-bare-schema/union-flat-typeof/out.gen.ts +++ b/tests-corpus/valid-bare-schema/union-flat-typeof/out.gen.ts @@ -46,9 +46,10 @@ export function writeTypeOfUnion(bc: bare.ByteCursor, x: TypeOfUnion): void { bare.writeString(bc, x) break } - default: + default: { bare.writeU8(bc, 3) break + } } } diff --git a/tests-corpus/valid-bare-schema/x-bareorg-example/out.gen.js b/tests-corpus/valid-bare-schema/x-bareorg-example/out.gen.js index 65e80211..82182aa9 100644 --- a/tests-corpus/valid-bare-schema/x-bareorg-example/out.gen.js +++ b/tests-corpus/valid-bare-schema/x-bareorg-example/out.gen.js @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" const config = /* @__PURE__ */ bare.Config({}) diff --git a/tests-corpus/valid-bare-schema/x-bareorg-example/out.gen.ts b/tests-corpus/valid-bare-schema/x-bareorg-example/out.gen.ts index f0494bee..83e04dc1 100644 --- a/tests-corpus/valid-bare-schema/x-bareorg-example/out.gen.ts +++ b/tests-corpus/valid-bare-schema/x-bareorg-example/out.gen.ts @@ -1,5 +1,5 @@ -import assert from "assert" import * as bare from "@bare-ts/lib" +import assert from "node:assert" const config = /* @__PURE__ */ bare.Config({}) diff --git a/tests-corpus/valid-bare-schema/x-bareorg-example/user.test.js b/tests-corpus/valid-bare-schema/x-bareorg-example/user.test.js index c1d47b90..8bf5498c 100644 --- a/tests-corpus/valid-bare-schema/x-bareorg-example/user.test.js +++ b/tests-corpus/valid-bare-schema/x-bareorg-example/user.test.js @@ -2,7 +2,8 @@ //! Licensed under the MIT License (https://mit-license.org/) import { default as test } from "oletus" -import { decodePerson, encodePerson, Department } from "./out.gen.js" + +import { Department, decodePerson, encodePerson } from "./out.gen.js" test("x-readme-example", (t) => { const payload1 = encodePerson({ diff --git a/tests-corpus/valid-bare-schema/x-readme-example/user.test.js b/tests-corpus/valid-bare-schema/x-readme-example/user.test.js index 116c9171..5d2ec0fe 100644 --- a/tests-corpus/valid-bare-schema/x-readme-example/user.test.js +++ b/tests-corpus/valid-bare-schema/x-readme-example/user.test.js @@ -2,7 +2,8 @@ //! Licensed under the MIT License (https://mit-license.org/) import { default as test } from "oletus" -import { decodeContacts, encodeContacts, Gender } from "./out.gen.js" + +import { Gender, decodeContacts, encodeContacts } from "./out.gen.js" test("x-readme-example", (t) => { const payload = encodeContacts([ diff --git a/tsconfig-base.json b/tsconfig-base.json index b34251a3..86f4ac19 100644 --- a/tsconfig-base.json +++ b/tsconfig-base.json @@ -1,34 +1,29 @@ { + "$schema": "https://json.schemastore.org/tsconfig", "compilerOptions": { - // https://node.green/#ES2020 - // https://kangax.github.io/compat-table/es2016plus "lib": ["ES2020"], "moduleResolution": "node16", "module": "ES2020", "target": "ES2020", - // Don't implicitly import @types/* "types": [], "noEmit": true, "sourceMap": true, - "stripInternal": true, "esModuleInterop": true, "isolatedModules": true, "resolveJsonModule": true, + "skipLibCheck": true, "verbatimModuleSyntax": true, "allowUnreachableCode": false, "checkJs": true, "exactOptionalPropertyTypes": true, "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, "noImplicitOverride": true, "noImplicitReturns": true, - "noImplicitThis": true, "noPropertyAccessFromIndexSignature": true, - "noUnusedLocals": true, "strict": true } }