From dc1d48ded896b7b3babf75b2c15ff90b1e282672 Mon Sep 17 00:00:00 2001 From: Bruno Tot Date: Sat, 9 Sep 2023 21:22:46 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=84=20[chore]:=20Add=20playground=20fi?= =?UTF-8?q?le=20for=20easy=20core=20debugging?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + packages/core/dev/global.d.ts | 25 +++++++++++++++++++++++++ packages/core/dev/playground.ts | 10 ++++++++++ packages/core/package.json | 3 ++- tsconfig.base.json | 5 +++++ 5 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 packages/core/dev/global.d.ts create mode 100644 packages/core/dev/playground.ts diff --git a/package.json b/package.json index e6f27648f..d9d0c896c 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "build": "tsc --build", "docs": "npm i --force --silent && typedoc", "build-docs": "npm run clean && npm run build --silent && npm run docs", + "core/playground": "npm run playground --prefix=packages/core", "core/test": "npm run test --prefix=packages/core", "core/build": "npm run build --prefix=packages/core", "core/deploy:minor": "npm run deploy:minor --prefix=packages/core", diff --git a/packages/core/dev/global.d.ts b/packages/core/dev/global.d.ts new file mode 100644 index 000000000..1b98a6ff2 --- /dev/null +++ b/packages/core/dev/global.d.ts @@ -0,0 +1,25 @@ +import { DecoratorContextMetadata } from "tdv-core"; + +declare global { + interface SymbolConstructor { + readonly metadata: unique symbol; + } + + interface ClassFieldDecoratorContext { + readonly metadata: DecoratorContextMetadata; + } + + interface ClassMethodDecoratorContext< + This = unknown, + Value extends (this: This, ...args: any) => any = ( + this: This, + ...args: any + ) => any + > { + readonly metadata: DecoratorContextMetadata; + } + + interface ClassGetterDecoratorContext { + readonly metadata: DecoratorContextMetadata; + } +} diff --git a/packages/core/dev/playground.ts b/packages/core/dev/playground.ts new file mode 100644 index 000000000..5fca3b8ef --- /dev/null +++ b/packages/core/dev/playground.ts @@ -0,0 +1,10 @@ +import EntityProcessor from "../src/model/processor/EntityProcessor"; +import validators from "../validators/index"; + +class TestClass { + @validators.string.Required() + username!: string; +} + +const processor = new EntityProcessor(TestClass); +console.log(processor.validate({})); diff --git a/packages/core/package.json b/packages/core/package.json index 507aa00dc..eae4ee13e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -17,7 +17,7 @@ "deploy:major": "bash ../../scripts/deploy.sh core major", "deploy:patch": "bash ../../scripts/deploy.sh core patch", "test": "bash ../../scripts/test.sh core", - "playground": "ts-node ../../dev/core/index.ts" + "playground": "ts-node ./dev/playground.ts" }, "repository": { "type": "git", @@ -43,6 +43,7 @@ "@types/node": "^20.3.1", "@types/react": "^18.0.26", "@types/react-dom": "^18.0.10", + "esm": "^3.2.25", "jest": "^29.5.0", "ts-jest": "^29.1.0", "ts-node": "^10.9.1", diff --git a/tsconfig.base.json b/tsconfig.base.json index 33613b0bb..5fb057fe4 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -13,5 +13,10 @@ "allowJs": true, "strict": true, "isolatedModules": false + }, + "ts-node": { + "compilerOptions": { + "module": "commonjs" + } } }