diff --git a/packages/stopwatch/.eslintrc.json b/packages/stopwatch/.eslintrc.json new file mode 100644 index 000000000..5bddf00f4 --- /dev/null +++ b/packages/stopwatch/.eslintrc.json @@ -0,0 +1,28 @@ +{ + "extends": ["../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "parserOptions": { + "project": ["packages/stopwatch/tsconfig.*?.json"] + }, + "rules": {} + }, + { + "files": ["*.ts", "*.tsx"], + "rules": {} + }, + { + "files": ["*.js", "*.jsx"], + "rules": {} + }, + { + "files": ["*.json"], + "parser": "jsonc-eslint-parser", + "rules": { + "@nx/dependency-checks": "error" + } + } + ] +} diff --git a/packages/stopwatch/.npmignore b/packages/stopwatch/.npmignore deleted file mode 100644 index 2b29f2764..000000000 --- a/packages/stopwatch/.npmignore +++ /dev/null @@ -1 +0,0 @@ -tests diff --git a/packages/stopwatch/dist/.gitkeep b/packages/stopwatch/dist/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/packages/stopwatch/dist/esm/package.json b/packages/stopwatch/dist/esm/package.json deleted file mode 100644 index 6990891ff..000000000 --- a/packages/stopwatch/dist/esm/package.json +++ /dev/null @@ -1 +0,0 @@ -{"type": "module"} diff --git a/packages/stopwatch/index.ts b/packages/stopwatch/index.ts deleted file mode 100644 index a77a837c7..000000000 --- a/packages/stopwatch/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './src/stopwatch.js'; -export * from './src/types.js'; diff --git a/packages/stopwatch/jest.config.ts b/packages/stopwatch/jest.config.ts new file mode 100644 index 000000000..343a3416f --- /dev/null +++ b/packages/stopwatch/jest.config.ts @@ -0,0 +1,12 @@ +import type { Config } from 'jest'; + +export default { + displayName: 'stopwatch', + preset: '../../jest.preset.js', + testEnvironment: 'node', + transform: { + '^.+\\.[tj]s$': ['ts-jest', { tsconfig: '/tsconfig.spec.json' }], + }, + moduleFileExtensions: ['ts', 'js', 'html'], + coverageDirectory: '../../coverage/packages/stopwatch', +} as Config; diff --git a/packages/stopwatch/package.json b/packages/stopwatch/package.json index 67f68c0d0..216555521 100644 --- a/packages/stopwatch/package.json +++ b/packages/stopwatch/package.json @@ -2,44 +2,15 @@ "name": "@deepkit/stopwatch", "version": "1.0.1-alpha.97", "description": "Deepkit Stopwatch", - "type": "commonjs", - "main": "./dist/cjs/index.js", - "module": "./dist/esm/index.js", - "types": "./dist/cjs/index.d.ts", - "exports": { - ".": { - "types": "./dist/cjs/index.d.ts", - "require": "./dist/cjs/index.js", - "default": "./dist/esm/index.js" - } - }, "repository": "https://github.com/deepkit/deepkit-framework", "author": "Marc J. Schmidt ", "license": "MIT", "publishConfig": { "access": "public" }, - "scripts": { - "build": "echo '{\"type\": \"module\"}' > ./dist/esm/package.json" - }, "peerDependencies": { "@deepkit/core": "^1.0.1-alpha.13", "@deepkit/type": "^1.0.1-alpha.13" }, - "devDependencies": { - "@deepkit/core": "^1.0.1-alpha.97", - "@deepkit/type": "^1.0.1-alpha.97" - }, - "jest": { - "transform": { - "^.+\\.(ts|tsx)$": "ts-jest" - }, - "moduleNameMapper": { - "(.+)\\.js": "$1" - }, - "testMatch": [ - "**/tests/**/*.spec.ts" - ] - }, - "gitHead": "56081823b559bb68b77a8781957af5d9c2e019a7" + "types": "./dist/cjs/index.d.ts" } diff --git a/packages/stopwatch/project.json b/packages/stopwatch/project.json new file mode 100644 index 000000000..e9429f3a8 --- /dev/null +++ b/packages/stopwatch/project.json @@ -0,0 +1,51 @@ +{ + "name": "stopwatch", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "packages/stopwatch/src", + "projectType": "library", + "targets": { + "build": { + "executor": "@nx/rollup:rollup", + "outputs": ["{options.outputPath}"], + "options": { + "outputPath": "dist/{projectRoot}", + "main": "{projectRoot}/src/index.ts", + "tsConfig": "{projectRoot}/tsconfig.lib.json", + "rollupConfig": "packages/rollup.config.js", + "project": "{projectRoot}/package.json", + "format": ["esm", "cjs"], + "generateExportsField": true, + "external": "all", + "compiler": "tsc" + } + }, + "release": { + "command": "release-it --config={projectRoot}/.release-it.json" + }, + "lint": { + "executor": "@nx/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": [ + "packages/stopwatch/**/*.ts", + "packages/stopwatch/package.json" + ] + } + }, + "test": { + "executor": "@nx/jest:jest", + "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], + "options": { + "jestConfig": "packages/stopwatch/jest.config.ts", + "passWithNoTests": true + }, + "configurations": { + "ci": { + "ci": true, + "codeCoverage": true + } + } + } + }, + "tags": ["stopwatch"] +} diff --git a/packages/stopwatch/src/index.ts b/packages/stopwatch/src/index.ts new file mode 100644 index 000000000..0cfa36528 --- /dev/null +++ b/packages/stopwatch/src/index.ts @@ -0,0 +1,2 @@ +export * from './lib/stopwatch.js'; +export * from './lib/types.js'; diff --git a/packages/stopwatch/src/stopwatch.ts b/packages/stopwatch/src/lib/stopwatch.ts similarity index 100% rename from packages/stopwatch/src/stopwatch.ts rename to packages/stopwatch/src/lib/stopwatch.ts diff --git a/packages/stopwatch/src/types.ts b/packages/stopwatch/src/lib/types.ts similarity index 100% rename from packages/stopwatch/src/types.ts rename to packages/stopwatch/src/lib/types.ts diff --git a/packages/stopwatch/tests/stopwatch.spec.ts b/packages/stopwatch/tests/stopwatch.spec.ts index 0e95815d7..535e97eee 100644 --- a/packages/stopwatch/tests/stopwatch.spec.ts +++ b/packages/stopwatch/tests/stopwatch.spec.ts @@ -1,5 +1,5 @@ -import { Stopwatch, StopwatchStore } from '../src/stopwatch.js'; -import { FrameCategory } from '../src/types.js'; +import { Stopwatch, StopwatchStore } from '../src/lib/stopwatch.js'; +import { FrameCategory } from '../src/lib/types.js'; import { expect, test } from '@jest/globals'; class Store extends StopwatchStore { diff --git a/packages/stopwatch/tsconfig.esm.json b/packages/stopwatch/tsconfig.esm.json deleted file mode 100644 index 187dc34dd..000000000 --- a/packages/stopwatch/tsconfig.esm.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./dist/esm", - "module": "ES2020" - }, - "references": [ - { - "path": "../core/tsconfig.esm.json" - }, - { - "path": "../type/tsconfig.esm.json" - } - ] -} \ No newline at end of file diff --git a/packages/stopwatch/tsconfig.json b/packages/stopwatch/tsconfig.json index b3200504a..23332504d 100644 --- a/packages/stopwatch/tsconfig.json +++ b/packages/stopwatch/tsconfig.json @@ -1,32 +1,14 @@ { - "compilerOptions": { - "forceConsistentCasingInFileNames": true, - "strict": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - "sourceMap": true, - "experimentalDecorators": true, - "emitDecoratorMetadata": true, - "moduleResolution": "node", - "target": "es2018", - "module": "CommonJS", - "esModuleInterop": true, - "outDir": "./dist/cjs", - "declaration": true, - "composite": true - }, - "reflection": true, - "include": [ - "src", - "tests", - "index.ts" - ], + "extends": "../../tsconfig.base.json", + "files": [], + "include": [], "references": [ { - "path": "../core/tsconfig.json" + "path": "./tsconfig.lib.json" }, { - "path": "../type/tsconfig.json" + "path": "./tsconfig.spec.json" } - ] + ], + "reflection": true } diff --git a/packages/stopwatch/tsconfig.lib.json b/packages/stopwatch/tsconfig.lib.json new file mode 100644 index 000000000..3b8173e63 --- /dev/null +++ b/packages/stopwatch/tsconfig.lib.json @@ -0,0 +1,11 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "declaration": true, + "types": ["node"] + }, + "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"], + "include": ["src/**/*.ts"], + "reflection": true +} diff --git a/packages/stopwatch/tsconfig.spec.json b/packages/stopwatch/tsconfig.spec.json new file mode 100644 index 000000000..36659485a --- /dev/null +++ b/packages/stopwatch/tsconfig.spec.json @@ -0,0 +1,18 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": [ + "jest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.d.ts", + "tests/**/*.test.ts", + "tests/**/*.spec.ts", + "tests/**/*.d.ts" + ], + "reflection": true +} diff --git a/tsconfig.base.json b/tsconfig.base.json index 4de432590..cd945f68b 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -53,6 +53,7 @@ "@deepkit/rpc-tcp": ["packages/rpc-tcp/src/index.ts"], "@deepkit/sql": ["packages/sql/src/index.ts"], "@deepkit/sqlite": ["packages/sqlite/src/index.ts"], + "@deepkit/stopwatch": ["packages/stopwatch/src/index.ts"], "@deepkit/type": ["packages/type/src/index.ts"], "@deepkit/type-compiler": ["packages/type-compiler/src/index.ts"], "@deepkit/type-spec": ["packages/type-spec/src/index.ts"],