diff --git a/package.json b/package.json index c48e142..6c575ff 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,15 @@ { "name": "platform-ts", "module": "index.ts", + "version": "0.0.1", "type": "module", "private": true, "scripts": { "format": "prettier --write .", "lint": "eslint --max-warnings 0 ./src", "prelint:fix": "bun run format", - "lint:fix": "eslint --fix ./src" + "lint:fix": "eslint --fix ./src", + "build": "tsc" }, "devDependencies": { "@eslint/css": "0.13.0", diff --git a/src/di/NamedType.ts b/src/di/NamedType.ts index dfe4cb9..d34cd7a 100644 --- a/src/di/NamedType.ts +++ b/src/di/NamedType.ts @@ -13,11 +13,7 @@ export default class NamedType extends Type { } public override equals(other: Type): boolean { - return ( - super.equals(other) && - other instanceof NamedType && - this.getName() === other.getName() - ); + return super.equals(other) && other instanceof NamedType && this.getName() === other.getName(); } public overridetoURN(): string { diff --git a/src/lang/Disposable.ts b/src/lang/Disposable.ts index 887b07f..e115149 100644 --- a/src/lang/Disposable.ts +++ b/src/lang/Disposable.ts @@ -1,4 +1,4 @@ -import IDisposable from './IDisposable'; +import type IDisposable from './IDisposable'; export default class Disposable implements IDisposable { private readonly _cleanup: () => void; diff --git a/src/lang/DisposableList.ts b/src/lang/DisposableList.ts index d5d7a9d..dc56ba8 100644 --- a/src/lang/DisposableList.ts +++ b/src/lang/DisposableList.ts @@ -1,4 +1,4 @@ -import IDisposable from './IDisposable'; +import type IDisposable from './IDisposable'; export default class DisposableList implements IDisposable { private readonly _list: IDisposable[]; @@ -15,7 +15,7 @@ export default class DisposableList implements IDisposable { while (this._list.length) { const disposable = this._list.shift(); - disposable.dispose(); + disposable!.dispose(); } } } diff --git a/tsconfig.json b/tsconfig.json index bfa0fea..62c2b2e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,12 +7,18 @@ "moduleDetection": "force", "jsx": "react-jsx", "allowJs": true, + "outDir": "./dist", + "rootDir": "./src", + "sourceMap": true, + "declaration": true, + "declarationMap": true, + "declarationDir": "./dist/types", // Bundler mode "moduleResolution": "bundler", - "allowImportingTsExtensions": true, + "allowImportingTsExtensions": false, "verbatimModuleSyntax": true, - "noEmit": true, + "noEmit": false, // Best practices "strict": true, @@ -25,5 +31,7 @@ "noUnusedLocals": false, "noUnusedParameters": false, "noPropertyAccessFromIndexSignature": false - } + }, + "include": ["src/**/*"], + "exclude": ["node_modules/**/*", "test/**/*"] }