diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f3d0b8b4..3f7ed8c0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,9 +13,9 @@ jobs: - 18 - 20 os: - # - macOS-latest - # - windows-latest # I don't have a Windows machine to debug - ubuntu-latest + - windows-latest + - macos-latest runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 diff --git a/.nvmrc b/.nvmrc index 1117d417..1fc51668 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -18.20.5 +18.20.6 diff --git a/.size-limit.json b/.size-limit.json index 85cbdb5f..0c0657ad 100644 --- a/.size-limit.json +++ b/.size-limit.json @@ -1,6 +1,6 @@ [ { "path": "./lib/index.js", - "limit": "2.8kB" + "limit": "3kB" } ] diff --git a/CHANGELOG.md b/CHANGELOG.md index fcf2dd91..1dd6496f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,33 @@ # Changelog +## 3.8.3 + +### Patch Changes + +- [#360](https://github.com/import-js/eslint-import-resolver-typescript/pull/360) [`8192976`](https://github.com/import-js/eslint-import-resolver-typescript/commit/81929767a9e440eaa730f4c76b932da7bbd9eed7) Thanks [@carlocorradini](https://github.com/carlocorradini)! - Force tiniglobby to expand dot directories + +- [#360](https://github.com/import-js/eslint-import-resolver-typescript/pull/360) [`8192976`](https://github.com/import-js/eslint-import-resolver-typescript/commit/81929767a9e440eaa730f4c76b932da7bbd9eed7) Thanks [@carlocorradini](https://github.com/carlocorradini)! - Update tinyglobby to latest version + +## 3.8.2 + +### Patch Changes + +- [#357](https://github.com/import-js/eslint-import-resolver-typescript/pull/357) [`5fd349e`](https://github.com/import-js/eslint-import-resolver-typescript/commit/5fd349e17c3650aafcc804858a3c3b07cfda8e0d) Thanks [@carlocorradini](https://github.com/carlocorradini)! - Update the `tinyglobby` to the latest version to solve performance regressions. + +## 3.8.1 + +### Patch Changes + +- [#352](https://github.com/import-js/eslint-import-resolver-typescript/pull/352) [`0c6303d`](https://github.com/import-js/eslint-import-resolver-typescript/commit/0c6303d336093ecdac522da0bc1f57ef3ba85f9d) Thanks [@carlocorradini](https://github.com/carlocorradini)! - Set cwd while resolving tsconfig include + +## 3.8.0 + +### Minor Changes + +- [#345](https://github.com/import-js/eslint-import-resolver-typescript/pull/345) [`fcc8883`](https://github.com/import-js/eslint-import-resolver-typescript/commit/fcc8883c0f023247fcb9a453004f8bd3e6b7c0e2) Thanks [@carlocorradini](https://github.com/carlocorradini)! - Enable the mapper function just for a set of allowed files. Improves project discovery using glob and POSIX separator. + +- [#346](https://github.com/import-js/eslint-import-resolver-typescript/pull/346) [`c124e87`](https://github.com/import-js/eslint-import-resolver-typescript/commit/c124e874b6429167b230697ee9f0a69e2efa5f96) Thanks [@carlocorradini](https://github.com/carlocorradini)! - Update get-tsconfig to the the latest version. We now support the `${configDir}` variable, introduced in TypeScript 5.5. + ## 3.7.0 ### Minor Changes diff --git a/README.md b/README.md index de3808f8..22555278 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ [![Code Style: Prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier) [![changesets](https://img.shields.io/badge/maintained%20with-changesets-176de3.svg)](https://github.com/changesets/changesets) -This plugin adds [`TypeScript`][] support to [`eslint-plugin-import`][] (Or maybe you want to try [`eslint-plugin-i`][] for faster speed) +This plugin adds [`TypeScript`][] support to [`eslint-plugin-import`][] (Or maybe you want to try [`eslint-plugin-import-x`][] for faster speed) This means you can: @@ -58,7 +58,7 @@ pnpm i -D eslint-plugin-import eslint-import-resolver-typescript yarn add -D eslint-plugin-import eslint-import-resolver-typescript ``` -**Important when using `eslint-plugin-i` and `npm`**: Use `npm i -D eslint-plugin-import@eslint-plugin-i@latest eslint-import-resolver-typescript`, or you will end up with both `eslint-plugin-import` and `eslint-plugin-i` in your node_modules. +**Important when using `eslint-plugin-import-x` and `npm`**: Use `npm i -D eslint-plugin-import@eslint-plugin-import-x@latest eslint-import-resolver-typescript`, or you will end up with both `eslint-plugin-import` and `eslint-plugin-import-x` in your node_modules. ## Configuration @@ -74,7 +74,7 @@ const { module.exports = [{ settings: { - "import/resolver-next": [ + "import-x/resolver-next": [ createTypeScriptImportResolver({ alwaysTryTypes: true, // always try to resolve types under `@types` directory even it doesn't contain any source code, like `@types/unist` @@ -100,7 +100,7 @@ module.exports = [{ "other-packages/*/tsconfig.json" ] }), - ]; + ] } }] ``` @@ -112,7 +112,7 @@ But if you are using `eslint-plugin-import` or the older version of `eslint-plug module.exports = [ { settings: { - 'import/resolvers': { + 'import/resolver': { typescript: { alwaysTryTypes: true, // always try to resolve types under `@types` directory even it doesn't contain any source code, like `@types/unist` @@ -311,8 +311,8 @@ Detailed changes for each release are documented in [CHANGELOG.md](./CHANGELOG.m [ISC][] -[`eslint-plugin-i`]: https://github.com/un-es/eslint-plugin-i [`eslint-plugin-import`]: https://github.com/import-js/eslint-plugin-import +[`eslint-plugin-import-x`]: https://github.com/un-ts/eslint-plugin-import-x [`enhanced-resolve`]: https://github.com/webpack/enhanced-resolve [`typescript`]: https://www.typescriptlang.org [isc]: https://opensource.org/licenses/ISC diff --git a/package.json b/package.json index 2bc41b78..758c4c91 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "eslint-import-resolver-typescript", - "version": "3.7.0", + "version": "3.8.3", "type": "module", "description": "This plugin adds `TypeScript` support to `eslint-plugin-import`", "repository": "git+https://github.com/import-js/eslint-import-resolver-typescript", @@ -51,6 +51,9 @@ "prepare": "simple-git-hooks", "release": "changeset publish", "test": "run-p 'test:*'", + "test:dotInclude": "eslint --ext ts,tsx tests/dotInclude --ignore-pattern \"!.dot\"", + "test:dotPaths": "eslint --ext ts,tsx tests/dotPaths --ignore-pattern \"!.dot\"", + "test:dotProject": "eslint --ext ts,tsx tests/dotProject --ignore-pattern \"!.dot\"", "test:importXResolverV3": "eslint --config=tests/importXResolverV3/eslint.config.js tests/importXResolverV3", "test:multipleEslintrcs": "eslint --ext ts,tsx tests/multipleEslintrcs", "test:multipleTsconfigs": "eslint --ext ts,tsx tests/multipleTsconfigs", @@ -79,23 +82,21 @@ "@nolyfill/is-core-module": "1.0.39", "debug": "^4.3.7", "enhanced-resolve": "^5.15.0", - "fast-glob": "^3.3.2", - "get-tsconfig": "^4.7.5", + "get-tsconfig": "^4.10.0", "is-bun-module": "^1.0.2", - "is-glob": "^4.0.3", - "stable-hash": "^0.0.4" + "stable-hash": "^0.0.4", + "tinyglobby": "^0.2.12" }, "devDependencies": { - "@1stg/eslint-config": "7", + "@1stg/eslint-config": "7.0.1", "@1stg/lib-config": "^12.0.1", "@changesets/changelog-github": "^0.5.0", - "@changesets/cli": "^2.27.10", + "@changesets/cli": "^2.27.12", "@commitlint/cli": "^17.8.1", "@mozilla/glean": "^3.0.0", "@pkgr/rollup": "^4.1.3", "@types/debug": "^4.1.12", - "@types/is-glob": "^4.0.4", - "@types/node": "^18.19.67", + "@types/node": "^18.19.74", "@types/unist": "^2.0.11", "dummy.js": "link:dummy.js", "eslint": "^8.57.1", diff --git a/src/index.ts b/src/index.ts index 53e9b8ec..bc92c25d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -5,15 +5,12 @@ import isNodeCoreModule from '@nolyfill/is-core-module' import debug from 'debug' import type { FileSystem, ResolveOptions, Resolver } from 'enhanced-resolve' import enhancedResolve from 'enhanced-resolve' -import fg from 'fast-glob' import { createPathsMatcher, getTsconfig } from 'get-tsconfig' import type { TsConfigResult } from 'get-tsconfig' import type { Version } from 'is-bun-module' import { isBunModule } from 'is-bun-module' -import isGlob from 'is-glob' import stableHashExports from 'stable-hash' - -const { globSync } = fg +import { globSync, isDynamicPattern } from 'tinyglobby' // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- esmodule interop const stableHash = stableHashExports.default || stableHashExports @@ -114,7 +111,10 @@ let cachedOptions: InternalResolverOptions | undefined let prevCwd: string let mappersCachedOptions: InternalResolverOptions -let mappers: Array<((specifier: string) => string[]) | null> | undefined +let mappers: Array<{ + files: Set + mapperFn: NonNullable> +}> = [] let resolverCachedOptions: InternalResolverOptions let cachedResolver: Resolver | undefined @@ -162,7 +162,7 @@ export function resolve( resolver = cachedResolver } - log('looking for:', source) + log('looking for', source, 'in', file) source = removeQuerystring(source) @@ -303,34 +303,35 @@ function getMappedPath( paths = [resolved] } } else { - paths = mappers! - .map(mapper => - mapper?.(source).map(item => [ - ...extensions.map(ext => `${item}${ext}`), - ...originalExtensions.map(ext => `${item}/index${ext}`), - ]), - ) - .flat(2) - .filter(mappedPath => { - if (mappedPath === undefined) { - return false - } - - try { - const stat = fs.statSync(mappedPath, { throwIfNoEntry: false }) - if (stat === undefined) return false - if (stat.isFile()) return true - - // Maybe this is a module dir? - if (stat.isDirectory()) { - return isModule(mappedPath) - } - } catch { - return false + paths = [ + ...new Set( + mappers + .filter(({ files }) => files.has(file)) + .map(({ mapperFn }) => + mapperFn(source).map(item => [ + ...extensions.map(ext => `${item}${ext}`), + ...originalExtensions.map(ext => `${item}/index${ext}`), + ]), + ) + .flat(2) + .map(toNativePathSeparator), + ), + ].filter(mappedPath => { + try { + const stat = fs.statSync(mappedPath, { throwIfNoEntry: false }) + if (stat === undefined) return false + if (stat.isFile()) return true + + // Maybe this is a module dir? + if (stat.isDirectory()) { + return isModule(mappedPath) } - + } catch { return false - }) + } + + return false + }) } if (retry && paths.length === 0) { @@ -370,9 +371,10 @@ function getMappedPath( return paths[0] } +// eslint-disable-next-line sonarjs/cognitive-complexity function initMappers(options: InternalResolverOptions) { if ( - mappers && + mappers.length > 0 && mappersCachedOptions === options && prevCwd === process.cwd() ) { @@ -380,35 +382,107 @@ function initMappers(options: InternalResolverOptions) { } prevCwd = process.cwd() - const configPaths = + const configPaths = ( typeof options.project === 'string' ? [options.project] : Array.isArray(options.project) ? options.project : [process.cwd()] + ) // 'tinyglobby' pattern must have POSIX separator + .map(config => replacePathSeparator(config, path.sep, path.posix.sep)) - const ignore = ['!**/node_modules/**'] + // https://github.com/microsoft/TypeScript/blob/df342b7206cb56b56bb3b3aecbb2ee2d2ff7b217/src/compiler/commandLineParser.ts#L3006 + const defaultInclude = ['**/*'] + const defaultIgnore = ['**/node_modules/**'] - // turn glob patterns into paths + // Turn glob patterns into paths const projectPaths = [ ...new Set([ - ...configPaths.filter(path => !isGlob(path)), - ...globSync([...configPaths.filter(path => isGlob(path)), ...ignore]), + ...configPaths.filter(path => !isDynamicPattern(path)), + ...globSync( + configPaths.filter(path => isDynamicPattern(path)), + { + absolute: true, + dot: true, + expandDirectories: false, + ignore: defaultIgnore, + }, + ), ]), ] - mappers = projectPaths.map(projectPath => { - let tsconfigResult: TsConfigResult | null + mappers = projectPaths + .map(projectPath => { + let tsconfigResult: TsConfigResult | null - if (isFile(projectPath)) { - const { dir, base } = path.parse(projectPath) - tsconfigResult = getTsconfig(dir, base) - } else { - tsconfigResult = getTsconfig(projectPath) - } + if (isFile(projectPath)) { + const { dir, base } = path.parse(projectPath) + tsconfigResult = getTsconfig(dir, base) + } else { + tsconfigResult = getTsconfig(projectPath) + } - return tsconfigResult && createPathsMatcher(tsconfigResult) - }) + if (!tsconfigResult) { + // eslint-disable-next-line unicorn/no-useless-undefined + return undefined + } + + const mapperFn = createPathsMatcher(tsconfigResult) + + if (!mapperFn) { + // eslint-disable-next-line unicorn/no-useless-undefined + return undefined + } + + const files = + tsconfigResult.config.files === undefined && + tsconfigResult.config.include === undefined + ? // Include everything if no files or include options + globSync(defaultInclude, { + absolute: true, + cwd: path.dirname(tsconfigResult.path), + dot: true, + ignore: [ + ...(tsconfigResult.config.exclude ?? []), + ...defaultIgnore, + ], + }) + : [ + // https://www.typescriptlang.org/tsconfig/#files + ...(tsconfigResult.config.files !== undefined && + tsconfigResult.config.files.length > 0 + ? tsconfigResult.config.files.map(file => + path.normalize( + path.resolve(path.dirname(tsconfigResult!.path), file), + ), + ) + : []), + // https://www.typescriptlang.org/tsconfig/#include + ...(tsconfigResult.config.include !== undefined && + tsconfigResult.config.include.length > 0 + ? globSync(tsconfigResult.config.include, { + absolute: true, + cwd: path.dirname(tsconfigResult.path), + dot: true, + ignore: [ + ...(tsconfigResult.config.exclude ?? []), + ...defaultIgnore, + ], + }) + : []), + ] + + if (files.length === 0) { + // eslint-disable-next-line unicorn/no-useless-undefined + return undefined + } + + return { + files: new Set(files.map(toNativePathSeparator)), + mapperFn, + } + }) + .filter(isDefined) mappersCachedOptions = options } @@ -425,3 +499,46 @@ function mangleScopedPackage(moduleName: string) { } return moduleName } + +/** + * Replace path `p` from `from` to `to` separator. + * + * @param {string} p Path + * @param {typeof path.sep} from From separator + * @param {typeof path.sep} to To separator + * @returns Path with `to` separator + */ +function replacePathSeparator( + p: string, + from: typeof path.sep, + to: typeof path.sep, +) { + return from === to ? p : p.replaceAll(from, to) +} + +/** + * Replace path `p` separator to its native separator. + * + * @param {string} p Path + * @returns Path with native separator + */ +function toNativePathSeparator(p: string) { + return replacePathSeparator( + p, + path[process.platform === 'win32' ? 'posix' : 'win32'].sep, + path[process.platform === 'win32' ? 'win32' : 'posix'].sep, + ) +} + +/** + * Check if value is defined. + * + * Helper function for TypeScript. + * Should be removed when upgrading to TypeScript >= 5.5. + * + * @param {T | null | undefined} value Value + * @returns `true` if value is defined, `false` otherwise + */ +function isDefined(value: T | null | undefined): value is T { + return value !== null && value !== undefined +} diff --git a/tests/dotInclude/.dot/index.ts b/tests/dotInclude/.dot/index.ts new file mode 100644 index 00000000..594e79d4 --- /dev/null +++ b/tests/dotInclude/.dot/index.ts @@ -0,0 +1,18 @@ +// import relative +import './tsImportee' +import './tsxImportee' +import './subfolder/tsImportee' +import './subfolder/tsxImportee' + +// import using tsconfig.json path mapping +import 'folder/tsImportee' +import 'folder/tsxImportee' +import 'folder/subfolder/tsImportee' +import 'folder/subfolder/tsxImportee' + +// import module with typings set in package.json +import 'folder/module' + +// import from node_module +import 'typescript' +import 'dummy.js' diff --git a/tests/dotInclude/.dot/module/module.d.ts b/tests/dotInclude/.dot/module/module.d.ts new file mode 100644 index 00000000..336ce12b --- /dev/null +++ b/tests/dotInclude/.dot/module/module.d.ts @@ -0,0 +1 @@ +export {} diff --git a/tests/dotInclude/.dot/module/package.json b/tests/dotInclude/.dot/module/package.json new file mode 100644 index 00000000..f69fe0be --- /dev/null +++ b/tests/dotInclude/.dot/module/package.json @@ -0,0 +1,5 @@ +{ + "type": "commonjs", + "typings": "./module.d.ts", + "private": true +} diff --git a/tests/dotInclude/.dot/subfolder/tsImportee.ts b/tests/dotInclude/.dot/subfolder/tsImportee.ts new file mode 100644 index 00000000..2893e5d0 --- /dev/null +++ b/tests/dotInclude/.dot/subfolder/tsImportee.ts @@ -0,0 +1 @@ +export default 'yes' diff --git a/tests/dotInclude/.dot/subfolder/tsxImportee.tsx b/tests/dotInclude/.dot/subfolder/tsxImportee.tsx new file mode 100644 index 00000000..e500b41b --- /dev/null +++ b/tests/dotInclude/.dot/subfolder/tsxImportee.tsx @@ -0,0 +1 @@ +export default 'React Component' diff --git a/tests/dotInclude/.dot/tsImportee.ts b/tests/dotInclude/.dot/tsImportee.ts new file mode 100644 index 00000000..2893e5d0 --- /dev/null +++ b/tests/dotInclude/.dot/tsImportee.ts @@ -0,0 +1 @@ +export default 'yes' diff --git a/tests/dotInclude/.dot/tsxImportee.tsx b/tests/dotInclude/.dot/tsxImportee.tsx new file mode 100644 index 00000000..e500b41b --- /dev/null +++ b/tests/dotInclude/.dot/tsxImportee.tsx @@ -0,0 +1 @@ +export default 'React Component' diff --git a/tests/dotInclude/.eslintrc.cjs b/tests/dotInclude/.eslintrc.cjs new file mode 100644 index 00000000..7497db66 --- /dev/null +++ b/tests/dotInclude/.eslintrc.cjs @@ -0,0 +1 @@ +module.exports = require('../baseEslintConfig.cjs')(__dirname) diff --git a/tests/dotInclude/tsconfig.json b/tests/dotInclude/tsconfig.json new file mode 100644 index 00000000..496d4f25 --- /dev/null +++ b/tests/dotInclude/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "baseUrl": "./.dot", + "jsx": "react", + "paths": { + "folder/*": ["*"], + "*": ["../../node_modules/*"] + } + }, + "include": ["./**/*.ts", "./**/*.tsx"] +} diff --git a/tests/dotPaths/.dot/module/module.d.ts b/tests/dotPaths/.dot/module/module.d.ts new file mode 100644 index 00000000..336ce12b --- /dev/null +++ b/tests/dotPaths/.dot/module/module.d.ts @@ -0,0 +1 @@ +export {} diff --git a/tests/dotPaths/.dot/module/package.json b/tests/dotPaths/.dot/module/package.json new file mode 100644 index 00000000..f69fe0be --- /dev/null +++ b/tests/dotPaths/.dot/module/package.json @@ -0,0 +1,5 @@ +{ + "type": "commonjs", + "typings": "./module.d.ts", + "private": true +} diff --git a/tests/dotPaths/.dot/subfolder/tsImportee.ts b/tests/dotPaths/.dot/subfolder/tsImportee.ts new file mode 100644 index 00000000..2893e5d0 --- /dev/null +++ b/tests/dotPaths/.dot/subfolder/tsImportee.ts @@ -0,0 +1 @@ +export default 'yes' diff --git a/tests/dotPaths/.dot/subfolder/tsxImportee.tsx b/tests/dotPaths/.dot/subfolder/tsxImportee.tsx new file mode 100644 index 00000000..e500b41b --- /dev/null +++ b/tests/dotPaths/.dot/subfolder/tsxImportee.tsx @@ -0,0 +1 @@ +export default 'React Component' diff --git a/tests/dotPaths/.dot/tsImportee.ts b/tests/dotPaths/.dot/tsImportee.ts new file mode 100644 index 00000000..2893e5d0 --- /dev/null +++ b/tests/dotPaths/.dot/tsImportee.ts @@ -0,0 +1 @@ +export default 'yes' diff --git a/tests/dotPaths/.dot/tsxImportee.tsx b/tests/dotPaths/.dot/tsxImportee.tsx new file mode 100644 index 00000000..e500b41b --- /dev/null +++ b/tests/dotPaths/.dot/tsxImportee.tsx @@ -0,0 +1 @@ +export default 'React Component' diff --git a/tests/dotPaths/.eslintrc.cjs b/tests/dotPaths/.eslintrc.cjs new file mode 100644 index 00000000..7497db66 --- /dev/null +++ b/tests/dotPaths/.eslintrc.cjs @@ -0,0 +1 @@ +module.exports = require('../baseEslintConfig.cjs')(__dirname) diff --git a/tests/dotPaths/index.ts b/tests/dotPaths/index.ts new file mode 100644 index 00000000..3015f9c8 --- /dev/null +++ b/tests/dotPaths/index.ts @@ -0,0 +1,18 @@ +// import relative +import './.dot/tsImportee' +import './.dot/tsxImportee' +import './.dot/subfolder/tsImportee' +import './.dot/subfolder/tsxImportee' + +// import using tsconfig.json path mapping +import 'folder/tsImportee' +import 'folder/tsxImportee' +import 'folder/subfolder/tsImportee' +import 'folder/subfolder/tsxImportee' + +// import module with typings set in package.json +import 'folder/module' + +// import from node_module +import 'typescript' +import 'dummy.js' diff --git a/tests/dotPaths/tsconfig.json b/tests/dotPaths/tsconfig.json new file mode 100644 index 00000000..00d48b2d --- /dev/null +++ b/tests/dotPaths/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "jsx": "react", + "paths": { + "folder/*": [".dot/*"], + "*": ["../../node_modules/*"] + } + }, + "files": ["index.ts", ".dot/tsImportee.ts", ".dot/tsxImportee.tsx"] +} diff --git a/tests/dotProject/.eslintrc.cjs b/tests/dotProject/.eslintrc.cjs new file mode 100644 index 00000000..ed98ca71 --- /dev/null +++ b/tests/dotProject/.eslintrc.cjs @@ -0,0 +1,8 @@ +const path = require('path') + +const globPattern = './packages/*/*/tsconfig.json' + +// in normal cases this is not needed because the __dirname would be the root +const absoluteGlobPath = path.join(__dirname, globPattern) + +module.exports = require('../baseEslintConfig.cjs')(absoluteGlobPath) diff --git a/tests/dotProject/packages/module-a/.dot/tsconfig.json b/tests/dotProject/packages/module-a/.dot/tsconfig.json new file mode 100644 index 00000000..6beb6104 --- /dev/null +++ b/tests/dotProject/packages/module-a/.dot/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "baseUrl": "../", + "jsx": "react", + "paths": { + "folder/*": ["*"], + "*": ["../../../../node_modules/*"] + } + }, + "files": ["../index.ts", "../tsImportee.ts", "../tsxImportee.tsx"] +} diff --git a/tests/dotProject/packages/module-a/index.ts b/tests/dotProject/packages/module-a/index.ts new file mode 100644 index 00000000..8d011e92 --- /dev/null +++ b/tests/dotProject/packages/module-a/index.ts @@ -0,0 +1,15 @@ +// import relative +import './tsImportee' +import './tsxImportee' +import './subfolder/tsImportee' +import './subfolder/tsxImportee' + +// import using tsconfig.json path mapping +import 'folder/tsImportee' +import 'folder/tsxImportee' +import 'folder/subfolder/tsImportee' +import 'folder/subfolder/tsxImportee' + +// import from node_module +import 'typescript' +import 'dummy.js' diff --git a/tests/dotProject/packages/module-a/subfolder/tsImportee.ts b/tests/dotProject/packages/module-a/subfolder/tsImportee.ts new file mode 100644 index 00000000..2893e5d0 --- /dev/null +++ b/tests/dotProject/packages/module-a/subfolder/tsImportee.ts @@ -0,0 +1 @@ +export default 'yes' diff --git a/tests/dotProject/packages/module-a/subfolder/tsxImportee.tsx b/tests/dotProject/packages/module-a/subfolder/tsxImportee.tsx new file mode 100644 index 00000000..e500b41b --- /dev/null +++ b/tests/dotProject/packages/module-a/subfolder/tsxImportee.tsx @@ -0,0 +1 @@ +export default 'React Component' diff --git a/tests/dotProject/packages/module-a/tsImportee.ts b/tests/dotProject/packages/module-a/tsImportee.ts new file mode 100644 index 00000000..2893e5d0 --- /dev/null +++ b/tests/dotProject/packages/module-a/tsImportee.ts @@ -0,0 +1 @@ +export default 'yes' diff --git a/tests/dotProject/packages/module-a/tsxImportee.tsx b/tests/dotProject/packages/module-a/tsxImportee.tsx new file mode 100644 index 00000000..e500b41b --- /dev/null +++ b/tests/dotProject/packages/module-a/tsxImportee.tsx @@ -0,0 +1 @@ +export default 'React Component' diff --git a/tests/dotProject/packages/module-b/.dot/tsconfig.json b/tests/dotProject/packages/module-b/.dot/tsconfig.json new file mode 100644 index 00000000..6beb6104 --- /dev/null +++ b/tests/dotProject/packages/module-b/.dot/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "baseUrl": "../", + "jsx": "react", + "paths": { + "folder/*": ["*"], + "*": ["../../../../node_modules/*"] + } + }, + "files": ["../index.ts", "../tsImportee.ts", "../tsxImportee.tsx"] +} diff --git a/tests/dotProject/packages/module-b/index.ts b/tests/dotProject/packages/module-b/index.ts new file mode 100644 index 00000000..8d011e92 --- /dev/null +++ b/tests/dotProject/packages/module-b/index.ts @@ -0,0 +1,15 @@ +// import relative +import './tsImportee' +import './tsxImportee' +import './subfolder/tsImportee' +import './subfolder/tsxImportee' + +// import using tsconfig.json path mapping +import 'folder/tsImportee' +import 'folder/tsxImportee' +import 'folder/subfolder/tsImportee' +import 'folder/subfolder/tsxImportee' + +// import from node_module +import 'typescript' +import 'dummy.js' diff --git a/tests/dotProject/packages/module-b/subfolder/tsImportee.ts b/tests/dotProject/packages/module-b/subfolder/tsImportee.ts new file mode 100644 index 00000000..2893e5d0 --- /dev/null +++ b/tests/dotProject/packages/module-b/subfolder/tsImportee.ts @@ -0,0 +1 @@ +export default 'yes' diff --git a/tests/dotProject/packages/module-b/subfolder/tsxImportee.tsx b/tests/dotProject/packages/module-b/subfolder/tsxImportee.tsx new file mode 100644 index 00000000..e500b41b --- /dev/null +++ b/tests/dotProject/packages/module-b/subfolder/tsxImportee.tsx @@ -0,0 +1 @@ +export default 'React Component' diff --git a/tests/dotProject/packages/module-b/tsImportee.ts b/tests/dotProject/packages/module-b/tsImportee.ts new file mode 100644 index 00000000..2893e5d0 --- /dev/null +++ b/tests/dotProject/packages/module-b/tsImportee.ts @@ -0,0 +1 @@ +export default 'yes' diff --git a/tests/dotProject/packages/module-b/tsxImportee.tsx b/tests/dotProject/packages/module-b/tsxImportee.tsx new file mode 100644 index 00000000..e500b41b --- /dev/null +++ b/tests/dotProject/packages/module-b/tsxImportee.tsx @@ -0,0 +1 @@ +export default 'React Component' diff --git a/tests/withJsExtension/tsconfig.json b/tests/withJsExtension/tsconfig.json index 13d6d9f0..0cec9f2d 100644 --- a/tests/withJsExtension/tsconfig.json +++ b/tests/withJsExtension/tsconfig.json @@ -6,5 +6,5 @@ "#/*": ["*"] } }, - "includes": ["./**/*"] + "include": ["./**/*"] } diff --git a/yarn.lock b/yarn.lock index 89bd5191..420dcfa3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -76,7 +76,7 @@ __metadata: languageName: node linkType: hard -"@1stg/eslint-config@npm:7, @1stg/eslint-config@npm:^7.0.1": +"@1stg/eslint-config@npm:7.0.1, @1stg/eslint-config@npm:^7.0.1": version: 7.0.1 resolution: "@1stg/eslint-config@npm:7.0.1" dependencies: @@ -2032,11 +2032,11 @@ __metadata: languageName: node linkType: hard -"@changesets/apply-release-plan@npm:^7.0.6": - version: 7.0.6 - resolution: "@changesets/apply-release-plan@npm:7.0.6" +"@changesets/apply-release-plan@npm:^7.0.8": + version: 7.0.8 + resolution: "@changesets/apply-release-plan@npm:7.0.8" dependencies: - "@changesets/config": "npm:^3.0.4" + "@changesets/config": "npm:^3.0.5" "@changesets/get-version-range-type": "npm:^0.4.0" "@changesets/git": "npm:^3.0.2" "@changesets/should-skip-package": "npm:^0.1.1" @@ -2049,7 +2049,7 @@ __metadata: prettier: "npm:^2.7.1" resolve-from: "npm:^5.0.0" semver: "npm:^7.5.3" - checksum: 98e6d87eed744e26bbca9032bad225a9c29da2189fa37d2cc3fa877b9e7e4dbb1860b56259faf426af470db445471e888ac26978e1380d96e9e917ab0c54259f + checksum: ab7dcf8759ebf807c12d8657b7cc5db445f2f3255dc6bd7832c3c5353f4b587f4eadb87746401683296270221f11d6c7b10451b3e0e8fa7ccf5da511ebd95de3 languageName: node linkType: hard @@ -2087,17 +2087,17 @@ __metadata: languageName: node linkType: hard -"@changesets/cli@npm:^2.27.10": - version: 2.27.10 - resolution: "@changesets/cli@npm:2.27.10" +"@changesets/cli@npm:^2.27.12": + version: 2.27.12 + resolution: "@changesets/cli@npm:2.27.12" dependencies: - "@changesets/apply-release-plan": "npm:^7.0.6" + "@changesets/apply-release-plan": "npm:^7.0.8" "@changesets/assemble-release-plan": "npm:^6.0.5" "@changesets/changelog-git": "npm:^0.2.0" - "@changesets/config": "npm:^3.0.4" + "@changesets/config": "npm:^3.0.5" "@changesets/errors": "npm:^0.2.0" "@changesets/get-dependents-graph": "npm:^2.1.2" - "@changesets/get-release-plan": "npm:^4.0.5" + "@changesets/get-release-plan": "npm:^4.0.6" "@changesets/git": "npm:^3.0.2" "@changesets/logger": "npm:^0.1.1" "@changesets/pre": "npm:^2.0.1" @@ -2108,7 +2108,7 @@ __metadata: "@manypkg/get-packages": "npm:^1.1.3" ansi-colors: "npm:^4.1.3" ci-info: "npm:^3.7.0" - enquirer: "npm:^2.3.0" + enquirer: "npm:^2.4.1" external-editor: "npm:^3.1.0" fs-extra: "npm:^7.0.1" mri: "npm:^1.2.0" @@ -2121,13 +2121,13 @@ __metadata: term-size: "npm:^2.1.0" bin: changeset: bin.js - checksum: a0d95aa88f88e952c34aba8f6a36cbc7bdeba60bdfbfb30704532d74eecfa8c0d97ec5f0d16c4ca4cac9d9a1b5f3b34e29dafd3fb183013ce35ccc0840e707e3 + checksum: 06618abc60ddd9bb82d0380ee6bdea926cce8ebd76e18eb38487fa2501ee1386ffaf55042c8d052d783bcfd2669c51f3eef8b0b0cfc7624486bcec42ac0da9da languageName: node linkType: hard -"@changesets/config@npm:^3.0.4": - version: 3.0.4 - resolution: "@changesets/config@npm:3.0.4" +"@changesets/config@npm:^3.0.5": + version: 3.0.5 + resolution: "@changesets/config@npm:3.0.5" dependencies: "@changesets/errors": "npm:^0.2.0" "@changesets/get-dependents-graph": "npm:^2.1.2" @@ -2136,7 +2136,7 @@ __metadata: "@manypkg/get-packages": "npm:^1.1.3" fs-extra: "npm:^7.0.1" micromatch: "npm:^4.0.8" - checksum: dc59f640bca8e4c88f76f187c8ca9ebae4cdf152559473da9a2193bc5f2ebb9c3709560a8c381855a14858ece63d23000e043ff01c82572fe053f3d13481b797 + checksum: ebb6e5660c26cfd9c499505fdf5c0289b238fa8f6a7ed68d9eae56283d9f661d302d759155bdaff273a8de870fb2cd2dbb9cef62a64c4b4a869745f0e12eae9d languageName: node linkType: hard @@ -2171,17 +2171,17 @@ __metadata: languageName: node linkType: hard -"@changesets/get-release-plan@npm:^4.0.5": - version: 4.0.5 - resolution: "@changesets/get-release-plan@npm:4.0.5" +"@changesets/get-release-plan@npm:^4.0.6": + version: 4.0.6 + resolution: "@changesets/get-release-plan@npm:4.0.6" dependencies: "@changesets/assemble-release-plan": "npm:^6.0.5" - "@changesets/config": "npm:^3.0.4" + "@changesets/config": "npm:^3.0.5" "@changesets/pre": "npm:^2.0.1" "@changesets/read": "npm:^0.6.2" "@changesets/types": "npm:^6.0.0" "@manypkg/get-packages": "npm:^1.1.3" - checksum: f6e7c59d78a8f57f46843153b1113ff312e10fdc61930752b399a2862259c17ea69c44a67fff84961a9c73ac74a7a3ae0cd409da8b41e8f8ccb2d331884627e4 + checksum: 85ac96876d34e4f7830f07753c64309e2e2d07d7d5843f502c25f6bc3bd3f9b4e1d355d82a979b68fabe37b6efe664de85cdce241bfa374ef3439bbbb9f840a0 languageName: node linkType: hard @@ -2722,13 +2722,6 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:8.57.0": - version: 8.57.0 - resolution: "@eslint/js@npm:8.57.0" - checksum: 3c501ce8a997cf6cbbaf4ed358af5492875e3550c19b9621413b82caa9ae5382c584b0efa79835639e6e0ddaa568caf3499318e5bdab68643ef4199dce5eb0a0 - languageName: node - linkType: hard - "@eslint/js@npm:8.57.1": version: 8.57.1 resolution: "@eslint/js@npm:8.57.1" @@ -2736,17 +2729,6 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.14": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" - dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 3ffb24ecdfab64014a230e127118d50a1a04d11080cbb748bc21629393d100850496456bbcb4e8c438957fe0934430d731042f1264d6a167b62d32fc2863580a - languageName: node - linkType: hard - "@humanwhocodes/config-array@npm:^0.13.0": version: 0.13.0 resolution: "@humanwhocodes/config-array@npm:0.13.0" @@ -2765,7 +2747,7 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.2, @humanwhocodes/object-schema@npm:^2.0.3": +"@humanwhocodes/object-schema@npm:^2.0.3": version: 2.0.3 resolution: "@humanwhocodes/object-schema@npm:2.0.3" checksum: 05bb99ed06c16408a45a833f03a732f59bf6184795d4efadd33238ff8699190a8c871ad1121241bb6501589a9598dc83bf25b99dcbcf41e155cdf36e35e937a3 @@ -3666,13 +3648,6 @@ __metadata: languageName: node linkType: hard -"@types/is-glob@npm:^4.0.4": - version: 4.0.4 - resolution: "@types/is-glob@npm:4.0.4" - checksum: c790125e2d133d15c9783f6468995841cb06b5634b5c7b30aa32d23129f19d7dc271ec1a904bea4ca1e6a5ba19218a6602753d558f343b4fb8402fed25d17219 - languageName: node - linkType: hard - "@types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" @@ -3749,21 +3724,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^18.0.0": - version: 18.19.39 - resolution: "@types/node@npm:18.19.39" - dependencies: - undici-types: "npm:~5.26.4" - checksum: d2fe84adf087a4184217b666f675e99678060d15f84882a4a1c3e49c3dca521a7e99a201a3c073c2b60b00419f1f4c3b357d8f7397f65e400dc3b77b0145a1da - languageName: node - linkType: hard - -"@types/node@npm:^18.19.67": - version: 18.19.67 - resolution: "@types/node@npm:18.19.67" +"@types/node@npm:^18.0.0, @types/node@npm:^18.19.74": + version: 18.19.74 + resolution: "@types/node@npm:18.19.74" dependencies: undici-types: "npm:~5.26.4" - checksum: 7bb1d06cd1483dd02462a3dd2894790e5c27ba0fa4cdd4a3da1062d66ed47b66affaab314aa72b346ff3e5538a74d5c3cb14bb1a634547504a1643679738f494 + checksum: 2306bd0b41cdd528b890b210b96f287a5b5035c128f62636057d6616bd612b3f53d32d77f7e76ef41a9f130ea691e6980e6d5942dd625df05d3a641764fddb78 languageName: node linkType: hard @@ -3802,14 +3768,7 @@ __metadata: languageName: node linkType: hard -"@types/unist@npm:^2, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2": - version: 2.0.10 - resolution: "@types/unist@npm:2.0.10" - checksum: e2924e18dedf45f68a5c6ccd6015cd62f1643b1b43baac1854efa21ae9e70505db94290434a23da1137d9e31eb58e54ca175982005698ac37300a1c889f6c4aa - languageName: node - linkType: hard - -"@types/unist@npm:^2.0.11": +"@types/unist@npm:^2, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.11, @types/unist@npm:^2.0.2": version: 2.0.11 resolution: "@types/unist@npm:2.0.11" checksum: 6d436e832bc35c6dde9f056ac515ebf2b3384a1d7f63679d12358766f9b313368077402e9c1126a14d827f10370a5485e628bf61aa91117cf4fc882423191a4e @@ -4763,16 +4722,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.2, braces@npm:~3.0.2": - version: 3.0.2 - resolution: "braces@npm:3.0.2" - dependencies: - fill-range: "npm:^7.0.1" - checksum: 966b1fb48d193b9d155f810e5efd1790962f2c4e0829f8440b8ad236ba009222c501f70185ef732fef17a4c490bb33a03b90dab0631feafbdf447da91e8165b1 - languageName: node - linkType: hard - -"braces@npm:^3.0.3": +"braces@npm:^3.0.2, braces@npm:^3.0.3, braces@npm:~3.0.2": version: 3.0.3 resolution: "braces@npm:3.0.3" dependencies: @@ -5420,18 +5370,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" - dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: e1a13869d2f57d974de0d9ef7acbf69dc6937db20b918525a01dacb5032129bd552d290d886d981e99f1b624cb03657084cc87bd40f115c07ecf376821c729ce - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.5": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -5503,15 +5442,15 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": - version: 4.3.5 - resolution: "debug@npm:4.3.5" +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.7": + version: 4.3.7 + resolution: "debug@npm:4.3.7" dependencies: - ms: "npm:2.1.2" + ms: "npm:^2.1.3" peerDependenciesMeta: supports-color: optional: true - checksum: cb6eab424c410e07813ca1392888589972ce9a32b8829c6508f5e1f25f3c3e70a76731610ae55b4bbe58d1a2fffa1424b30e97fa8d394e49cd2656a9643aedd2 + checksum: 71168908b9a78227ab29d5d25fe03c5867750e31ce24bf2c44a86efc5af041758bb56569b0a3d48a9b5344c00a24a777e6f4100ed6dfd9534a42c1dde285125a languageName: node linkType: hard @@ -5536,18 +5475,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:^4.3.7": - version: 4.3.7 - resolution: "debug@npm:4.3.7" - dependencies: - ms: "npm:^2.1.3" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 71168908b9a78227ab29d5d25fe03c5867750e31ce24bf2c44a86efc5af041758bb56569b0a3d48a9b5344c00a24a777e6f4100ed6dfd9534a42c1dde285125a - languageName: node - linkType: hard - "decamelize-keys@npm:^1.1.0": version: 1.1.1 resolution: "decamelize-keys@npm:1.1.1" @@ -5832,7 +5759,7 @@ __metadata: languageName: node linkType: hard -"enquirer@npm:^2.3.0, enquirer@npm:^2.4.1": +"enquirer@npm:^2.4.1": version: 2.4.1 resolution: "enquirer@npm:2.4.1" dependencies: @@ -6215,17 +6142,16 @@ __metadata: version: 0.0.0-use.local resolution: "eslint-import-resolver-typescript@workspace:." dependencies: - "@1stg/eslint-config": "npm:7" + "@1stg/eslint-config": "npm:7.0.1" "@1stg/lib-config": "npm:^12.0.1" "@changesets/changelog-github": "npm:^0.5.0" - "@changesets/cli": "npm:^2.27.10" + "@changesets/cli": "npm:^2.27.12" "@commitlint/cli": "npm:^17.8.1" "@mozilla/glean": "npm:^3.0.0" "@nolyfill/is-core-module": "npm:1.0.39" "@pkgr/rollup": "npm:^4.1.3" "@types/debug": "npm:^4.1.12" - "@types/is-glob": "npm:^4.0.4" - "@types/node": "npm:^18.19.67" + "@types/node": "npm:^18.19.74" "@types/unist": "npm:^2.0.11" debug: "npm:^4.3.7" dummy.js: "link:dummy.js" @@ -6234,10 +6160,8 @@ __metadata: eslint-import-resolver-typescript: "link:." eslint-plugin-import: "npm:eslint-plugin-i@^2.29.1" eslint-plugin-import-x: "npm:^4.5.0" - fast-glob: "npm:^3.3.2" - get-tsconfig: "npm:^4.7.5" + get-tsconfig: "npm:^4.10.0" is-bun-module: "npm:^1.0.2" - is-glob: "npm:^4.0.3" lint-staged: "npm:^13.3.0" npm-run-all2: "npm:^5.0.2" prettier: "npm:^2.8.8" @@ -6246,6 +6170,7 @@ __metadata: size-limit: "npm:^11.0.0" size-limit-preset-node-lib: "npm:^0.3.0" stable-hash: "npm:^0.0.4" + tinyglobby: "npm:^0.2.12" type-coverage: "npm:^2.27.0" typescript: "npm:^5.3.2" peerDependencies: @@ -6748,55 +6673,7 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.43.0": - version: 8.57.0 - resolution: "eslint@npm:8.57.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.0" - "@humanwhocodes/config-array": "npm:^0.11.14" - "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" - ajv: "npm:^6.12.4" - chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" - debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" - escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" - esutils: "npm:^2.0.2" - fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" - find-up: "npm:^5.0.0" - glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.2.0" - imurmurhash: "npm:^0.1.4" - is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" - json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" - lodash.merge: "npm:^4.6.2" - minimatch: "npm:^3.1.2" - natural-compare: "npm:^1.4.0" - optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" - bin: - eslint: bin/eslint.js - checksum: 00496e218b23747a7a9817bf58b522276d0dc1f2e546dceb4eea49f9871574088f72f1f069a6b560ef537efa3a75261b8ef70e51ef19033da1cc4c86a755ef15 - languageName: node - linkType: hard - -"eslint@npm:^8.57.1": +"eslint@npm:^8.43.0, eslint@npm:^8.57.1": version: 8.57.1 resolution: "eslint@npm:8.57.1" dependencies: @@ -7150,6 +7027,18 @@ __metadata: languageName: node linkType: hard +"fdir@npm:^6.4.3": + version: 6.4.3 + resolution: "fdir@npm:6.4.3" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 8e6d20f4590dc168de1374a9cadaa37e20ca6e0b822aa247c230e7ea1d9e9674a68cd816146435e4ecc98f9285091462ab7e5e56eebc9510931a1794e4db68b2 + languageName: node + linkType: hard + "fflate@npm:^0.8.0": version: 0.8.1 resolution: "fflate@npm:0.8.1" @@ -7166,15 +7055,6 @@ __metadata: languageName: node linkType: hard -"fill-range@npm:^7.0.1": - version: 7.0.1 - resolution: "fill-range@npm:7.0.1" - dependencies: - to-regex-range: "npm:^5.0.1" - checksum: e260f7592fd196b4421504d3597cc76f4a1ca7a9488260d533b611fc3cefd61e9a9be1417cb82d3b01ad9f9c0ff2dbf258e1026d2445e26b0cf5148ff4250429 - languageName: node - linkType: hard - "fill-range@npm:^7.1.1": version: 7.1.1 resolution: "fill-range@npm:7.1.1" @@ -7442,21 +7322,12 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.7.0, get-tsconfig@npm:^4.7.2, get-tsconfig@npm:^4.7.5": - version: 4.7.5 - resolution: "get-tsconfig@npm:4.7.5" - dependencies: - resolve-pkg-maps: "npm:^1.0.0" - checksum: de7de5e4978354e8e6d9985baf40ea32f908a13560f793bc989930c229cc8d5c3f7b6b2896d8e43eb1a9b4e9e30018ef4b506752fd2a4b4d0dfee4af6841b119 - languageName: node - linkType: hard - -"get-tsconfig@npm:^4.7.3": - version: 4.8.1 - resolution: "get-tsconfig@npm:4.8.1" +"get-tsconfig@npm:^4.10.0, get-tsconfig@npm:^4.7.0, get-tsconfig@npm:^4.7.2, get-tsconfig@npm:^4.7.3": + version: 4.10.0 + resolution: "get-tsconfig@npm:4.10.0" dependencies: resolve-pkg-maps: "npm:^1.0.0" - checksum: 3fb5a8ad57b9633eaea085d81661e9e5c9f78b35d8f8689eaf8b8b45a2a3ebf3b3422266d4d7df765e308cc1e6231648d114803ab3d018332e29916f2c1de036 + checksum: 5259b5c99a1957114337d9d0603b4a305ec9e29fa6cac7d2fbf634ba6754a0cc88bfd281a02416ce64e604b637d3cb239185381a79a5842b17fb55c097b38c4b languageName: node linkType: hard @@ -10139,7 +10010,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:4.0.5, micromatch@npm:^4.0.4, micromatch@npm:^4.0.5": +"micromatch@npm:4.0.5": version: 4.0.5 resolution: "micromatch@npm:4.0.5" dependencies: @@ -10149,7 +10020,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.8": +"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5, micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -10189,12 +10060,12 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:6 || 7 || 8 || 9, minimatch@npm:^9.0.0, minimatch@npm:^9.0.1, minimatch@npm:^9.0.3": - version: 9.0.3 - resolution: "minimatch@npm:9.0.3" +"minimatch@npm:6 || 7 || 8 || 9, minimatch@npm:^9.0.0, minimatch@npm:^9.0.1, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" dependencies: brace-expansion: "npm:^2.0.1" - checksum: c81b47d28153e77521877649f4bab48348d10938df9e8147a58111fe00ef89559a2938de9f6632910c4f7bf7bb5cd81191a546167e58d357f0cfb1e18cecc1c5 + checksum: dd6a8927b063aca6d910b119e1f2df6d2ce7d36eab91de83167dd136bb85e1ebff97b0d3de1cb08bd1f7e018ca170b4962479fefab5b2a69e2ae12cb2edc8348 languageName: node linkType: hard @@ -10216,15 +10087,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.4": - version: 9.0.5 - resolution: "minimatch@npm:9.0.5" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: dd6a8927b063aca6d910b119e1f2df6d2ce7d36eab91de83167dd136bb85e1ebff97b0d3de1cb08bd1f7e018ca170b4962479fefab5b2a69e2ae12cb2edc8348 - languageName: node - linkType: hard - "minimist-options@npm:4.1.0": version: 4.1.0 resolution: "minimist-options@npm:4.1.0" @@ -11081,14 +10943,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0": - version: 1.0.0 - resolution: "picocolors@npm:1.0.0" - checksum: a2e8092dd86c8396bdba9f2b5481032848525b3dc295ce9b57896f931e63fc16f79805144321f72976383fc249584672a75cc18d6777c6b757603f372f745981 - languageName: node - linkType: hard - -"picocolors@npm:^1.1.0": +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0": version: 1.1.0 resolution: "picocolors@npm:1.1.0" checksum: a2ad60d94d185c30f2a140b19c512547713fb89b920d32cc6cf658fa786d63a37ba7b8451872c3d9fc34883971fb6e5878e07a20b60506e0bb2554dce9169ccb @@ -11102,6 +10957,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: ce617b8da36797d09c0baacb96ca8a44460452c89362d7cb8f70ca46b4158ba8bc3606912de7c818eb4a939f7f9015cef3c766ec8a0c6bfc725fdc078e39c717 + languageName: node + linkType: hard + "pidtree@npm:0.6.0": version: 0.6.0 resolution: "pidtree@npm:0.6.0" @@ -12897,7 +12759,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.5.4, semver@npm:^7.0.0, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4": +"semver@npm:7.5.4": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: @@ -12917,7 +12779,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.6.0, semver@npm:^7.6.3": +"semver@npm:^7.0.0, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.6.3": version: 7.6.3 resolution: "semver@npm:7.6.3" bin: @@ -12926,15 +12788,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.6.2": - version: 7.6.2 - resolution: "semver@npm:7.6.2" - bin: - semver: bin/semver.js - checksum: 296b17d027f57a87ef645e9c725bff4865a38dfc9caf29b26aa084b85820972fbe7372caea1ba6857162fa990702c6d9c1d82297cecb72d56c78ab29070d2ca2 - languageName: node - linkType: hard - "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -13038,7 +12891,7 @@ __metadata: languageName: node linkType: hard -"simple-git-hooks@npm:^2.11.1": +"simple-git-hooks@npm:^2.11.1, simple-git-hooks@npm:^2.8.1": version: 2.11.1 resolution: "simple-git-hooks@npm:2.11.1" bin: @@ -13047,15 +12900,6 @@ __metadata: languageName: node linkType: hard -"simple-git-hooks@npm:^2.8.1": - version: 2.9.0 - resolution: "simple-git-hooks@npm:2.9.0" - bin: - simple-git-hooks: cli.js - checksum: 7fc951d077139de1cd461efebfe77b72478cb829a058645cfae560377b74199258d02adb68ea2ab1f1f7adaa4772ddd6a2a20c68afd6ec4c28dd4e7300426e11 - languageName: node - linkType: hard - "size-limit-node-esbuild@npm:^0.3.0": version: 0.3.0 resolution: "size-limit-node-esbuild@npm:0.3.0" @@ -13669,6 +13513,16 @@ __metadata: languageName: node linkType: hard +"tinyglobby@npm:^0.2.12": + version: 0.2.12 + resolution: "tinyglobby@npm:0.2.12" + dependencies: + fdir: "npm:^6.4.3" + picomatch: "npm:^4.0.2" + checksum: 4ad28701fa9118b32ef0e27f409e0a6c5741e8b02286d50425c1f6f71e6d6c6ded9dd5bbbbb714784b08623c4ec4d150151f1d3d996cfabe0495f908ab4f7002 + languageName: node + linkType: hard + "titleize@npm:^3.0.0": version: 3.0.0 resolution: "titleize@npm:3.0.0" @@ -13797,10 +13651,10 @@ __metadata: languageName: node linkType: hard -"tslib@npm:1 || 2, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.5.3, tslib@npm:^2.6.0, tslib@npm:^2.6.1, tslib@npm:^2.6.2": - version: 2.6.2 - resolution: "tslib@npm:2.6.2" - checksum: bd26c22d36736513980091a1e356378e8b662ded04204453d353a7f34a4c21ed0afc59b5f90719d4ba756e581a162ecbf93118dc9c6be5acf70aa309188166ca +"tslib@npm:1 || 2, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.5.3, tslib@npm:^2.6.0, tslib@npm:^2.6.1, tslib@npm:^2.6.2, tslib@npm:^2.6.3": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 3e2e043d5c2316461cb54e5c7fe02c30ef6dccb3384717ca22ae5c6b5bc95232a6241df19c622d9c73b809bea33b187f6dbc73030963e29950c2141bc32a79f7 languageName: node linkType: hard @@ -13811,13 +13665,6 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.6.3": - version: 2.8.1 - resolution: "tslib@npm:2.8.1" - checksum: 3e2e043d5c2316461cb54e5c7fe02c30ef6dccb3384717ca22ae5c6b5bc95232a6241df19c622d9c73b809bea33b187f6dbc73030963e29950c2141bc32a79f7 - languageName: node - linkType: hard - "tsutils@npm:3, tsutils@npm:^3.21.0": version: 3.21.0 resolution: "tsutils@npm:3.21.0" pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy