From 5e5cc8d87ec20eccaf31d7c2e7168e6bea629e56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Fri, 5 Jan 2024 00:04:12 +0100 Subject: [PATCH] Build system work --- bun.lockb | Bin 151052 -> 154055 bytes package.json | 8 ++++---- rollup.config.js | 38 -------------------------------------- rollup.config.ts | 43 +++++++++++++++++++++++++++++++++++++++++++ src/newSchemable.ts | 26 ++++++++++++++++++++++++++ 5 files changed, 73 insertions(+), 42 deletions(-) delete mode 100644 rollup.config.js create mode 100644 rollup.config.ts diff --git a/bun.lockb b/bun.lockb index 74e015cb65608180bb9f472b98d7a2af182d9067..4e23eb8b4364adf2258b86fdc025f2982746ab68 100755 GIT binary patch delta 28883 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 diff --git a/package.json b/package.json index 414881e..cc31d6b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "@thilawyn/schemable-classes", - "version": "20231230.0.0", + "name": "@thilawyn/schemable-class", + "version": "1.0.0", "type": "module", "publishConfig": { "registry": "https://git.jvalver.de/api/packages/thilawyn/npm/" @@ -31,14 +31,13 @@ } }, "scripts": { - "build": "rollup -c", + "build": "rollup -c rollup.config.ts", "lint:tsc": "tsc --noEmit", "clean:cache": "rm -f tsconfig.tsbuildinfo", "clean:dist": "rm -rf dist", "clean:node": "rm -rf node_modules" }, "dependencies": { - "@thilawyn/thilatrait": "^20231230.0.0", "decimal.js": "^10.4.3", "effect": "^2.0.0-next.62", "lodash-es": "^4.17.21", @@ -46,6 +45,7 @@ "zod": "^3.22.4" }, "devDependencies": { + "@rollup/plugin-node-resolve": "^15.2.3", "@types/lodash-es": "^4.17.12", "bun-types": "latest", "npm-check-updates": "^16.14.12", diff --git a/rollup.config.js b/rollup.config.js deleted file mode 100644 index aa4dbe2..0000000 --- a/rollup.config.js +++ /dev/null @@ -1,38 +0,0 @@ -import { defineConfig } from "rollup" -import cleanup from "rollup-plugin-cleanup" -import ts from "rollup-plugin-ts" -import pkg from "./package.json" assert { type: "json" } - - -export default defineConfig({ - input: "src/index.ts", - - output: [ - { - file: pkg.exports["."].import.default, - format: "esm", - }, - { - file: pkg.exports["."].require.default, - format: "cjs", - }, - - { - file: pkg.exports["./jsonifiable"].import.default, - format: "esm", - }, - { - file: pkg.exports["./jsonifiable"].require.default, - format: "cjs", - }, - ], - - plugins: [ - ts(), - - cleanup({ - comments: "jsdoc", - extensions: ["ts"], - }), - ], -}) diff --git a/rollup.config.ts b/rollup.config.ts new file mode 100644 index 0000000..8625946 --- /dev/null +++ b/rollup.config.ts @@ -0,0 +1,43 @@ +import { nodeResolve } from "@rollup/plugin-node-resolve" +import { defineConfig } from "rollup" +import cleanup from "rollup-plugin-cleanup" +import ts from "rollup-plugin-ts" +import pkg from "./package.json" assert { type: "json" } + + +export const createBundleConfig = ( + input: string, + name: keyof typeof pkg.exports, +) => + defineConfig({ + input, + + output: [ + { + file: pkg.exports[name].import.default, + format: "esm", + }, + { + file: pkg.exports[name].require.default, + format: "cjs", + }, + ], + + external: id => !/^[./]/.test(id), + + plugins: [ + nodeResolve(), + ts(), + + cleanup({ + comments: "jsdoc", + extensions: ["ts"], + }), + ], + }) + + +export default [ + createBundleConfig("src/index.ts", "."), + createBundleConfig("src/jsonifiable/index.ts", "./jsonifiable"), +] diff --git a/src/newSchemable.ts b/src/newSchemable.ts index 955d0f3..da0be36 100644 --- a/src/newSchemable.ts +++ b/src/newSchemable.ts @@ -13,6 +13,14 @@ type NewSchemableArgs = : [] | [Input, ...ParamsArgs] +/** + * Creates a new instance of a SchemableClass with default values. + * + * @param class_ - The SchemableClass. + * @param values - The values to be parsed and used to create the instance. + * @param params - Optional parameters for parsing. + * @returns A new instance of the specified SchemableClass. + */ export const newSchemable = < C extends SchemableClass<$Config>, $Config extends SchemableConfig, @@ -22,6 +30,15 @@ export const newSchemable = < ) => new class_(class_.schemaWithDefaultValues.parse(values || {}, params)) as InstanceType + +/** + * Creates a new instance of a SchemableClass with default values asynchronously. + * + * @param class_ - The SchemableClass. + * @param values - The values to be parsed and used to create the instance. + * @param params - Optional parameters for parsing. + * @returns A Promise resolving to a new instance of the specified SchemableClass. + */ export const newSchemablePromise = async < C extends SchemableClass<$Config>, $Config extends SchemableConfig, @@ -31,6 +48,15 @@ export const newSchemablePromise = async < ) => new class_(await class_.schemaWithDefaultValues.parseAsync(values || {}, params)) as InstanceType + +/** + * Creates a new instance of a SchemableClass with default values as an Effect. + * + * @param class_ - The SchemableClass. + * @param values - The values to be parsed and used to create the instance. + * @param params - Optional parameters for parsing. + * @returns An Effect producing a new instance of the specified SchemableClass. + */ export const newSchemableEffect = < C extends SchemableClass<$Config>, $Config extends SchemableConfig,