From 49f5533cfe0e1e0cb11542700351a7e9708e654a Mon Sep 17 00:00:00 2001 From: mesqueeb Date: Thu, 1 Dec 2022 13:46:12 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20#36=20=E2=80=94=20add=20.js=20to=20impor?= =?UTF-8?q?t=20paths=20in=20source=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/types/index.d.ts | 4 +- dist/types/merge.d.ts | 8 +- dist/types/typeUtils/Assign.d.ts | 16 +- dist/types/typeUtils/Iteration.d.ts | 10 +- dist/types/typeUtils/List.d.ts | 6 +- dist/types/typeUtils/MergeDeep.d.ts | 10 +- dist/types/typeUtils/PrettyPrint.d.ts | 6 +- package-lock.json | 248 +++++++++++++------------- package.json | 16 +- src/index.ts | 4 +- src/merge.ts | 8 +- src/typeUtils/Assign.ts | 6 +- tsconfig.json | 1 + 13 files changed, 172 insertions(+), 171 deletions(-) diff --git a/dist/types/index.d.ts b/dist/types/index.d.ts index 53f312d..2f0596b 100644 --- a/dist/types/index.d.ts +++ b/dist/types/index.d.ts @@ -1,2 +1,2 @@ -export * from './merge'; -export * from './extensions'; +export * from './merge.js'; +export * from './extensions.js'; diff --git a/dist/types/merge.d.ts b/dist/types/merge.d.ts index 0b96bf9..40e3218 100644 --- a/dist/types/merge.d.ts +++ b/dist/types/merge.d.ts @@ -1,12 +1,12 @@ -import type { Assign } from './typeUtils/Assign'; -import type { Pop } from './typeUtils/List'; -import type { PrettyPrint } from './typeUtils/PrettyPrint'; +import type { Assign } from './typeUtils/Assign.js'; +import type { Pop } from './typeUtils/List.js'; +import type { PrettyPrint } from './typeUtils/PrettyPrint.js'; /** * The return type of `merge()`. It reflects the type that is returned by JavaScript. * * This TS Utility can be used as standalone as well */ -export declare type Merge = T extends Record ? Ts extends Record[] ? PrettyPrint> : Pop : Pop; +export type Merge = T extends Record ? Ts extends Record[] ? PrettyPrint> : Pop : Pop; /** * Merge anything recursively. * Objects get merged, special objects (classes etc.) are re-assigned "as is". diff --git a/dist/types/typeUtils/Assign.d.ts b/dist/types/typeUtils/Assign.d.ts index 7a0c835..bf08388 100644 --- a/dist/types/typeUtils/Assign.d.ts +++ b/dist/types/typeUtils/Assign.d.ts @@ -1,6 +1,6 @@ -import { MergeDeep } from './MergeDeep'; -import { Iteration, IterationOf, Pos, Next } from './Iteration'; -import { Length, List } from './List'; +import type { MergeDeep } from './MergeDeep.js'; +import type { Iteration, IterationOf, Pos, Next } from './Iteration.js'; +import type { Length, List } from './List.js'; /** * Ask TS to re-check that `A1` extends `A2`. * And if it fails, `A2` will be enforced anyway. @@ -14,7 +14,7 @@ import { Length, List } from './List'; * type test1 = Cast<'42', number> // number * ``` */ -declare type Cast = A1 extends A2 ? A1 : A2; +type Cast = A1 extends A2 ? A1 : A2; /** * Check whether `A1` is part of `A2` or not. The difference with * `extends` is that it forces a [[Boolean]] return. @@ -33,9 +33,9 @@ declare type Cast = A1 extends A2 ? A1 : A2; * /// Nothing cannot extend nothing, use `Equals` * ``` */ -declare type Extends = [A1] extends [never] ? 0 : A1 extends A2 ? 1 : 0; -declare type __Assign, Os extends List>, I extends Iteration = IterationOf<0>> = Extends, Length> extends 1 ? O : __Assign]>, Os, Next>; -declare type _Assign, Os extends List>> = __Assign extends infer X ? Cast> : never; +type Extends = [A1] extends [never] ? 0 : A1 extends A2 ? 1 : 0; +type __Assign, Os extends List>, I extends Iteration = IterationOf<0>> = Extends, Length> extends 1 ? O : __Assign]>, Os, Next>; +type _Assign, Os extends List>> = __Assign extends infer X ? Cast> : never; /** * Assign a list of [[Object]] into `O` with [[MergeDeep]]. Merges from right to * left, first items get overridden by the next ones (last-in overrides). @@ -46,5 +46,5 @@ declare type _Assign, Os ext * ```ts * ``` */ -export declare type Assign, Os extends List>> = O extends unknown ? (Os extends unknown ? _Assign : never) : never; +export type Assign, Os extends List>> = O extends unknown ? (Os extends unknown ? _Assign : never) : never; export {}; diff --git a/dist/types/typeUtils/Iteration.d.ts b/dist/types/typeUtils/Iteration.d.ts index d3819df..04153cf 100644 --- a/dist/types/typeUtils/Iteration.d.ts +++ b/dist/types/typeUtils/Iteration.d.ts @@ -1,14 +1,14 @@ /** * An entry of `IterationMap` */ -export declare type Iteration = [ +export type Iteration = [ value: number, sign: '-' | '0' | '+', prev: keyof IterationMap, next: keyof IterationMap, oppo: keyof IterationMap ]; -export declare type IterationMap = { +export type IterationMap = { '__': [number, '-' | '0' | '+', '__', '__', '__']; '-100': [-100, '-', '__', '-99', '100']; '-99': [-99, '-', '-100', '-98', '99']; @@ -228,7 +228,7 @@ export declare type IterationMap = { * type nprev = Pos // -1 * ``` */ -export declare type IterationOf = `${N}` extends keyof IterationMap ? IterationMap[`${N}`] : IterationMap['__']; +export type IterationOf = `${N}` extends keyof IterationMap ? IterationMap[`${N}`] : IterationMap['__']; /** * Get the position of `I` (**number**) * @param I to query @@ -241,7 +241,7 @@ export declare type IterationOf = `${N}` extends keyof Iterati * type test1 = Pos> // 21 * ``` */ -export declare type Pos = I[0]; +export type Pos = I[0]; /** * Move `I`'s position forward * @param I to move @@ -254,4 +254,4 @@ export declare type Pos = I[0]; * type test1 = Pos> // 21 * ``` */ -export declare type Next = IterationMap[I[3]]; +export type Next = IterationMap[I[3]]; diff --git a/dist/types/typeUtils/List.d.ts b/dist/types/typeUtils/List.d.ts index b8c7bb0..26ac007 100644 --- a/dist/types/typeUtils/List.d.ts +++ b/dist/types/typeUtils/List.d.ts @@ -8,7 +8,7 @@ * type list1 = number[] * ``` */ -export declare type List = readonly T[]; +export type List = readonly T[]; /** * Get the length of `L` * @param L to get length @@ -17,7 +17,7 @@ export declare type List = readonly T[]; * ```ts * ``` */ -export declare type Length = L['length']; +export type Length = L['length']; /** * Return the last item out of a [[List]] * @param L @@ -26,4 +26,4 @@ export declare type Length = L['length']; * ```ts * ``` */ -export declare type Pop = L extends readonly [] ? never : L extends [...unknown[], infer Last] ? Last : L extends (infer T)[] ? T : never; +export type Pop = L extends readonly [] ? never : L extends [...unknown[], infer Last] ? Last : L extends (infer T)[] ? T : never; diff --git a/dist/types/typeUtils/MergeDeep.d.ts b/dist/types/typeUtils/MergeDeep.d.ts index 3e679ff..763912f 100644 --- a/dist/types/typeUtils/MergeDeep.d.ts +++ b/dist/types/typeUtils/MergeDeep.d.ts @@ -6,7 +6,7 @@ * ```ts * ``` */ -declare type OptionalKeys = O extends unknown ? { +type OptionalKeys = O extends unknown ? { [K in keyof O]-?: {} extends Pick ? K : never; }[keyof O] : never; /** @@ -17,13 +17,13 @@ declare type OptionalKeys = O extends unknown ? { * ```ts * ``` */ -declare type RequiredKeys = O extends unknown ? { +type RequiredKeys = O extends unknown ? { [K in keyof O]-?: {} extends Pick ? never : K; }[keyof O] : never; -declare type MergeObjectDeeply, O1 extends Record> = { +type MergeObjectDeeply, O1 extends Record> = { [K in keyof (O & O1)]: K extends RequiredKeys ? MergeObjectsOrReturnFallback : K extends OptionalKeys ? K extends OptionalKeys ? MergeObjectsOrReturnFallback, Exclude, Exclude | Exclude> : K extends RequiredKeys ? Exclude extends O[K] ? O[K] : MergeObjectsOrReturnFallback, O[K] | Exclude> : O1[K] : O[K]; }; -declare type MergeObjectsOrReturnFallback = O extends Record ? O1 extends Record ? MergeObjectDeeply : Fallback : Fallback; +type MergeObjectsOrReturnFallback = O extends Record ? O1 extends Record ? MergeObjectDeeply : Fallback : Fallback; /** * Accurately merge the fields of `O` with the ones of `O1`. It is * equivalent to the spread operator in JavaScript. [[Union]]s and [[Optional]] @@ -53,5 +53,5 @@ declare type MergeObjectsOrReturnFallback = O extends Record, O1 extends Record> = O extends unknown ? (O1 extends unknown ? MergeObjectDeeply : never) : never; +export type MergeDeep, O1 extends Record> = O extends unknown ? (O1 extends unknown ? MergeObjectDeeply : never) : never; export {}; diff --git a/dist/types/typeUtils/PrettyPrint.d.ts b/dist/types/typeUtils/PrettyPrint.d.ts index 0be4936..2b5443d 100644 --- a/dist/types/typeUtils/PrettyPrint.d.ts +++ b/dist/types/typeUtils/PrettyPrint.d.ts @@ -1,6 +1,6 @@ -declare type Has = [U1] extends [U] ? 1 : 0; -declare type If = B extends 1 ? Then : Else; -export declare type PrettyPrint = If, A, A extends Record ? { +type Has = [U1] extends [U] ? 1 : 0; +type If = B extends 1 ? Then : Else; +export type PrettyPrint = If, A, A extends Record ? { [K in keyof A]: PrettyPrint; } & unknown : A>; export {}; diff --git a/package-lock.json b/package-lock.json index fdc6b06..b2a1520 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,21 +9,21 @@ "version": "5.1.3", "license": "MIT", "dependencies": { - "is-what": "^4.1.7" + "is-what": "^4.1.8" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.42.1", - "@typescript-eslint/parser": "^5.42.1", + "@typescript-eslint/eslint-plugin": "^5.45.0", + "@typescript-eslint/parser": "^5.45.0", "del-cli": "^5.0.0", - "eslint": "^8.27.0", + "eslint": "^8.28.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-tree-shaking": "^1.10.0", "np": "^7.6.2", - "prettier": "^2.7.1", - "rollup": "^3.3.0", + "prettier": "^2.8.0", + "rollup": "^3.5.0", "rollup-plugin-typescript2": "^0.34.1", - "typescript": "^4.8.4", - "vitest": "^0.25.1" + "typescript": "^4.9.3", + "vitest": "^0.25.3" }, "engines": { "node": ">=12.13" @@ -366,14 +366,14 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.42.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.1.tgz", - "integrity": "sha512-LyR6x784JCiJ1j6sH5Y0K6cdExqCCm8DJUTcwG5ThNXJj/G8o5E56u5EdG4SLy+bZAwZBswC+GYn3eGdttBVCg==", + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.45.0.tgz", + "integrity": "sha512-CXXHNlf0oL+Yg021cxgOdMHNTXD17rHkq7iW6RFHoybdFgQBjU3yIXhhcPpGwr1CjZlo6ET8C6tzX5juQoXeGA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.42.1", - "@typescript-eslint/type-utils": "5.42.1", - "@typescript-eslint/utils": "5.42.1", + "@typescript-eslint/scope-manager": "5.45.0", + "@typescript-eslint/type-utils": "5.45.0", + "@typescript-eslint/utils": "5.45.0", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -399,14 +399,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.42.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.42.1.tgz", - "integrity": "sha512-kAV+NiNBWVQDY9gDJDToTE/NO8BHi4f6b7zTsVAJoTkmB/zlfOpiEVBzHOKtlgTndCKe8vj9F/PuolemZSh50Q==", + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.45.0.tgz", + "integrity": "sha512-brvs/WSM4fKUmF5Ot/gEve6qYiCMjm6w4HkHPfS6ZNmxTS0m0iNN4yOChImaCkqc1hRwFGqUyanMXuGal6oyyQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.42.1", - "@typescript-eslint/types": "5.42.1", - "@typescript-eslint/typescript-estree": "5.42.1", + "@typescript-eslint/scope-manager": "5.45.0", + "@typescript-eslint/types": "5.45.0", + "@typescript-eslint/typescript-estree": "5.45.0", "debug": "^4.3.4" }, "engines": { @@ -426,13 +426,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.42.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.42.1.tgz", - "integrity": "sha512-QAZY/CBP1Emx4rzxurgqj3rUinfsh/6mvuKbLNMfJMMKYLRBfweus8brgXF8f64ABkIZ3zdj2/rYYtF8eiuksQ==", + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.45.0.tgz", + "integrity": "sha512-noDMjr87Arp/PuVrtvN3dXiJstQR1+XlQ4R1EvzG+NMgXi8CuMCXpb8JqNtFHKceVSQ985BZhfRdowJzbv4yKw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.42.1", - "@typescript-eslint/visitor-keys": "5.42.1" + "@typescript-eslint/types": "5.45.0", + "@typescript-eslint/visitor-keys": "5.45.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -443,13 +443,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.42.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.42.1.tgz", - "integrity": "sha512-WWiMChneex5w4xPIX56SSnQQo0tEOy5ZV2dqmj8Z371LJ0E+aymWD25JQ/l4FOuuX+Q49A7pzh/CGIQflxMVXg==", + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.45.0.tgz", + "integrity": "sha512-DY7BXVFSIGRGFZ574hTEyLPRiQIvI/9oGcN8t1A7f6zIs6ftbrU0nhyV26ZW//6f85avkwrLag424n+fkuoJ1Q==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.42.1", - "@typescript-eslint/utils": "5.42.1", + "@typescript-eslint/typescript-estree": "5.45.0", + "@typescript-eslint/utils": "5.45.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -470,9 +470,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.42.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.42.1.tgz", - "integrity": "sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA==", + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.45.0.tgz", + "integrity": "sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -483,13 +483,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.42.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.1.tgz", - "integrity": "sha512-qElc0bDOuO0B8wDhhW4mYVgi/LZL+igPwXtV87n69/kYC/7NG3MES0jHxJNCr4EP7kY1XVsRy8C/u3DYeTKQmw==", + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.45.0.tgz", + "integrity": "sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.42.1", - "@typescript-eslint/visitor-keys": "5.42.1", + "@typescript-eslint/types": "5.45.0", + "@typescript-eslint/visitor-keys": "5.45.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -510,16 +510,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.42.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.42.1.tgz", - "integrity": "sha512-Gxvf12xSp3iYZd/fLqiQRD4uKZjDNR01bQ+j8zvhPjpsZ4HmvEFL/tC4amGNyxN9Rq+iqvpHLhlqx6KTxz9ZyQ==", + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.45.0.tgz", + "integrity": "sha512-OUg2JvsVI1oIee/SwiejTot2OxwU8a7UfTFMOdlhD2y+Hl6memUSL4s98bpUTo8EpVEr0lmwlU7JSu/p2QpSvA==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.42.1", - "@typescript-eslint/types": "5.42.1", - "@typescript-eslint/typescript-estree": "5.42.1", + "@typescript-eslint/scope-manager": "5.45.0", + "@typescript-eslint/types": "5.45.0", + "@typescript-eslint/typescript-estree": "5.45.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -536,12 +536,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.42.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.1.tgz", - "integrity": "sha512-LOQtSF4z+hejmpUvitPlc4hA7ERGoj2BVkesOcG91HCn8edLGUXbTrErmutmPbl8Bo9HjAvOO/zBKQHExXNA2A==", + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.45.0.tgz", + "integrity": "sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.42.1", + "@typescript-eslint/types": "5.45.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -2139,9 +2139,9 @@ } }, "node_modules/eslint": { - "version": "8.27.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz", - "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.28.0.tgz", + "integrity": "sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.3.3", @@ -3467,9 +3467,9 @@ } }, "node_modules/is-what": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.7.tgz", - "integrity": "sha512-DBVOQNiPKnGMxRMLIYSwERAS5MVY1B7xYiGnpgctsOFvVDz9f9PFXXxMcTOHuoqYp4NK9qFYQaIC1NRRxLMpBQ==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.8.tgz", + "integrity": "sha512-yq8gMao5upkPoGEU9LsB2P+K3Kt8Q3fQFCGyNCWOAnJAMzEXVV9drYb0TXr42TTliLLhKIBvulgAXgtLLnwzGA==", "engines": { "node": ">=12.13" }, @@ -5232,9 +5232,9 @@ } }, "node_modules/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz", + "integrity": "sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==", "dev": true, "bin": { "prettier": "bin-prettier.js" @@ -5597,9 +5597,9 @@ } }, "node_modules/rollup": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.3.0.tgz", - "integrity": "sha512-wqOV/vUJCYEbWsXvwCkgGWvgaEnsbn4jxBQWKpN816CqsmCimDmCNJI83c6if7QVD4v/zlyRzxN7U2yDT5rfoA==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.5.0.tgz", + "integrity": "sha512-TYu2L+TGhmNsXCtByont89u+ATQLcDy6A+++PwLXYunRtOm7XnaD+65s1pvewaOxMYR0eOkMXn9/i0saBxxpnQ==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -6106,9 +6106,9 @@ } }, "node_modules/typescript": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", - "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", + "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -6313,9 +6313,9 @@ } }, "node_modules/vitest": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.25.1.tgz", - "integrity": "sha512-eH74h6MkuEgsqR4mAQZeMK9O0PROiKY+i+1GMz/fBi5A3L2ml5U7JQs7LfPU7+uWUziZyLHagl+rkyfR8SLhlA==", + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.25.3.tgz", + "integrity": "sha512-/UzHfXIKsELZhL7OaM2xFlRF8HRZgAHtPctacvNK8H4vOcbJJAMEgbWNGSAK7Y9b1NBe5SeM7VTuz2RsTHFJJA==", "dev": true, "dependencies": { "@types/chai": "^4.3.3", @@ -6790,14 +6790,14 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.42.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.1.tgz", - "integrity": "sha512-LyR6x784JCiJ1j6sH5Y0K6cdExqCCm8DJUTcwG5ThNXJj/G8o5E56u5EdG4SLy+bZAwZBswC+GYn3eGdttBVCg==", + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.45.0.tgz", + "integrity": "sha512-CXXHNlf0oL+Yg021cxgOdMHNTXD17rHkq7iW6RFHoybdFgQBjU3yIXhhcPpGwr1CjZlo6ET8C6tzX5juQoXeGA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.42.1", - "@typescript-eslint/type-utils": "5.42.1", - "@typescript-eslint/utils": "5.42.1", + "@typescript-eslint/scope-manager": "5.45.0", + "@typescript-eslint/type-utils": "5.45.0", + "@typescript-eslint/utils": "5.45.0", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -6807,53 +6807,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.42.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.42.1.tgz", - "integrity": "sha512-kAV+NiNBWVQDY9gDJDToTE/NO8BHi4f6b7zTsVAJoTkmB/zlfOpiEVBzHOKtlgTndCKe8vj9F/PuolemZSh50Q==", + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.45.0.tgz", + "integrity": "sha512-brvs/WSM4fKUmF5Ot/gEve6qYiCMjm6w4HkHPfS6ZNmxTS0m0iNN4yOChImaCkqc1hRwFGqUyanMXuGal6oyyQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.42.1", - "@typescript-eslint/types": "5.42.1", - "@typescript-eslint/typescript-estree": "5.42.1", + "@typescript-eslint/scope-manager": "5.45.0", + "@typescript-eslint/types": "5.45.0", + "@typescript-eslint/typescript-estree": "5.45.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.42.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.42.1.tgz", - "integrity": "sha512-QAZY/CBP1Emx4rzxurgqj3rUinfsh/6mvuKbLNMfJMMKYLRBfweus8brgXF8f64ABkIZ3zdj2/rYYtF8eiuksQ==", + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.45.0.tgz", + "integrity": "sha512-noDMjr87Arp/PuVrtvN3dXiJstQR1+XlQ4R1EvzG+NMgXi8CuMCXpb8JqNtFHKceVSQ985BZhfRdowJzbv4yKw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.42.1", - "@typescript-eslint/visitor-keys": "5.42.1" + "@typescript-eslint/types": "5.45.0", + "@typescript-eslint/visitor-keys": "5.45.0" } }, "@typescript-eslint/type-utils": { - "version": "5.42.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.42.1.tgz", - "integrity": "sha512-WWiMChneex5w4xPIX56SSnQQo0tEOy5ZV2dqmj8Z371LJ0E+aymWD25JQ/l4FOuuX+Q49A7pzh/CGIQflxMVXg==", + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.45.0.tgz", + "integrity": "sha512-DY7BXVFSIGRGFZ574hTEyLPRiQIvI/9oGcN8t1A7f6zIs6ftbrU0nhyV26ZW//6f85avkwrLag424n+fkuoJ1Q==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.42.1", - "@typescript-eslint/utils": "5.42.1", + "@typescript-eslint/typescript-estree": "5.45.0", + "@typescript-eslint/utils": "5.45.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.42.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.42.1.tgz", - "integrity": "sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA==", + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.45.0.tgz", + "integrity": "sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.42.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.1.tgz", - "integrity": "sha512-qElc0bDOuO0B8wDhhW4mYVgi/LZL+igPwXtV87n69/kYC/7NG3MES0jHxJNCr4EP7kY1XVsRy8C/u3DYeTKQmw==", + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.45.0.tgz", + "integrity": "sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.42.1", - "@typescript-eslint/visitor-keys": "5.42.1", + "@typescript-eslint/types": "5.45.0", + "@typescript-eslint/visitor-keys": "5.45.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -6862,28 +6862,28 @@ } }, "@typescript-eslint/utils": { - "version": "5.42.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.42.1.tgz", - "integrity": "sha512-Gxvf12xSp3iYZd/fLqiQRD4uKZjDNR01bQ+j8zvhPjpsZ4HmvEFL/tC4amGNyxN9Rq+iqvpHLhlqx6KTxz9ZyQ==", + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.45.0.tgz", + "integrity": "sha512-OUg2JvsVI1oIee/SwiejTot2OxwU8a7UfTFMOdlhD2y+Hl6memUSL4s98bpUTo8EpVEr0lmwlU7JSu/p2QpSvA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.42.1", - "@typescript-eslint/types": "5.42.1", - "@typescript-eslint/typescript-estree": "5.42.1", + "@typescript-eslint/scope-manager": "5.45.0", + "@typescript-eslint/types": "5.45.0", + "@typescript-eslint/typescript-estree": "5.45.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" } }, "@typescript-eslint/visitor-keys": { - "version": "5.42.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.1.tgz", - "integrity": "sha512-LOQtSF4z+hejmpUvitPlc4hA7ERGoj2BVkesOcG91HCn8edLGUXbTrErmutmPbl8Bo9HjAvOO/zBKQHExXNA2A==", + "version": "5.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.45.0.tgz", + "integrity": "sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.42.1", + "@typescript-eslint/types": "5.45.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -7925,9 +7925,9 @@ "dev": true }, "eslint": { - "version": "8.27.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz", - "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.28.0.tgz", + "integrity": "sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==", "dev": true, "requires": { "@eslint/eslintrc": "^1.3.3", @@ -8912,9 +8912,9 @@ "dev": true }, "is-what": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.7.tgz", - "integrity": "sha512-DBVOQNiPKnGMxRMLIYSwERAS5MVY1B7xYiGnpgctsOFvVDz9f9PFXXxMcTOHuoqYp4NK9qFYQaIC1NRRxLMpBQ==" + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.8.tgz", + "integrity": "sha512-yq8gMao5upkPoGEU9LsB2P+K3Kt8Q3fQFCGyNCWOAnJAMzEXVV9drYb0TXr42TTliLLhKIBvulgAXgtLLnwzGA==" }, "is-wsl": { "version": "2.2.0", @@ -10245,9 +10245,9 @@ "dev": true }, "prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz", + "integrity": "sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==", "dev": true }, "pump": { @@ -10509,9 +10509,9 @@ } }, "rollup": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.3.0.tgz", - "integrity": "sha512-wqOV/vUJCYEbWsXvwCkgGWvgaEnsbn4jxBQWKpN816CqsmCimDmCNJI83c6if7QVD4v/zlyRzxN7U2yDT5rfoA==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.5.0.tgz", + "integrity": "sha512-TYu2L+TGhmNsXCtByont89u+ATQLcDy6A+++PwLXYunRtOm7XnaD+65s1pvewaOxMYR0eOkMXn9/i0saBxxpnQ==", "dev": true, "requires": { "fsevents": "~2.3.2" @@ -10885,9 +10885,9 @@ } }, "typescript": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", - "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", + "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", "dev": true }, "unique-string": { @@ -11022,9 +11022,9 @@ } }, "vitest": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.25.1.tgz", - "integrity": "sha512-eH74h6MkuEgsqR4mAQZeMK9O0PROiKY+i+1GMz/fBi5A3L2ml5U7JQs7LfPU7+uWUziZyLHagl+rkyfR8SLhlA==", + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.25.3.tgz", + "integrity": "sha512-/UzHfXIKsELZhL7OaM2xFlRF8HRZgAHtPctacvNK8H4vOcbJJAMEgbWNGSAK7Y9b1NBe5SeM7VTuz2RsTHFJJA==", "dev": true, "requires": { "@types/chai": "^4.3.3", diff --git a/package.json b/package.json index 939a0cb..3c910a3 100644 --- a/package.json +++ b/package.json @@ -60,21 +60,21 @@ }, "homepage": "https://github.com/mesqueeb/merge-anything#readme", "dependencies": { - "is-what": "^4.1.7" + "is-what": "^4.1.8" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.42.1", - "@typescript-eslint/parser": "^5.42.1", + "@typescript-eslint/eslint-plugin": "^5.45.0", + "@typescript-eslint/parser": "^5.45.0", "del-cli": "^5.0.0", - "eslint": "^8.27.0", + "eslint": "^8.28.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-tree-shaking": "^1.10.0", "np": "^7.6.2", - "prettier": "^2.7.1", - "rollup": "^3.3.0", + "prettier": "^2.8.0", + "rollup": "^3.5.0", "rollup-plugin-typescript2": "^0.34.1", - "typescript": "^4.8.4", - "vitest": "^0.25.1" + "typescript": "^4.9.3", + "vitest": "^0.25.3" }, "np": { "yarn": false, diff --git a/src/index.ts b/src/index.ts index 2a77d1e..59ace84 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,2 +1,2 @@ -export * from './merge' -export * from './extensions' +export * from './merge.js' +export * from './extensions.js' diff --git a/src/merge.ts b/src/merge.ts index 737c69a..4cd6ca9 100644 --- a/src/merge.ts +++ b/src/merge.ts @@ -1,8 +1,8 @@ -import type { Assign } from './typeUtils/Assign' -import type { Pop } from './typeUtils/List' -import type { PrettyPrint } from './typeUtils/PrettyPrint' import { isPlainObject, isSymbol } from 'is-what' -import { concatArrays } from './extensions' +import type { Assign } from './typeUtils/Assign.js' +import type { Pop } from './typeUtils/List.js' +import type { PrettyPrint } from './typeUtils/PrettyPrint.js' +import { concatArrays } from './extensions.js' /** * The return type of `merge()`. It reflects the type that is returned by JavaScript. diff --git a/src/typeUtils/Assign.ts b/src/typeUtils/Assign.ts index 8617644..4ce67b0 100644 --- a/src/typeUtils/Assign.ts +++ b/src/typeUtils/Assign.ts @@ -1,6 +1,6 @@ -import { MergeDeep } from './MergeDeep' -import { Iteration, IterationOf, Pos, Next } from './Iteration' -import { Length, List } from './List' +import type { MergeDeep } from './MergeDeep.js' +import type { Iteration, IterationOf, Pos, Next } from './Iteration.js' +import type { Length, List } from './List.js' /** * Ask TS to re-check that `A1` extends `A2`. diff --git a/tsconfig.json b/tsconfig.json index 3dc9f88..7ef5136 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,6 +8,7 @@ "moduleResolution": "node", "isolatedModules": true, "esModuleInterop": true, + "skipLibCheck": true, "declaration": true, "declarationDir": "./dist/types/" },