pax_global_header 0000666 0000000 0000000 00000000064 15174635142 0014522 g ustar 00root root 0000000 0000000 52 comment=d51d3e602a2ad8d794361d69c0974b83eb510e6d
justkey007-tsc-alias-fb8387d/ 0000775 0000000 0000000 00000000000 15174635142 0015754 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/.editorconfig 0000664 0000000 0000000 00000000365 15174635142 0020435 0 ustar 00root root 0000000 0000000 # Editor configuration, see http://editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
max_line_length = off
trim_trailing_whitespace = false
justkey007-tsc-alias-fb8387d/.github/ 0000775 0000000 0000000 00000000000 15174635142 0017314 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/.github/workflows/ 0000775 0000000 0000000 00000000000 15174635142 0021351 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/.github/workflows/ci.yml 0000664 0000000 0000000 00000000620 15174635142 0022465 0 ustar 00root root 0000000 0000000 name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v2
with:
node-version: 20
- uses: pnpm/action-setup@v4
with:
version: 8
- name: Install dependencies
run: pnpm install
- name: Test
run: pnpm test
justkey007-tsc-alias-fb8387d/.gitignore 0000664 0000000 0000000 00000002411 15174635142 0017742 0 ustar 00root root 0000000 0000000 # OS
.DS_Store
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# node-waf configuration
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules
jspm_packages
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Ignore test node_modules
!projects/project1/node_modules
# TypeScript v1 declaration files
typings/
# Optional npm cache directory
.npm
# Optional REPL history
.node_repl_history
# Cache
.rpt2_cache
# Compiled source
dist
dist-base
dist-tsc-alias
temp
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
# next.js build output
.next
@types
package-lock.json
types
# Editor
.idea
.history
.npmrc
justkey007-tsc-alias-fb8387d/.husky/ 0000775 0000000 0000000 00000000000 15174635142 0017175 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/.husky/.gitignore 0000664 0000000 0000000 00000000002 15174635142 0021155 0 ustar 00root root 0000000 0000000 _
justkey007-tsc-alias-fb8387d/.husky/pre-commit 0000775 0000000 0000000 00000000122 15174635142 0021172 0 ustar 00root root 0000000 0000000 #!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npm run format && npm test && git add .
justkey007-tsc-alias-fb8387d/.prettierignore 0000664 0000000 0000000 00000000010 15174635142 0021006 0 ustar 00root root 0000000 0000000 **/dist
justkey007-tsc-alias-fb8387d/.prettierrc 0000664 0000000 0000000 00000000133 15174635142 0020135 0 ustar 00root root 0000000 0000000 {
"tabWidth": 2,
"useTabs": false,
"singleQuote": true,
"trailingComma" : "none"
}
justkey007-tsc-alias-fb8387d/LICENSE 0000664 0000000 0000000 00000002050 15174635142 0016756 0 ustar 00root root 0000000 0000000 MIT License
Copyright (c) 2018 Justkey
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
justkey007-tsc-alias-fb8387d/README.md 0000664 0000000 0000000 00000011727 15174635142 0017243 0 ustar 00root root 0000000 0000000 # tsc-alias
Replace alias paths with relative paths after typescript compilation. You can add aliases that reference other projects outside your tsconfig.json project by providing a relative path to the baseUrl.
[](https://badge.fury.io/js/tsc-alias)
[](http://doge.mit-license.org)
[](https://www.paypal.com/donate/?hosted_button_id=FPRE4VERGHZ3E)
## Comparison to [tsconfig-paths](https://github.com/dividab/tsconfig-paths)
\+ Compile time (no runtime dependencies)
## Getting Started
First, install tsc-alias as devDependency using npm.
```sh
npm install -g tsc-alias
```
```sh
npm install --save-dev tsc-alias
```
## Add it to your build scripts in package.json
```json
"scripts": {
"build": "tsc --project tsconfig.json && tsc-alias -p tsconfig.json",
}
```
or
```json
"scripts": {
"build": "tsc && tsc-alias",
"build:watch": "tsc && (concurrently \"tsc -w\" \"tsc-alias -w\")"
}
```
## Issues
If you have an issue, please create one. But, before:
- try to check the [FAQ.](https://github.com/justkey007/tsc-alias/discussions/110)
- try to check if there are any related issues
- try to run with `--debug` and check if config is correctly loaded and all sourcefiles are found.
## API
### Installation
```sh
npm install tsc-alias
```
### Usage
```typescript
import { replaceTscAliasPaths } from 'tsc-alias';
replaceTscAliasPaths(options?);
```
Here are all the available options:
| Option |
Description |
Default Value |
| project, p |
path to tsconfig.json |
'tsconfig.json' |
| watch |
Observe file changes |
false |
| outDir |
Run in a folder leaving the "outDir" of the tsconfig.json (relative path to tsconfig) |
tsconfig.compilerOptions.outDir |
| declarationDir |
Works the same as outDir but for declarationDir |
tsconfig.compilerOptions.declarationDir |
| resolveFullPaths |
Attempt to replace incomplete import paths (those not ending in .js) with fully resolved paths (for ECMAScript Modules compatibility) |
false |
| resolveFullExtension |
Allows you to specify the extension of incomplete import paths, works with resolveFullPaths |
'.js' | '.mjs' | '.cjs' |
| silent |
Reduced terminal output. This is a deprecated option and no longer has any effect. |
true |
| verbose |
Additional information is output to the terminal |
false |
| debug |
Debug information is send to the terminal |
false |
| replacers |
Files to import as extra replacers More info |
[] |
| output |
The output object tsc-alias will send logs to. |
new Output(options.verbose) |
| fileExtensions |
Overwrite file extensions tsc-alias will use to scan and resolve files. |
undefined |
### Configuration via `tsconfig.json` Example
```json
{
"compilerOptions": {
...
},
"tsc-alias": {
"verbose": false,
"resolveFullPaths": true,
"replacers": {
"exampleReplacer": {
"enabled": true,
"file": "./exampleReplacer.js"
},
"otherReplacer": {
"enabled": true,
"file": "./otherReplacer.js"
}
},
"fileExtensions": {
"inputGlob": "{js,jsx,mjs}",
"outputCheck": ["js", "json", "jsx", "mjs"]
}
}
}
```
### Single file replacer
We can use tsc-alias in a single file, with a function that returns the modified contents.
We prepare the replacer with `prepareSingleFileReplaceTscAliasPaths()`, passing the same options that we would pass to `replaceTscAliasPaths()`. That will return a promise of a function that receives the file contents and path, and returns the transformed contents, synchronously.
```typescript
import { prepareSingleFileReplaceTscAliasPaths } from 'tsc-alias';
const runFile: SingleFileReplacer = await prepareSingleFileReplaceTscAliasPaths(options?);
function treatFile(filePath: string) {
const fileContents = fs.readFileSync(filePath, 'utf8');
const newContents = runFile({fileContents, filePath});
// do stuff with newContents
}
```
justkey007-tsc-alias-fb8387d/SECURITY.md 0000664 0000000 0000000 00000001677 15174635142 0017560 0 ustar 00root root 0000000 0000000 # Security Policy
## Supported Versions
Currently, the following versions of `tsc-alias` are being supported with security updates:
| Version | Supported |
| ------- | ------------------ |
| 1.8.x | :white_check_mark: |
| < 1.8.x | :x: |
## Reporting a Vulnerability
I take the security of `tsc-alias` seriously. If you find a security vulnerability, please do not open a public issue. Instead, please report it directly to me.
You can report security vulnerabilities by sending an email to: **cervotechit@gmail.com**
Please include the following information in your report:
- Type of issue (e.g., remote code execution, file traversal)
- Step-by-step instructions to reproduce the issue
- Potential impact of the vulnerability
I will acknowledge receipt of your report within 48 hours and provide a timeline for a fix if the vulnerability is confirmed.
Thank you for helping keep `tsc-alias` secure for millions of users!
justkey007-tsc-alias-fb8387d/jest.config.js 0000664 0000000 0000000 00000000336 15174635142 0020525 0 ustar 00root root 0000000 0000000 module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
modulePathIgnorePatterns: ['dist'],
moduleFileExtensions: ['js', 'json', 'ts'],
rootDir: '.',
testMatch: ['**/*.spec.ts'],
testTimeout: 30000
};
justkey007-tsc-alias-fb8387d/package.json 0000664 0000000 0000000 00000003130 15174635142 0020237 0 ustar 00root root 0000000 0000000 {
"name": "tsc-alias",
"version": "1.8.17",
"description": "Replace alias paths with relative paths after typescript compilation.",
"main": "dist/index.js",
"files": [
"dist/"
],
"bin": {
"tsc-alias": "dist/bin/index.js"
},
"engines": {
"node": ">=16.20.2"
},
"scripts": {
"prepare": "husky install",
"build:dev": "tsc -w",
"clean": "rimraf dist && tsc && pnpm link -g",
"release:patch": "npm version patch",
"postversion": "git push && git push --tags && npm publish",
"format": "prettier --write \"**/*.{js,ts,json}\"",
"test": "npm run clean && jest"
},
"repository": {
"type": "git",
"url": "https://github.com/justkey007/tsc-alias.git"
},
"keywords": [
"typescript",
"paths",
"alias",
"absolute path",
"relative path",
"compilation",
"tsc"
],
"author": "Juskey B.",
"license": "MIT",
"bugs": {
"url": "https://github.com/justkey007/tsc-alias/issues"
},
"homepage": "https://github.com/justkey007/tsc-alias.git",
"dependencies": {
"chokidar": "^3.5.3",
"commander": "^9.0.0",
"get-tsconfig": "^4.10.0",
"globby": "^11.0.4",
"mylas": "^2.1.9",
"normalize-path": "^3.0.0",
"plimit-lit": "^1.2.6"
},
"devDependencies": {
"@types/jest": "^27.4.0",
"@types/node": "^16.18.126",
"@types/normalize-path": "^3.0.2",
"@types/rimraf": "^3.0.2",
"@types/shelljs": "^0.8.11",
"husky": "^7.0.4",
"jest": "^27.5.1",
"prettier": "^2.5.1",
"rimraf": "^6.0.1",
"shelljs": "^0.8.5",
"ts-jest": "^27.1.3",
"typescript": "^4.9.5"
}
}
justkey007-tsc-alias-fb8387d/pnpm-lock.yaml 0000664 0000000 0000000 00000374500 15174635142 0020551 0 ustar 00root root 0000000 0000000 lockfileVersion: '9.0'
settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
overrides:
'@tootallnate/once@<3.0.1': '>=3.0.1'
brace-expansion@<1.1.13: '>=1.1.13'
brace-expansion@>=1.0.0 <=1.1.11: '>=1.1.12'
brace-expansion@>=2.0.0 <2.0.3: '>=2.0.3'
brace-expansion@>=2.0.0 <=2.0.1: '>=2.0.2'
form-data@>=3.0.0 <3.0.4: '>=3.0.4'
glob@>=11.0.0 <11.1.0: '>=11.1.0'
js-yaml@<3.14.2: '>=3.14.2'
lodash@<=4.17.23: '>=4.18.0'
lodash@>=4.0.0 <=4.17.22: '>=4.17.23'
lodash@>=4.0.0 <=4.17.23: '>=4.18.0'
minimatch@<3.1.3: '>=3.1.3'
minimatch@<3.1.4: '>=3.1.4'
minimatch@>=10.0.0 <10.2.1: '>=10.2.1'
minimatch@>=10.0.0 <10.2.3: '>=10.2.3'
picomatch@<2.3.2: '>=2.3.2'
importers:
.:
dependencies:
chokidar:
specifier: ^3.5.3
version: 3.6.0
commander:
specifier: ^9.0.0
version: 9.5.0
get-tsconfig:
specifier: ^4.10.0
version: 4.10.0
globby:
specifier: ^11.0.4
version: 11.1.0
mylas:
specifier: ^2.1.9
version: 2.1.13
normalize-path:
specifier: ^3.0.0
version: 3.0.0
plimit-lit:
specifier: ^1.2.6
version: 1.6.1
devDependencies:
'@types/jest':
specifier: ^27.4.0
version: 27.5.2
'@types/node':
specifier: ^16.18.126
version: 16.18.126
'@types/normalize-path':
specifier: ^3.0.2
version: 3.0.2
'@types/rimraf':
specifier: ^3.0.2
version: 3.0.2
'@types/shelljs':
specifier: ^0.8.11
version: 0.8.15
husky:
specifier: ^7.0.4
version: 7.0.4
jest:
specifier: ^27.5.1
version: 27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@4.9.5))
prettier:
specifier: ^2.5.1
version: 2.8.8
rimraf:
specifier: ^6.0.1
version: 6.0.1
shelljs:
specifier: ^0.8.5
version: 0.8.5
ts-jest:
specifier: ^27.1.3
version: 27.1.5(@babel/core@7.26.10)(@types/jest@27.5.2)(babel-jest@27.5.1(@babel/core@7.26.10))(jest@27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@4.9.5)))(typescript@4.9.5)
typescript:
specifier: ^4.9.5
version: 4.9.5
projects/project1: {}
projects/project10: {}
projects/project11:
devDependencies:
'@tsconfig/node14':
specifier: ^1.0.0
version: 1.0.3
projects/project12: {}
projects/project13: {}
projects/project14: {}
projects/project15: {}
projects/project16: {}
projects/project17: {}
projects/project18: {}
projects/project19: {}
projects/project20: {}
projects/project21: {}
projects/project22: {}
projects/project23:
dependencies:
i18n:
specifier: 0.15.1
version: 0.15.1
devDependencies:
'@types/i18n':
specifier: 0.13.6
version: 0.13.6
projects/project24:
dependencies:
i18n:
specifier: ^0.15.1
version: 0.15.1
devDependencies:
'@types/i18n':
specifier: ^0.13.6
version: 0.13.6
ts-node:
specifier: ^10.9.1
version: 10.9.2(@types/node@16.18.126)(typescript@4.9.5)
tsc-alias:
specifier: ^1.8.3
version: 1.8.16
typescript:
specifier: ^4.9.5
version: 4.9.5
projects/project3: {}
projects/project4: {}
projects/project5: {}
projects/project6:
dependencies:
'@esfx/collections-hashmap':
specifier: ^1.0.0-pre.17
version: 1.0.2
projects/project7:
devDependencies:
'@tsconfig/node14':
specifier: ^1.0.0
version: 1.0.3
projects/project8: {}
projects/project9:
dependencies:
buffercursor.ts:
specifier: 1.0.3
version: 1.0.3
packages:
'@ampproject/remapping@2.3.0':
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
'@babel/code-frame@7.26.2':
resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
engines: {node: '>=6.9.0'}
'@babel/compat-data@7.26.8':
resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==}
engines: {node: '>=6.9.0'}
'@babel/core@7.26.10':
resolution: {integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==}
engines: {node: '>=6.9.0'}
'@babel/generator@7.27.0':
resolution: {integrity: sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==}
engines: {node: '>=6.9.0'}
'@babel/helper-compilation-targets@7.27.0':
resolution: {integrity: sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==}
engines: {node: '>=6.9.0'}
'@babel/helper-module-imports@7.25.9':
resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
engines: {node: '>=6.9.0'}
'@babel/helper-module-transforms@7.26.0':
resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
'@babel/helper-plugin-utils@7.26.5':
resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==}
engines: {node: '>=6.9.0'}
'@babel/helper-string-parser@7.25.9':
resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
engines: {node: '>=6.9.0'}
'@babel/helper-validator-identifier@7.25.9':
resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
engines: {node: '>=6.9.0'}
'@babel/helper-validator-option@7.25.9':
resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
engines: {node: '>=6.9.0'}
'@babel/helpers@7.27.0':
resolution: {integrity: sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==}
engines: {node: '>=6.9.0'}
'@babel/parser@7.27.0':
resolution: {integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==}
engines: {node: '>=6.0.0'}
hasBin: true
'@babel/plugin-syntax-async-generators@7.8.4':
resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-bigint@7.8.3':
resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-class-properties@7.12.13':
resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-class-static-block@7.14.5':
resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-import-attributes@7.26.0':
resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-import-meta@7.10.4':
resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-json-strings@7.8.3':
resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-logical-assignment-operators@7.10.4':
resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-nullish-coalescing-operator@7.8.3':
resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-numeric-separator@7.10.4':
resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-object-rest-spread@7.8.3':
resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-optional-catch-binding@7.8.3':
resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-optional-chaining@7.8.3':
resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-private-property-in-object@7.14.5':
resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-top-level-await@7.14.5':
resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-typescript@7.25.9':
resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/template@7.27.0':
resolution: {integrity: sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==}
engines: {node: '>=6.9.0'}
'@babel/traverse@7.27.0':
resolution: {integrity: sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==}
engines: {node: '>=6.9.0'}
'@babel/types@7.27.0':
resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==}
engines: {node: '>=6.9.0'}
'@bcoe/v8-coverage@0.2.3':
resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
'@cspotcode/source-map-support@0.8.1':
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
engines: {node: '>=12'}
'@esfx/collection-core@1.0.0':
resolution: {integrity: sha512-IoOxDAKyywc2+VWOnBCYZKtu40he19/GM40+02SkABhoPBejJmw8s8+0QiCVv3iFJjdQWH8BUl6h4CL1DeGFyA==}
'@esfx/collections-hashmap@1.0.2':
resolution: {integrity: sha512-oghcAKr82ihEAJsAIH0ILDsTKP2rQx0vQGjjDEX1mMvN7zosfNQkyBpwNmTJIOsm5f56v4WIjHpGfw2BRtpf7A==}
'@esfx/equatable@1.0.2':
resolution: {integrity: sha512-Z3H2Lm5aGq+UkSOTelLaTUyDaRH402EB7YwtoQ4EQOv61ilRDzGyYguASvnHjpJh/v3aIoufDVlGkCJWJ0GBuQ==}
'@istanbuljs/load-nyc-config@1.1.0':
resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
engines: {node: '>=8'}
'@istanbuljs/schema@0.1.3':
resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
engines: {node: '>=8'}
'@jest/console@27.5.1':
resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
'@jest/core@27.5.1':
resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
peerDependencies:
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
peerDependenciesMeta:
node-notifier:
optional: true
'@jest/environment@27.5.1':
resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
'@jest/fake-timers@27.5.1':
resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
'@jest/globals@27.5.1':
resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
'@jest/reporters@27.5.1':
resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
peerDependencies:
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
peerDependenciesMeta:
node-notifier:
optional: true
'@jest/source-map@27.5.1':
resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
'@jest/test-result@27.5.1':
resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
'@jest/test-sequencer@27.5.1':
resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
'@jest/transform@27.5.1':
resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
'@jest/types@27.5.1':
resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
'@jridgewell/gen-mapping@0.3.8':
resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
engines: {node: '>=6.0.0'}
'@jridgewell/resolve-uri@3.1.2':
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'}
'@jridgewell/set-array@1.2.1':
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
engines: {node: '>=6.0.0'}
'@jridgewell/sourcemap-codec@1.5.0':
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
'@jridgewell/trace-mapping@0.3.9':
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
'@mapbox/node-pre-gyp@1.0.11':
resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==}
hasBin: true
'@messageformat/core@3.4.0':
resolution: {integrity: sha512-NgCFubFFIdMWJGN5WuQhHCNmzk7QgiVfrViFxcS99j7F5dDS5EP6raR54I+2ydhe4+5/XTn/YIEppFaqqVWHsw==}
'@messageformat/date-skeleton@1.1.0':
resolution: {integrity: sha512-rmGAfB1tIPER+gh3p/RgA+PVeRE/gxuQ2w4snFWPF5xtb5mbWR7Cbw7wCOftcUypbD6HVoxrVdyyghPm3WzP5A==}
'@messageformat/number-skeleton@1.2.0':
resolution: {integrity: sha512-xsgwcL7J7WhlHJ3RNbaVgssaIwcEyFkBqxHdcdaiJzwTZAWEOD8BuUFxnxV9k5S0qHN3v/KzUpq0IUpjH1seRg==}
'@messageformat/parser@5.1.1':
resolution: {integrity: sha512-3p0YRGCcTUCYvBKLIxtDDyrJ0YijGIwrTRu1DT8gIviIDZru8H23+FkY6MJBzM1n9n20CiM4VeDYuBsrrwnLjg==}
'@messageformat/runtime@3.0.2':
resolution: {integrity: sha512-dkIPDCjXcfhSHgNE1/qV6TeczQZR59Yx0xXeafVKgK3QVWoxc38ljwpksUpnzCGvN151KUbCJTDZVmahtf1YZw==}
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
'@nodelib/fs.stat@2.0.5':
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
engines: {node: '>= 8'}
'@nodelib/fs.walk@1.2.8':
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
'@sinonjs/commons@1.8.6':
resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==}
'@sinonjs/fake-timers@8.1.0':
resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==}
'@tootallnate/once@3.0.1':
resolution: {integrity: sha512-VyMVKRrpHTT8PnotUeV8L/mDaMwD5DaAKCFLP73zAqAtvF0FCqky+Ki7BYbFCYQmqFyTe9316Ed5zS70QUR9eg==}
engines: {node: '>= 10'}
'@tsconfig/node10@1.0.12':
resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==}
'@tsconfig/node12@1.0.11':
resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
'@tsconfig/node14@1.0.3':
resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
'@tsconfig/node16@1.0.4':
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
'@types/babel__core@7.20.5':
resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
'@types/babel__generator@7.27.0':
resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
'@types/babel__template@7.4.4':
resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
'@types/babel__traverse@7.20.7':
resolution: {integrity: sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==}
'@types/glob@7.2.0':
resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==}
'@types/glob@8.1.0':
resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==}
'@types/graceful-fs@4.1.9':
resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
'@types/i18n@0.13.6':
resolution: {integrity: sha512-LLbimAA0oQilgP4PJBFH7sRdBUjWLo6R1rf46SUgVzsUZeXH3PT1piXj4LNX5ECDi0bLg9RmQMmY1K2qawqJqA==}
'@types/istanbul-lib-coverage@2.0.6':
resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
'@types/istanbul-lib-report@3.0.3':
resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
'@types/istanbul-reports@3.0.4':
resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
'@types/jest@27.5.2':
resolution: {integrity: sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==}
'@types/minimatch@5.1.2':
resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==}
'@types/node@16.18.126':
resolution: {integrity: sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==}
'@types/normalize-path@3.0.2':
resolution: {integrity: sha512-DO++toKYPaFn0Z8hQ7Tx+3iT9t77IJo/nDiqTXilgEP+kPNIYdpS9kh3fXuc53ugqwp9pxC1PVjCpV1tQDyqMA==}
'@types/prettier@2.7.3':
resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==}
'@types/rimraf@3.0.2':
resolution: {integrity: sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==}
'@types/shelljs@0.8.15':
resolution: {integrity: sha512-vzmnCHl6hViPu9GNLQJ+DZFd6BQI2DBTUeOvYHqkWQLMfKAAQYMb/xAmZkTogZI/vqXHCWkqDRymDI5p0QTi5Q==}
'@types/stack-utils@2.0.3':
resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
'@types/yargs-parser@21.0.3':
resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
'@types/yargs@16.0.9':
resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==}
abab@2.0.6:
resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
deprecated: Use your platform's native atob() and btoa() methods instead
abbrev@1.1.1:
resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
acorn-globals@6.0.0:
resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==}
acorn-walk@7.2.0:
resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
engines: {node: '>=0.4.0'}
acorn-walk@8.3.5:
resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==}
engines: {node: '>=0.4.0'}
acorn@7.4.1:
resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
engines: {node: '>=0.4.0'}
hasBin: true
acorn@8.14.1:
resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
engines: {node: '>=0.4.0'}
hasBin: true
agent-base@6.0.2:
resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
engines: {node: '>= 6.0.0'}
ansi-escapes@4.3.2:
resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
engines: {node: '>=8'}
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
ansi-styles@5.2.0:
resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
engines: {node: '>=10'}
anymatch@3.1.3:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
aproba@2.1.0:
resolution: {integrity: sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==}
are-we-there-yet@2.0.0:
resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==}
engines: {node: '>=10'}
deprecated: This package is no longer supported.
arg@4.1.3:
resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
array-union@2.1.0:
resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
engines: {node: '>=8'}
asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
babel-jest@27.5.1:
resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
peerDependencies:
'@babel/core': ^7.8.0
babel-plugin-istanbul@6.1.1:
resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
engines: {node: '>=8'}
babel-plugin-jest-hoist@27.5.1:
resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
babel-preset-current-node-syntax@1.1.0:
resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==}
peerDependencies:
'@babel/core': ^7.0.0
babel-preset-jest@27.5.1:
resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
peerDependencies:
'@babel/core': ^7.0.0
balanced-match@4.0.4:
resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
engines: {node: 18 || 20 || >=22}
binary-extensions@2.3.0:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
brace-expansion@5.0.5:
resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==}
engines: {node: 18 || 20 || >=22}
braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
browser-process-hrtime@1.0.0:
resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==}
browserslist@4.24.4:
resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
bs-logger@0.2.6:
resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==}
engines: {node: '>= 6'}
bser@2.1.1:
resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
buffercursor.ts@1.0.3:
resolution: {integrity: sha512-jnnP1F8oEHyn6aVTYbgzdDD/ZAnHw/K53qj2X1JYqg2N6RO1YKeTIkp6hq63ngaiZwR/9JuG2AXHutOs/6FAUQ==}
engines: {node: '>=14.0.0'}
call-bind-apply-helpers@1.0.2:
resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
engines: {node: '>= 0.4'}
callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
camelcase@5.3.1:
resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
engines: {node: '>=6'}
camelcase@6.3.0:
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
engines: {node: '>=10'}
caniuse-lite@1.0.30001712:
resolution: {integrity: sha512-MBqPpGYYdQ7/hfKiet9SCI+nmN5/hp4ZzveOJubl5DTAMa5oggjAuoi0Z4onBpKPFI2ePGnQuQIzF3VxDjDJig==}
chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
char-regex@1.0.2:
resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
engines: {node: '>=10'}
chokidar@3.6.0:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
chownr@2.0.0:
resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
engines: {node: '>=10'}
ci-info@3.9.0:
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
engines: {node: '>=8'}
cjs-module-lexer@1.4.3:
resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==}
cliui@7.0.4:
resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
co@4.6.0:
resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
collect-v8-coverage@1.0.2:
resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'}
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
color-support@1.1.3:
resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
hasBin: true
combined-stream@1.0.8:
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
engines: {node: '>= 0.8'}
commander@9.5.0:
resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
engines: {node: ^12.20.0 || >=14}
console-control-strings@1.1.0:
resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
convert-source-map@1.9.0:
resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
create-require@1.1.1:
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
cross-spawn@7.0.6:
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
cssom@0.3.8:
resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==}
cssom@0.4.4:
resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==}
cssstyle@2.3.0:
resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
engines: {node: '>=8'}
data-urls@2.0.0:
resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==}
engines: {node: '>=10'}
debug@4.4.0:
resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
decimal.js@10.5.0:
resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==}
dedent@0.7.0:
resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
deepmerge@4.3.1:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'}
delayed-stream@1.0.0:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
delegates@1.0.0:
resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
detect-libc@2.1.2:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'}
detect-newline@3.1.0:
resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
engines: {node: '>=8'}
diff-sequences@27.5.1:
resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
diff@4.0.4:
resolution: {integrity: sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==}
engines: {node: '>=0.3.1'}
dir-glob@3.0.1:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'}
domexception@2.0.1:
resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==}
engines: {node: '>=8'}
deprecated: Use your platform's native DOMException instead
dunder-proto@1.0.1:
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
engines: {node: '>= 0.4'}
electron-to-chromium@1.5.134:
resolution: {integrity: sha512-zSwzrLg3jNP3bwsLqWHmS5z2nIOQ5ngMnfMZOWWtXnqqQkPVyOipxK98w+1beLw1TB+EImPNcG8wVP/cLVs2Og==}
emittery@0.8.1:
resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==}
engines: {node: '>=10'}
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
es-define-property@1.0.1:
resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
engines: {node: '>= 0.4'}
es-errors@1.3.0:
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
engines: {node: '>= 0.4'}
es-object-atoms@1.1.1:
resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
engines: {node: '>= 0.4'}
es-set-tostringtag@2.1.0:
resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
engines: {node: '>= 0.4'}
escalade@3.2.0:
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
escape-string-regexp@2.0.0:
resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
engines: {node: '>=8'}
escodegen@2.1.0:
resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
engines: {node: '>=6.0'}
hasBin: true
esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
engines: {node: '>=4'}
hasBin: true
estraverse@5.3.0:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
execa@5.1.1:
resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
engines: {node: '>=10'}
exit@0.1.2:
resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
engines: {node: '>= 0.8.0'}
expect@27.5.1:
resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
fast-glob@3.3.3:
resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
engines: {node: '>=8.6.0'}
fast-json-stable-stringify@2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
fast-printf@1.6.10:
resolution: {integrity: sha512-GwTgG9O4FVIdShhbVF3JxOgSBY2+ePGsu2V/UONgoCPzF9VY6ZdBMKsHKCYQHZwNk3qNouUolRDsgVxcVA5G1w==}
engines: {node: '>=10.0'}
fastq@1.19.1:
resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
fb-watchman@2.0.2:
resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
find-up@4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
engines: {node: '>=8'}
form-data@4.0.5:
resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==}
engines: {node: '>= 6'}
fs-minipass@2.1.0:
resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
engines: {node: '>= 8'}
fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
gauge@3.0.2:
resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
engines: {node: '>=10'}
deprecated: This package is no longer supported.
gensync@1.0.0-beta.2:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
get-caller-file@2.0.5:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
get-intrinsic@1.3.0:
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
engines: {node: '>= 0.4'}
get-package-type@0.1.0:
resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
engines: {node: '>=8.0.0'}
get-proto@1.0.1:
resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
engines: {node: '>= 0.4'}
get-stream@6.0.1:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'}
get-tsconfig@4.10.0:
resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==}
glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
glob@13.0.6:
resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==}
engines: {node: 18 || 20 || >=22}
glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
globals@11.12.0:
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
engines: {node: '>=4'}
globby@11.1.0:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
engines: {node: '>=10'}
gopd@1.2.0:
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
engines: {node: '>= 0.4'}
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
has-symbols@1.1.0:
resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
engines: {node: '>= 0.4'}
has-tostringtag@1.0.2:
resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
engines: {node: '>= 0.4'}
has-unicode@2.0.1:
resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==}
hasown@2.0.2:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
html-encoding-sniffer@2.0.1:
resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==}
engines: {node: '>=10'}
html-escaper@2.0.2:
resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
http-proxy-agent@4.0.1:
resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==}
engines: {node: '>= 6'}
https-proxy-agent@5.0.1:
resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
engines: {node: '>= 6'}
human-signals@2.1.0:
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
engines: {node: '>=10.17.0'}
husky@7.0.4:
resolution: {integrity: sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==}
engines: {node: '>=12'}
hasBin: true
i18n@0.15.1:
resolution: {integrity: sha512-yue187t8MqUPMHdKjiZGrX+L+xcUsDClGO0Cz4loaKUOK9WrGw5pgan4bv130utOwX7fHE9w2iUeHFalVQWkXA==}
engines: {node: '>=10'}
iconv-lite@0.4.24:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'}
ignore@5.3.2:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'}
import-local@3.2.0:
resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==}
engines: {node: '>=8'}
hasBin: true
imurmurhash@0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
inflight@1.0.6:
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
interpret@1.4.0:
resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==}
engines: {node: '>= 0.10'}
is-arrayish@0.2.1:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
is-binary-path@2.1.0:
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
engines: {node: '>=8'}
is-core-module@2.16.1:
resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
engines: {node: '>= 0.4'}
is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
is-fullwidth-code-point@3.0.0:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
is-generator-fn@2.1.0:
resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
engines: {node: '>=6'}
is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
is-potential-custom-element-name@1.0.1:
resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
is-stream@2.0.1:
resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
engines: {node: '>=8'}
is-typedarray@1.0.0:
resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
istanbul-lib-coverage@3.2.2:
resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
engines: {node: '>=8'}
istanbul-lib-instrument@5.2.1:
resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
engines: {node: '>=8'}
istanbul-lib-report@3.0.1:
resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
engines: {node: '>=10'}
istanbul-lib-source-maps@4.0.1:
resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
engines: {node: '>=10'}
istanbul-reports@3.1.7:
resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
engines: {node: '>=8'}
jest-changed-files@27.5.1:
resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-circus@27.5.1:
resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-cli@27.5.1:
resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
hasBin: true
peerDependencies:
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
peerDependenciesMeta:
node-notifier:
optional: true
jest-config@27.5.1:
resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
peerDependencies:
ts-node: '>=9.0.0'
peerDependenciesMeta:
ts-node:
optional: true
jest-diff@27.5.1:
resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-docblock@27.5.1:
resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-each@27.5.1:
resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-environment-jsdom@27.5.1:
resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-environment-node@27.5.1:
resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-get-type@27.5.1:
resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-haste-map@27.5.1:
resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-jasmine2@27.5.1:
resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-leak-detector@27.5.1:
resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-matcher-utils@27.5.1:
resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-message-util@27.5.1:
resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-mock@27.5.1:
resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-pnp-resolver@1.2.3:
resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
engines: {node: '>=6'}
peerDependencies:
jest-resolve: '*'
peerDependenciesMeta:
jest-resolve:
optional: true
jest-regex-util@27.5.1:
resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-resolve-dependencies@27.5.1:
resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-resolve@27.5.1:
resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-runner@27.5.1:
resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-runtime@27.5.1:
resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-serializer@27.5.1:
resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-snapshot@27.5.1:
resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-util@27.5.1:
resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-validate@27.5.1:
resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-watcher@27.5.1:
resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
jest-worker@27.5.1:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
jest@27.5.1:
resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
hasBin: true
peerDependencies:
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
peerDependenciesMeta:
node-notifier:
optional: true
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
js-yaml@4.1.1:
resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
hasBin: true
jsdom@16.7.0:
resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==}
engines: {node: '>=10'}
peerDependencies:
canvas: ^2.5.0
peerDependenciesMeta:
canvas:
optional: true
jsesc@3.1.0:
resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
engines: {node: '>=6'}
hasBin: true
json-parse-even-better-errors@2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
json5@2.2.3:
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
engines: {node: '>=6'}
hasBin: true
kleur@3.0.3:
resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
engines: {node: '>=6'}
leven@3.1.0:
resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
engines: {node: '>=6'}
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
locate-path@5.0.0:
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
engines: {node: '>=8'}
lodash.memoize@4.1.2:
resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
lodash@4.18.1:
resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==}
lru-cache@11.1.0:
resolution: {integrity: sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==}
engines: {node: 20 || >=22}
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
make-dir@3.1.0:
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
engines: {node: '>=8'}
make-dir@4.0.0:
resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
engines: {node: '>=10'}
make-error@1.3.6:
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
make-plural@7.5.0:
resolution: {integrity: sha512-0booA+aVYyVFoR67JBHdfVk0U08HmrBH2FrtmBqBa+NldlqXv/G2Z9VQuQq6Wgp2jDWdybEWGfBkk1cq5264WA==}
makeerror@1.0.12:
resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
math-interval-parser@2.0.1:
resolution: {integrity: sha512-VmlAmb0UJwlvMyx8iPhXUDnVW1F9IrGEd9CIOmv+XL8AErCUUuozoDMrgImvnYt2A+53qVX/tPW6YJurMKYsvA==}
engines: {node: '>=0.10.0'}
math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'}
merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
merge2@1.4.1:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
micromatch@4.0.8:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'}
mime-db@1.52.0:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
engines: {node: '>= 0.6'}
mime-types@2.1.35:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
engines: {node: '>= 0.6'}
mimic-fn@2.1.0:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
engines: {node: '>=6'}
minimatch@10.0.1:
resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==}
engines: {node: 20 || >=22}
minimatch@10.2.5:
resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
engines: {node: 18 || 20 || >=22}
minipass@3.3.6:
resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
engines: {node: '>=8'}
minipass@5.0.0:
resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
engines: {node: '>=8'}
minipass@7.1.3:
resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==}
engines: {node: '>=16 || 14 >=14.17'}
minizlib@2.1.2:
resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
engines: {node: '>= 8'}
mkdirp@1.0.4:
resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
engines: {node: '>=10'}
hasBin: true
moo@0.5.3:
resolution: {integrity: sha512-m2fmM2dDm7GZQsY7KK2cme8agi+AAljILjQnof7p1ZMDe6dQ4bdnSMx0cPppudoeNv5hEFQirN6u+O4fDE0IWA==}
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
mustache@4.2.0:
resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==}
hasBin: true
mylas@2.1.13:
resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==}
engines: {node: '>=12.0.0'}
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
node-fetch@2.7.0:
resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
engines: {node: 4.x || >=6.0.0}
peerDependencies:
encoding: ^0.1.0
peerDependenciesMeta:
encoding:
optional: true
node-int64@0.4.0:
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
node-releases@2.0.19:
resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
nopt@5.0.0:
resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
engines: {node: '>=6'}
hasBin: true
normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
npm-run-path@4.0.1:
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
engines: {node: '>=8'}
npmlog@5.0.1:
resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
deprecated: This package is no longer supported.
nwsapi@2.2.20:
resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==}
object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
onetime@5.1.2:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
engines: {node: '>=6'}
p-limit@2.3.0:
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
engines: {node: '>=6'}
p-locate@4.1.0:
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
engines: {node: '>=8'}
p-try@2.2.0:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
package-json-from-dist@1.0.1:
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
parse-json@5.2.0:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
parse5@6.0.1:
resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
path-exists@4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
path-is-absolute@1.0.1:
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
engines: {node: '>=0.10.0'}
path-key@3.1.1:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
path-scurry@2.0.2:
resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==}
engines: {node: 18 || 20 || >=22}
path-type@4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
picomatch@4.0.4:
resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
engines: {node: '>=12'}
pirates@4.0.7:
resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
engines: {node: '>= 6'}
pkg-dir@4.2.0:
resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
engines: {node: '>=8'}
plimit-lit@1.6.1:
resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==}
engines: {node: '>=12'}
prettier@2.8.8:
resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
engines: {node: '>=10.13.0'}
hasBin: true
pretty-format@27.5.1:
resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
prompts@2.4.2:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
psl@1.15.0:
resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==}
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
querystringify@2.2.0:
resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
queue-lit@1.5.2:
resolution: {integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==}
engines: {node: '>=12'}
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
react-is@17.0.2:
resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
readable-stream@3.6.2:
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
engines: {node: '>= 6'}
readdirp@3.6.0:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
rechoir@0.6.2:
resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==}
engines: {node: '>= 0.10'}
require-directory@2.1.1:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
requires-port@1.0.0:
resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
resolve-cwd@3.0.0:
resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
engines: {node: '>=8'}
resolve-from@5.0.0:
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
engines: {node: '>=8'}
resolve-pkg-maps@1.0.0:
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
resolve.exports@1.1.1:
resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==}
engines: {node: '>=10'}
resolve@1.22.10:
resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
engines: {node: '>= 0.4'}
hasBin: true
reusify@1.1.0:
resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
rimraf@3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
rimraf@6.0.1:
resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==}
engines: {node: 20 || >=22}
hasBin: true
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
safe-buffer@5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
safe-identifier@0.4.2:
resolution: {integrity: sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==}
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
saxes@5.0.1:
resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==}
engines: {node: '>=10'}
semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
semver@7.7.1:
resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
engines: {node: '>=10'}
hasBin: true
set-blocking@2.0.0:
resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
shebang-regex@3.0.0:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
shelljs@0.8.5:
resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==}
engines: {node: '>=4'}
hasBin: true
signal-exit@3.0.7:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
slash@3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
source-map-support@0.5.21:
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
source-map@0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
source-map@0.7.4:
resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
engines: {node: '>= 8'}
stack-utils@2.0.6:
resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
engines: {node: '>=10'}
string-length@4.0.2:
resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
engines: {node: '>=10'}
string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
string_decoder@1.3.0:
resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
strip-bom@4.0.0:
resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
engines: {node: '>=8'}
strip-final-newline@2.0.0:
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
engines: {node: '>=6'}
strip-json-comments@3.1.1:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
supports-color@8.1.1:
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
engines: {node: '>=10'}
supports-hyperlinks@2.3.0:
resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==}
engines: {node: '>=8'}
supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
symbol-tree@3.2.4:
resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
tar@6.2.1:
resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
engines: {node: '>=10'}
terminal-link@2.1.1:
resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==}
engines: {node: '>=8'}
test-exclude@6.0.0:
resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
engines: {node: '>=8'}
throat@6.0.2:
resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==}
tmpl@1.0.5:
resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
tough-cookie@4.1.4:
resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
engines: {node: '>=6'}
tr46@0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
tr46@2.1.0:
resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==}
engines: {node: '>=8'}
ts-jest@27.1.5:
resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
hasBin: true
peerDependencies:
'@babel/core': '>=7.0.0-beta.0 <8'
'@types/jest': ^27.0.0
babel-jest: '>=27.0.0 <28'
esbuild: '*'
jest: ^27.0.0
typescript: '>=3.8 <5.0'
peerDependenciesMeta:
'@babel/core':
optional: true
'@types/jest':
optional: true
babel-jest:
optional: true
esbuild:
optional: true
ts-node@10.9.2:
resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
hasBin: true
peerDependencies:
'@swc/core': '>=1.2.50'
'@swc/wasm': '>=1.2.50'
'@types/node': '*'
typescript: '>=2.7'
peerDependenciesMeta:
'@swc/core':
optional: true
'@swc/wasm':
optional: true
tsc-alias@1.8.16:
resolution: {integrity: sha512-QjCyu55NFyRSBAl6+MTFwplpFcnm2Pq01rR/uxfqJoLMm6X3O14KEGtaSDZpJYaE1bJBGDjD0eSuiIWPe2T58g==}
engines: {node: '>=16.20.2'}
hasBin: true
type-detect@4.0.8:
resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
engines: {node: '>=4'}
type-fest@0.21.3:
resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
engines: {node: '>=10'}
typedarray-to-buffer@3.1.5:
resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
typescript@4.9.5:
resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
engines: {node: '>=4.2.0'}
hasBin: true
universalify@0.2.0:
resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
engines: {node: '>= 4.0.0'}
update-browserslist-db@1.1.3:
resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
url-parse@1.5.10:
resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
v8-compile-cache-lib@3.0.1:
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
v8-to-istanbul@8.1.1:
resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==}
engines: {node: '>=10.12.0'}
w3c-hr-time@1.0.2:
resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==}
deprecated: Use your platform's native performance.now() and performance.timeOrigin.
w3c-xmlserializer@2.0.0:
resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==}
engines: {node: '>=10'}
walker@1.0.8:
resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
webidl-conversions@5.0.0:
resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==}
engines: {node: '>=8'}
webidl-conversions@6.1.0:
resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==}
engines: {node: '>=10.4'}
whatwg-encoding@1.0.5:
resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==}
deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation
whatwg-mimetype@2.3.0:
resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==}
whatwg-url@5.0.0:
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
whatwg-url@8.7.0:
resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==}
engines: {node: '>=10'}
which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
hasBin: true
wide-align@1.1.5:
resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
wrap-ansi@7.0.0:
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
engines: {node: '>=10'}
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
write-file-atomic@3.0.3:
resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
ws@7.5.10:
resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==}
engines: {node: '>=8.3.0'}
peerDependencies:
bufferutil: ^4.0.1
utf-8-validate: ^5.0.2
peerDependenciesMeta:
bufferutil:
optional: true
utf-8-validate:
optional: true
xml-name-validator@3.0.0:
resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==}
xmlchars@2.2.0:
resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
y18n@5.0.8:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
yargs-parser@20.2.9:
resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
engines: {node: '>=10'}
yargs@16.2.0:
resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
engines: {node: '>=10'}
yn@3.1.1:
resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
engines: {node: '>=6'}
snapshots:
'@ampproject/remapping@2.3.0':
dependencies:
'@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25
'@babel/code-frame@7.26.2':
dependencies:
'@babel/helper-validator-identifier': 7.25.9
js-tokens: 4.0.0
picocolors: 1.1.1
'@babel/compat-data@7.26.8': {}
'@babel/core@7.26.10':
dependencies:
'@ampproject/remapping': 2.3.0
'@babel/code-frame': 7.26.2
'@babel/generator': 7.27.0
'@babel/helper-compilation-targets': 7.27.0
'@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10)
'@babel/helpers': 7.27.0
'@babel/parser': 7.27.0
'@babel/template': 7.27.0
'@babel/traverse': 7.27.0
'@babel/types': 7.27.0
convert-source-map: 2.0.0
debug: 4.4.0
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
transitivePeerDependencies:
- supports-color
'@babel/generator@7.27.0':
dependencies:
'@babel/parser': 7.27.0
'@babel/types': 7.27.0
'@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25
jsesc: 3.1.0
'@babel/helper-compilation-targets@7.27.0':
dependencies:
'@babel/compat-data': 7.26.8
'@babel/helper-validator-option': 7.25.9
browserslist: 4.24.4
lru-cache: 5.1.1
semver: 6.3.1
'@babel/helper-module-imports@7.25.9':
dependencies:
'@babel/traverse': 7.27.0
'@babel/types': 7.27.0
transitivePeerDependencies:
- supports-color
'@babel/helper-module-transforms@7.26.0(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-module-imports': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
'@babel/traverse': 7.27.0
transitivePeerDependencies:
- supports-color
'@babel/helper-plugin-utils@7.26.5': {}
'@babel/helper-string-parser@7.25.9': {}
'@babel/helper-validator-identifier@7.25.9': {}
'@babel/helper-validator-option@7.25.9': {}
'@babel/helpers@7.27.0':
dependencies:
'@babel/template': 7.27.0
'@babel/types': 7.27.0
'@babel/parser@7.27.0':
dependencies:
'@babel/types': 7.27.0
'@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.10)':
dependencies:
'@babel/core': 7.26.10
'@babel/helper-plugin-utils': 7.26.5
'@babel/template@7.27.0':
dependencies:
'@babel/code-frame': 7.26.2
'@babel/parser': 7.27.0
'@babel/types': 7.27.0
'@babel/traverse@7.27.0':
dependencies:
'@babel/code-frame': 7.26.2
'@babel/generator': 7.27.0
'@babel/parser': 7.27.0
'@babel/template': 7.27.0
'@babel/types': 7.27.0
debug: 4.4.0
globals: 11.12.0
transitivePeerDependencies:
- supports-color
'@babel/types@7.27.0':
dependencies:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
'@bcoe/v8-coverage@0.2.3': {}
'@cspotcode/source-map-support@0.8.1':
dependencies:
'@jridgewell/trace-mapping': 0.3.9
'@esfx/collection-core@1.0.0': {}
'@esfx/collections-hashmap@1.0.2':
dependencies:
'@esfx/collection-core': 1.0.0
'@esfx/equatable': 1.0.2
transitivePeerDependencies:
- encoding
- supports-color
'@esfx/equatable@1.0.2':
dependencies:
'@mapbox/node-pre-gyp': 1.0.11
transitivePeerDependencies:
- encoding
- supports-color
'@istanbuljs/load-nyc-config@1.1.0':
dependencies:
camelcase: 5.3.1
find-up: 4.1.0
get-package-type: 0.1.0
js-yaml: 4.1.1
resolve-from: 5.0.0
'@istanbuljs/schema@0.1.3': {}
'@jest/console@27.5.1':
dependencies:
'@jest/types': 27.5.1
'@types/node': 16.18.126
chalk: 4.1.2
jest-message-util: 27.5.1
jest-util: 27.5.1
slash: 3.0.0
'@jest/core@27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@4.9.5))':
dependencies:
'@jest/console': 27.5.1
'@jest/reporters': 27.5.1
'@jest/test-result': 27.5.1
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
'@types/node': 16.18.126
ansi-escapes: 4.3.2
chalk: 4.1.2
emittery: 0.8.1
exit: 0.1.2
graceful-fs: 4.2.11
jest-changed-files: 27.5.1
jest-config: 27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@4.9.5))
jest-haste-map: 27.5.1
jest-message-util: 27.5.1
jest-regex-util: 27.5.1
jest-resolve: 27.5.1
jest-resolve-dependencies: 27.5.1
jest-runner: 27.5.1
jest-runtime: 27.5.1
jest-snapshot: 27.5.1
jest-util: 27.5.1
jest-validate: 27.5.1
jest-watcher: 27.5.1
micromatch: 4.0.8
rimraf: 3.0.2
slash: 3.0.0
strip-ansi: 6.0.1
transitivePeerDependencies:
- bufferutil
- canvas
- supports-color
- ts-node
- utf-8-validate
'@jest/environment@27.5.1':
dependencies:
'@jest/fake-timers': 27.5.1
'@jest/types': 27.5.1
'@types/node': 16.18.126
jest-mock: 27.5.1
'@jest/fake-timers@27.5.1':
dependencies:
'@jest/types': 27.5.1
'@sinonjs/fake-timers': 8.1.0
'@types/node': 16.18.126
jest-message-util: 27.5.1
jest-mock: 27.5.1
jest-util: 27.5.1
'@jest/globals@27.5.1':
dependencies:
'@jest/environment': 27.5.1
'@jest/types': 27.5.1
expect: 27.5.1
'@jest/reporters@27.5.1':
dependencies:
'@bcoe/v8-coverage': 0.2.3
'@jest/console': 27.5.1
'@jest/test-result': 27.5.1
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
'@types/node': 16.18.126
chalk: 4.1.2
collect-v8-coverage: 1.0.2
exit: 0.1.2
glob: 7.2.3
graceful-fs: 4.2.11
istanbul-lib-coverage: 3.2.2
istanbul-lib-instrument: 5.2.1
istanbul-lib-report: 3.0.1
istanbul-lib-source-maps: 4.0.1
istanbul-reports: 3.1.7
jest-haste-map: 27.5.1
jest-resolve: 27.5.1
jest-util: 27.5.1
jest-worker: 27.5.1
slash: 3.0.0
source-map: 0.6.1
string-length: 4.0.2
terminal-link: 2.1.1
v8-to-istanbul: 8.1.1
transitivePeerDependencies:
- supports-color
'@jest/source-map@27.5.1':
dependencies:
callsites: 3.1.0
graceful-fs: 4.2.11
source-map: 0.6.1
'@jest/test-result@27.5.1':
dependencies:
'@jest/console': 27.5.1
'@jest/types': 27.5.1
'@types/istanbul-lib-coverage': 2.0.6
collect-v8-coverage: 1.0.2
'@jest/test-sequencer@27.5.1':
dependencies:
'@jest/test-result': 27.5.1
graceful-fs: 4.2.11
jest-haste-map: 27.5.1
jest-runtime: 27.5.1
transitivePeerDependencies:
- supports-color
'@jest/transform@27.5.1':
dependencies:
'@babel/core': 7.26.10
'@jest/types': 27.5.1
babel-plugin-istanbul: 6.1.1
chalk: 4.1.2
convert-source-map: 1.9.0
fast-json-stable-stringify: 2.1.0
graceful-fs: 4.2.11
jest-haste-map: 27.5.1
jest-regex-util: 27.5.1
jest-util: 27.5.1
micromatch: 4.0.8
pirates: 4.0.7
slash: 3.0.0
source-map: 0.6.1
write-file-atomic: 3.0.3
transitivePeerDependencies:
- supports-color
'@jest/types@27.5.1':
dependencies:
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
'@types/node': 16.18.126
'@types/yargs': 16.0.9
chalk: 4.1.2
'@jridgewell/gen-mapping@0.3.8':
dependencies:
'@jridgewell/set-array': 1.2.1
'@jridgewell/sourcemap-codec': 1.5.0
'@jridgewell/trace-mapping': 0.3.25
'@jridgewell/resolve-uri@3.1.2': {}
'@jridgewell/set-array@1.2.1': {}
'@jridgewell/sourcemap-codec@1.5.0': {}
'@jridgewell/trace-mapping@0.3.25':
dependencies:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
'@jridgewell/trace-mapping@0.3.9':
dependencies:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
'@mapbox/node-pre-gyp@1.0.11':
dependencies:
detect-libc: 2.1.2
https-proxy-agent: 5.0.1
make-dir: 3.1.0
node-fetch: 2.7.0
nopt: 5.0.0
npmlog: 5.0.1
rimraf: 3.0.2
semver: 7.7.1
tar: 6.2.1
transitivePeerDependencies:
- encoding
- supports-color
'@messageformat/core@3.4.0':
dependencies:
'@messageformat/date-skeleton': 1.1.0
'@messageformat/number-skeleton': 1.2.0
'@messageformat/parser': 5.1.1
'@messageformat/runtime': 3.0.2
make-plural: 7.5.0
safe-identifier: 0.4.2
'@messageformat/date-skeleton@1.1.0': {}
'@messageformat/number-skeleton@1.2.0': {}
'@messageformat/parser@5.1.1':
dependencies:
moo: 0.5.3
'@messageformat/runtime@3.0.2':
dependencies:
make-plural: 7.5.0
'@nodelib/fs.scandir@2.1.5':
dependencies:
'@nodelib/fs.stat': 2.0.5
run-parallel: 1.2.0
'@nodelib/fs.stat@2.0.5': {}
'@nodelib/fs.walk@1.2.8':
dependencies:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.19.1
'@sinonjs/commons@1.8.6':
dependencies:
type-detect: 4.0.8
'@sinonjs/fake-timers@8.1.0':
dependencies:
'@sinonjs/commons': 1.8.6
'@tootallnate/once@3.0.1': {}
'@tsconfig/node10@1.0.12': {}
'@tsconfig/node12@1.0.11': {}
'@tsconfig/node14@1.0.3': {}
'@tsconfig/node16@1.0.4': {}
'@types/babel__core@7.20.5':
dependencies:
'@babel/parser': 7.27.0
'@babel/types': 7.27.0
'@types/babel__generator': 7.27.0
'@types/babel__template': 7.4.4
'@types/babel__traverse': 7.20.7
'@types/babel__generator@7.27.0':
dependencies:
'@babel/types': 7.27.0
'@types/babel__template@7.4.4':
dependencies:
'@babel/parser': 7.27.0
'@babel/types': 7.27.0
'@types/babel__traverse@7.20.7':
dependencies:
'@babel/types': 7.27.0
'@types/glob@7.2.0':
dependencies:
'@types/minimatch': 5.1.2
'@types/node': 16.18.126
'@types/glob@8.1.0':
dependencies:
'@types/minimatch': 5.1.2
'@types/node': 16.18.126
'@types/graceful-fs@4.1.9':
dependencies:
'@types/node': 16.18.126
'@types/i18n@0.13.6': {}
'@types/istanbul-lib-coverage@2.0.6': {}
'@types/istanbul-lib-report@3.0.3':
dependencies:
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports@3.0.4':
dependencies:
'@types/istanbul-lib-report': 3.0.3
'@types/jest@27.5.2':
dependencies:
jest-matcher-utils: 27.5.1
pretty-format: 27.5.1
'@types/minimatch@5.1.2': {}
'@types/node@16.18.126': {}
'@types/normalize-path@3.0.2': {}
'@types/prettier@2.7.3': {}
'@types/rimraf@3.0.2':
dependencies:
'@types/glob': 8.1.0
'@types/node': 16.18.126
'@types/shelljs@0.8.15':
dependencies:
'@types/glob': 7.2.0
'@types/node': 16.18.126
'@types/stack-utils@2.0.3': {}
'@types/yargs-parser@21.0.3': {}
'@types/yargs@16.0.9':
dependencies:
'@types/yargs-parser': 21.0.3
abab@2.0.6: {}
abbrev@1.1.1: {}
acorn-globals@6.0.0:
dependencies:
acorn: 7.4.1
acorn-walk: 7.2.0
acorn-walk@7.2.0: {}
acorn-walk@8.3.5:
dependencies:
acorn: 8.14.1
acorn@7.4.1: {}
acorn@8.14.1: {}
agent-base@6.0.2:
dependencies:
debug: 4.4.0
transitivePeerDependencies:
- supports-color
ansi-escapes@4.3.2:
dependencies:
type-fest: 0.21.3
ansi-regex@5.0.1: {}
ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
ansi-styles@5.2.0: {}
anymatch@3.1.3:
dependencies:
normalize-path: 3.0.0
picomatch: 4.0.4
aproba@2.1.0: {}
are-we-there-yet@2.0.0:
dependencies:
delegates: 1.0.0
readable-stream: 3.6.2
arg@4.1.3: {}
argparse@2.0.1: {}
array-union@2.1.0: {}
asynckit@0.4.0: {}
babel-jest@27.5.1(@babel/core@7.26.10):
dependencies:
'@babel/core': 7.26.10
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
'@types/babel__core': 7.20.5
babel-plugin-istanbul: 6.1.1
babel-preset-jest: 27.5.1(@babel/core@7.26.10)
chalk: 4.1.2
graceful-fs: 4.2.11
slash: 3.0.0
transitivePeerDependencies:
- supports-color
babel-plugin-istanbul@6.1.1:
dependencies:
'@babel/helper-plugin-utils': 7.26.5
'@istanbuljs/load-nyc-config': 1.1.0
'@istanbuljs/schema': 0.1.3
istanbul-lib-instrument: 5.2.1
test-exclude: 6.0.0
transitivePeerDependencies:
- supports-color
babel-plugin-jest-hoist@27.5.1:
dependencies:
'@babel/template': 7.27.0
'@babel/types': 7.27.0
'@types/babel__core': 7.20.5
'@types/babel__traverse': 7.20.7
babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.10):
dependencies:
'@babel/core': 7.26.10
'@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.10)
'@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.10)
'@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.10)
'@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.10)
'@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.10)
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.10)
'@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.10)
'@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.10)
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.10)
'@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.10)
'@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.10)
'@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.10)
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.10)
'@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.10)
'@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.10)
babel-preset-jest@27.5.1(@babel/core@7.26.10):
dependencies:
'@babel/core': 7.26.10
babel-plugin-jest-hoist: 27.5.1
babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.10)
balanced-match@4.0.4: {}
binary-extensions@2.3.0: {}
brace-expansion@5.0.5:
dependencies:
balanced-match: 4.0.4
braces@3.0.3:
dependencies:
fill-range: 7.1.1
browser-process-hrtime@1.0.0: {}
browserslist@4.24.4:
dependencies:
caniuse-lite: 1.0.30001712
electron-to-chromium: 1.5.134
node-releases: 2.0.19
update-browserslist-db: 1.1.3(browserslist@4.24.4)
bs-logger@0.2.6:
dependencies:
fast-json-stable-stringify: 2.1.0
bser@2.1.1:
dependencies:
node-int64: 0.4.0
buffer-from@1.1.2: {}
buffercursor.ts@1.0.3: {}
call-bind-apply-helpers@1.0.2:
dependencies:
es-errors: 1.3.0
function-bind: 1.1.2
callsites@3.1.0: {}
camelcase@5.3.1: {}
camelcase@6.3.0: {}
caniuse-lite@1.0.30001712: {}
chalk@4.1.2:
dependencies:
ansi-styles: 4.3.0
supports-color: 7.2.0
char-regex@1.0.2: {}
chokidar@3.6.0:
dependencies:
anymatch: 3.1.3
braces: 3.0.3
glob-parent: 5.1.2
is-binary-path: 2.1.0
is-glob: 4.0.3
normalize-path: 3.0.0
readdirp: 3.6.0
optionalDependencies:
fsevents: 2.3.3
chownr@2.0.0: {}
ci-info@3.9.0: {}
cjs-module-lexer@1.4.3: {}
cliui@7.0.4:
dependencies:
string-width: 4.2.3
strip-ansi: 6.0.1
wrap-ansi: 7.0.0
co@4.6.0: {}
collect-v8-coverage@1.0.2: {}
color-convert@2.0.1:
dependencies:
color-name: 1.1.4
color-name@1.1.4: {}
color-support@1.1.3: {}
combined-stream@1.0.8:
dependencies:
delayed-stream: 1.0.0
commander@9.5.0: {}
console-control-strings@1.1.0: {}
convert-source-map@1.9.0: {}
convert-source-map@2.0.0: {}
create-require@1.1.1: {}
cross-spawn@7.0.6:
dependencies:
path-key: 3.1.1
shebang-command: 2.0.0
which: 2.0.2
cssom@0.3.8: {}
cssom@0.4.4: {}
cssstyle@2.3.0:
dependencies:
cssom: 0.3.8
data-urls@2.0.0:
dependencies:
abab: 2.0.6
whatwg-mimetype: 2.3.0
whatwg-url: 8.7.0
debug@4.4.0:
dependencies:
ms: 2.1.3
decimal.js@10.5.0: {}
dedent@0.7.0: {}
deepmerge@4.3.1: {}
delayed-stream@1.0.0: {}
delegates@1.0.0: {}
detect-libc@2.1.2: {}
detect-newline@3.1.0: {}
diff-sequences@27.5.1: {}
diff@4.0.4: {}
dir-glob@3.0.1:
dependencies:
path-type: 4.0.0
domexception@2.0.1:
dependencies:
webidl-conversions: 5.0.0
dunder-proto@1.0.1:
dependencies:
call-bind-apply-helpers: 1.0.2
es-errors: 1.3.0
gopd: 1.2.0
electron-to-chromium@1.5.134: {}
emittery@0.8.1: {}
emoji-regex@8.0.0: {}
error-ex@1.3.2:
dependencies:
is-arrayish: 0.2.1
es-define-property@1.0.1: {}
es-errors@1.3.0: {}
es-object-atoms@1.1.1:
dependencies:
es-errors: 1.3.0
es-set-tostringtag@2.1.0:
dependencies:
es-errors: 1.3.0
get-intrinsic: 1.3.0
has-tostringtag: 1.0.2
hasown: 2.0.2
escalade@3.2.0: {}
escape-string-regexp@2.0.0: {}
escodegen@2.1.0:
dependencies:
esprima: 4.0.1
estraverse: 5.3.0
esutils: 2.0.3
optionalDependencies:
source-map: 0.6.1
esprima@4.0.1: {}
estraverse@5.3.0: {}
esutils@2.0.3: {}
execa@5.1.1:
dependencies:
cross-spawn: 7.0.6
get-stream: 6.0.1
human-signals: 2.1.0
is-stream: 2.0.1
merge-stream: 2.0.0
npm-run-path: 4.0.1
onetime: 5.1.2
signal-exit: 3.0.7
strip-final-newline: 2.0.0
exit@0.1.2: {}
expect@27.5.1:
dependencies:
'@jest/types': 27.5.1
jest-get-type: 27.5.1
jest-matcher-utils: 27.5.1
jest-message-util: 27.5.1
fast-glob@3.3.3:
dependencies:
'@nodelib/fs.stat': 2.0.5
'@nodelib/fs.walk': 1.2.8
glob-parent: 5.1.2
merge2: 1.4.1
micromatch: 4.0.8
fast-json-stable-stringify@2.1.0: {}
fast-printf@1.6.10: {}
fastq@1.19.1:
dependencies:
reusify: 1.1.0
fb-watchman@2.0.2:
dependencies:
bser: 2.1.1
fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
find-up@4.1.0:
dependencies:
locate-path: 5.0.0
path-exists: 4.0.0
form-data@4.0.5:
dependencies:
asynckit: 0.4.0
combined-stream: 1.0.8
es-set-tostringtag: 2.1.0
hasown: 2.0.2
mime-types: 2.1.35
fs-minipass@2.1.0:
dependencies:
minipass: 3.3.6
fs.realpath@1.0.0: {}
fsevents@2.3.3:
optional: true
function-bind@1.1.2: {}
gauge@3.0.2:
dependencies:
aproba: 2.1.0
color-support: 1.1.3
console-control-strings: 1.1.0
has-unicode: 2.0.1
object-assign: 4.1.1
signal-exit: 3.0.7
string-width: 4.2.3
strip-ansi: 6.0.1
wide-align: 1.1.5
gensync@1.0.0-beta.2: {}
get-caller-file@2.0.5: {}
get-intrinsic@1.3.0:
dependencies:
call-bind-apply-helpers: 1.0.2
es-define-property: 1.0.1
es-errors: 1.3.0
es-object-atoms: 1.1.1
function-bind: 1.1.2
get-proto: 1.0.1
gopd: 1.2.0
has-symbols: 1.1.0
hasown: 2.0.2
math-intrinsics: 1.1.0
get-package-type@0.1.0: {}
get-proto@1.0.1:
dependencies:
dunder-proto: 1.0.1
es-object-atoms: 1.1.1
get-stream@6.0.1: {}
get-tsconfig@4.10.0:
dependencies:
resolve-pkg-maps: 1.0.0
glob-parent@5.1.2:
dependencies:
is-glob: 4.0.3
glob@13.0.6:
dependencies:
minimatch: 10.2.5
minipass: 7.1.3
path-scurry: 2.0.2
glob@7.2.3:
dependencies:
fs.realpath: 1.0.0
inflight: 1.0.6
inherits: 2.0.4
minimatch: 10.0.1
once: 1.4.0
path-is-absolute: 1.0.1
globals@11.12.0: {}
globby@11.1.0:
dependencies:
array-union: 2.1.0
dir-glob: 3.0.1
fast-glob: 3.3.3
ignore: 5.3.2
merge2: 1.4.1
slash: 3.0.0
gopd@1.2.0: {}
graceful-fs@4.2.11: {}
has-flag@4.0.0: {}
has-symbols@1.1.0: {}
has-tostringtag@1.0.2:
dependencies:
has-symbols: 1.1.0
has-unicode@2.0.1: {}
hasown@2.0.2:
dependencies:
function-bind: 1.1.2
html-encoding-sniffer@2.0.1:
dependencies:
whatwg-encoding: 1.0.5
html-escaper@2.0.2: {}
http-proxy-agent@4.0.1:
dependencies:
'@tootallnate/once': 3.0.1
agent-base: 6.0.2
debug: 4.4.0
transitivePeerDependencies:
- supports-color
https-proxy-agent@5.0.1:
dependencies:
agent-base: 6.0.2
debug: 4.4.0
transitivePeerDependencies:
- supports-color
human-signals@2.1.0: {}
husky@7.0.4: {}
i18n@0.15.1:
dependencies:
'@messageformat/core': 3.4.0
debug: 4.4.0
fast-printf: 1.6.10
make-plural: 7.5.0
math-interval-parser: 2.0.1
mustache: 4.2.0
transitivePeerDependencies:
- supports-color
iconv-lite@0.4.24:
dependencies:
safer-buffer: 2.1.2
ignore@5.3.2: {}
import-local@3.2.0:
dependencies:
pkg-dir: 4.2.0
resolve-cwd: 3.0.0
imurmurhash@0.1.4: {}
inflight@1.0.6:
dependencies:
once: 1.4.0
wrappy: 1.0.2
inherits@2.0.4: {}
interpret@1.4.0: {}
is-arrayish@0.2.1: {}
is-binary-path@2.1.0:
dependencies:
binary-extensions: 2.3.0
is-core-module@2.16.1:
dependencies:
hasown: 2.0.2
is-extglob@2.1.1: {}
is-fullwidth-code-point@3.0.0: {}
is-generator-fn@2.1.0: {}
is-glob@4.0.3:
dependencies:
is-extglob: 2.1.1
is-number@7.0.0: {}
is-potential-custom-element-name@1.0.1: {}
is-stream@2.0.1: {}
is-typedarray@1.0.0: {}
isexe@2.0.0: {}
istanbul-lib-coverage@3.2.2: {}
istanbul-lib-instrument@5.2.1:
dependencies:
'@babel/core': 7.26.10
'@babel/parser': 7.27.0
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
semver: 6.3.1
transitivePeerDependencies:
- supports-color
istanbul-lib-report@3.0.1:
dependencies:
istanbul-lib-coverage: 3.2.2
make-dir: 4.0.0
supports-color: 7.2.0
istanbul-lib-source-maps@4.0.1:
dependencies:
debug: 4.4.0
istanbul-lib-coverage: 3.2.2
source-map: 0.6.1
transitivePeerDependencies:
- supports-color
istanbul-reports@3.1.7:
dependencies:
html-escaper: 2.0.2
istanbul-lib-report: 3.0.1
jest-changed-files@27.5.1:
dependencies:
'@jest/types': 27.5.1
execa: 5.1.1
throat: 6.0.2
jest-circus@27.5.1:
dependencies:
'@jest/environment': 27.5.1
'@jest/test-result': 27.5.1
'@jest/types': 27.5.1
'@types/node': 16.18.126
chalk: 4.1.2
co: 4.6.0
dedent: 0.7.0
expect: 27.5.1
is-generator-fn: 2.1.0
jest-each: 27.5.1
jest-matcher-utils: 27.5.1
jest-message-util: 27.5.1
jest-runtime: 27.5.1
jest-snapshot: 27.5.1
jest-util: 27.5.1
pretty-format: 27.5.1
slash: 3.0.0
stack-utils: 2.0.6
throat: 6.0.2
transitivePeerDependencies:
- supports-color
jest-cli@27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@4.9.5)):
dependencies:
'@jest/core': 27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@4.9.5))
'@jest/test-result': 27.5.1
'@jest/types': 27.5.1
chalk: 4.1.2
exit: 0.1.2
graceful-fs: 4.2.11
import-local: 3.2.0
jest-config: 27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@4.9.5))
jest-util: 27.5.1
jest-validate: 27.5.1
prompts: 2.4.2
yargs: 16.2.0
transitivePeerDependencies:
- bufferutil
- canvas
- supports-color
- ts-node
- utf-8-validate
jest-config@27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@4.9.5)):
dependencies:
'@babel/core': 7.26.10
'@jest/test-sequencer': 27.5.1
'@jest/types': 27.5.1
babel-jest: 27.5.1(@babel/core@7.26.10)
chalk: 4.1.2
ci-info: 3.9.0
deepmerge: 4.3.1
glob: 7.2.3
graceful-fs: 4.2.11
jest-circus: 27.5.1
jest-environment-jsdom: 27.5.1
jest-environment-node: 27.5.1
jest-get-type: 27.5.1
jest-jasmine2: 27.5.1
jest-regex-util: 27.5.1
jest-resolve: 27.5.1
jest-runner: 27.5.1
jest-util: 27.5.1
jest-validate: 27.5.1
micromatch: 4.0.8
parse-json: 5.2.0
pretty-format: 27.5.1
slash: 3.0.0
strip-json-comments: 3.1.1
optionalDependencies:
ts-node: 10.9.2(@types/node@16.18.126)(typescript@4.9.5)
transitivePeerDependencies:
- bufferutil
- canvas
- supports-color
- utf-8-validate
jest-diff@27.5.1:
dependencies:
chalk: 4.1.2
diff-sequences: 27.5.1
jest-get-type: 27.5.1
pretty-format: 27.5.1
jest-docblock@27.5.1:
dependencies:
detect-newline: 3.1.0
jest-each@27.5.1:
dependencies:
'@jest/types': 27.5.1
chalk: 4.1.2
jest-get-type: 27.5.1
jest-util: 27.5.1
pretty-format: 27.5.1
jest-environment-jsdom@27.5.1:
dependencies:
'@jest/environment': 27.5.1
'@jest/fake-timers': 27.5.1
'@jest/types': 27.5.1
'@types/node': 16.18.126
jest-mock: 27.5.1
jest-util: 27.5.1
jsdom: 16.7.0
transitivePeerDependencies:
- bufferutil
- canvas
- supports-color
- utf-8-validate
jest-environment-node@27.5.1:
dependencies:
'@jest/environment': 27.5.1
'@jest/fake-timers': 27.5.1
'@jest/types': 27.5.1
'@types/node': 16.18.126
jest-mock: 27.5.1
jest-util: 27.5.1
jest-get-type@27.5.1: {}
jest-haste-map@27.5.1:
dependencies:
'@jest/types': 27.5.1
'@types/graceful-fs': 4.1.9
'@types/node': 16.18.126
anymatch: 3.1.3
fb-watchman: 2.0.2
graceful-fs: 4.2.11
jest-regex-util: 27.5.1
jest-serializer: 27.5.1
jest-util: 27.5.1
jest-worker: 27.5.1
micromatch: 4.0.8
walker: 1.0.8
optionalDependencies:
fsevents: 2.3.3
jest-jasmine2@27.5.1:
dependencies:
'@jest/environment': 27.5.1
'@jest/source-map': 27.5.1
'@jest/test-result': 27.5.1
'@jest/types': 27.5.1
'@types/node': 16.18.126
chalk: 4.1.2
co: 4.6.0
expect: 27.5.1
is-generator-fn: 2.1.0
jest-each: 27.5.1
jest-matcher-utils: 27.5.1
jest-message-util: 27.5.1
jest-runtime: 27.5.1
jest-snapshot: 27.5.1
jest-util: 27.5.1
pretty-format: 27.5.1
throat: 6.0.2
transitivePeerDependencies:
- supports-color
jest-leak-detector@27.5.1:
dependencies:
jest-get-type: 27.5.1
pretty-format: 27.5.1
jest-matcher-utils@27.5.1:
dependencies:
chalk: 4.1.2
jest-diff: 27.5.1
jest-get-type: 27.5.1
pretty-format: 27.5.1
jest-message-util@27.5.1:
dependencies:
'@babel/code-frame': 7.26.2
'@jest/types': 27.5.1
'@types/stack-utils': 2.0.3
chalk: 4.1.2
graceful-fs: 4.2.11
micromatch: 4.0.8
pretty-format: 27.5.1
slash: 3.0.0
stack-utils: 2.0.6
jest-mock@27.5.1:
dependencies:
'@jest/types': 27.5.1
'@types/node': 16.18.126
jest-pnp-resolver@1.2.3(jest-resolve@27.5.1):
optionalDependencies:
jest-resolve: 27.5.1
jest-regex-util@27.5.1: {}
jest-resolve-dependencies@27.5.1:
dependencies:
'@jest/types': 27.5.1
jest-regex-util: 27.5.1
jest-snapshot: 27.5.1
transitivePeerDependencies:
- supports-color
jest-resolve@27.5.1:
dependencies:
'@jest/types': 27.5.1
chalk: 4.1.2
graceful-fs: 4.2.11
jest-haste-map: 27.5.1
jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1)
jest-util: 27.5.1
jest-validate: 27.5.1
resolve: 1.22.10
resolve.exports: 1.1.1
slash: 3.0.0
jest-runner@27.5.1:
dependencies:
'@jest/console': 27.5.1
'@jest/environment': 27.5.1
'@jest/test-result': 27.5.1
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
'@types/node': 16.18.126
chalk: 4.1.2
emittery: 0.8.1
graceful-fs: 4.2.11
jest-docblock: 27.5.1
jest-environment-jsdom: 27.5.1
jest-environment-node: 27.5.1
jest-haste-map: 27.5.1
jest-leak-detector: 27.5.1
jest-message-util: 27.5.1
jest-resolve: 27.5.1
jest-runtime: 27.5.1
jest-util: 27.5.1
jest-worker: 27.5.1
source-map-support: 0.5.21
throat: 6.0.2
transitivePeerDependencies:
- bufferutil
- canvas
- supports-color
- utf-8-validate
jest-runtime@27.5.1:
dependencies:
'@jest/environment': 27.5.1
'@jest/fake-timers': 27.5.1
'@jest/globals': 27.5.1
'@jest/source-map': 27.5.1
'@jest/test-result': 27.5.1
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
chalk: 4.1.2
cjs-module-lexer: 1.4.3
collect-v8-coverage: 1.0.2
execa: 5.1.1
glob: 7.2.3
graceful-fs: 4.2.11
jest-haste-map: 27.5.1
jest-message-util: 27.5.1
jest-mock: 27.5.1
jest-regex-util: 27.5.1
jest-resolve: 27.5.1
jest-snapshot: 27.5.1
jest-util: 27.5.1
slash: 3.0.0
strip-bom: 4.0.0
transitivePeerDependencies:
- supports-color
jest-serializer@27.5.1:
dependencies:
'@types/node': 16.18.126
graceful-fs: 4.2.11
jest-snapshot@27.5.1:
dependencies:
'@babel/core': 7.26.10
'@babel/generator': 7.27.0
'@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.10)
'@babel/traverse': 7.27.0
'@babel/types': 7.27.0
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
'@types/babel__traverse': 7.20.7
'@types/prettier': 2.7.3
babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.10)
chalk: 4.1.2
expect: 27.5.1
graceful-fs: 4.2.11
jest-diff: 27.5.1
jest-get-type: 27.5.1
jest-haste-map: 27.5.1
jest-matcher-utils: 27.5.1
jest-message-util: 27.5.1
jest-util: 27.5.1
natural-compare: 1.4.0
pretty-format: 27.5.1
semver: 7.7.1
transitivePeerDependencies:
- supports-color
jest-util@27.5.1:
dependencies:
'@jest/types': 27.5.1
'@types/node': 16.18.126
chalk: 4.1.2
ci-info: 3.9.0
graceful-fs: 4.2.11
picomatch: 4.0.4
jest-validate@27.5.1:
dependencies:
'@jest/types': 27.5.1
camelcase: 6.3.0
chalk: 4.1.2
jest-get-type: 27.5.1
leven: 3.1.0
pretty-format: 27.5.1
jest-watcher@27.5.1:
dependencies:
'@jest/test-result': 27.5.1
'@jest/types': 27.5.1
'@types/node': 16.18.126
ansi-escapes: 4.3.2
chalk: 4.1.2
jest-util: 27.5.1
string-length: 4.0.2
jest-worker@27.5.1:
dependencies:
'@types/node': 16.18.126
merge-stream: 2.0.0
supports-color: 8.1.1
jest@27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@4.9.5)):
dependencies:
'@jest/core': 27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@4.9.5))
import-local: 3.2.0
jest-cli: 27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@4.9.5))
transitivePeerDependencies:
- bufferutil
- canvas
- supports-color
- ts-node
- utf-8-validate
js-tokens@4.0.0: {}
js-yaml@4.1.1:
dependencies:
argparse: 2.0.1
jsdom@16.7.0:
dependencies:
abab: 2.0.6
acorn: 8.14.1
acorn-globals: 6.0.0
cssom: 0.4.4
cssstyle: 2.3.0
data-urls: 2.0.0
decimal.js: 10.5.0
domexception: 2.0.1
escodegen: 2.1.0
form-data: 4.0.5
html-encoding-sniffer: 2.0.1
http-proxy-agent: 4.0.1
https-proxy-agent: 5.0.1
is-potential-custom-element-name: 1.0.1
nwsapi: 2.2.20
parse5: 6.0.1
saxes: 5.0.1
symbol-tree: 3.2.4
tough-cookie: 4.1.4
w3c-hr-time: 1.0.2
w3c-xmlserializer: 2.0.0
webidl-conversions: 6.1.0
whatwg-encoding: 1.0.5
whatwg-mimetype: 2.3.0
whatwg-url: 8.7.0
ws: 7.5.10
xml-name-validator: 3.0.0
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
jsesc@3.1.0: {}
json-parse-even-better-errors@2.3.1: {}
json5@2.2.3: {}
kleur@3.0.3: {}
leven@3.1.0: {}
lines-and-columns@1.2.4: {}
locate-path@5.0.0:
dependencies:
p-locate: 4.1.0
lodash.memoize@4.1.2: {}
lodash@4.18.1: {}
lru-cache@11.1.0: {}
lru-cache@5.1.1:
dependencies:
yallist: 3.1.1
make-dir@3.1.0:
dependencies:
semver: 6.3.1
make-dir@4.0.0:
dependencies:
semver: 7.7.1
make-error@1.3.6: {}
make-plural@7.5.0: {}
makeerror@1.0.12:
dependencies:
tmpl: 1.0.5
math-interval-parser@2.0.1: {}
math-intrinsics@1.1.0: {}
merge-stream@2.0.0: {}
merge2@1.4.1: {}
micromatch@4.0.8:
dependencies:
braces: 3.0.3
picomatch: 4.0.4
mime-db@1.52.0: {}
mime-types@2.1.35:
dependencies:
mime-db: 1.52.0
mimic-fn@2.1.0: {}
minimatch@10.0.1:
dependencies:
brace-expansion: 5.0.5
minimatch@10.2.5:
dependencies:
brace-expansion: 5.0.5
minipass@3.3.6:
dependencies:
yallist: 4.0.0
minipass@5.0.0: {}
minipass@7.1.3: {}
minizlib@2.1.2:
dependencies:
minipass: 3.3.6
yallist: 4.0.0
mkdirp@1.0.4: {}
moo@0.5.3: {}
ms@2.1.3: {}
mustache@4.2.0: {}
mylas@2.1.13: {}
natural-compare@1.4.0: {}
node-fetch@2.7.0:
dependencies:
whatwg-url: 5.0.0
node-int64@0.4.0: {}
node-releases@2.0.19: {}
nopt@5.0.0:
dependencies:
abbrev: 1.1.1
normalize-path@3.0.0: {}
npm-run-path@4.0.1:
dependencies:
path-key: 3.1.1
npmlog@5.0.1:
dependencies:
are-we-there-yet: 2.0.0
console-control-strings: 1.1.0
gauge: 3.0.2
set-blocking: 2.0.0
nwsapi@2.2.20: {}
object-assign@4.1.1: {}
once@1.4.0:
dependencies:
wrappy: 1.0.2
onetime@5.1.2:
dependencies:
mimic-fn: 2.1.0
p-limit@2.3.0:
dependencies:
p-try: 2.2.0
p-locate@4.1.0:
dependencies:
p-limit: 2.3.0
p-try@2.2.0: {}
package-json-from-dist@1.0.1: {}
parse-json@5.2.0:
dependencies:
'@babel/code-frame': 7.26.2
error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
parse5@6.0.1: {}
path-exists@4.0.0: {}
path-is-absolute@1.0.1: {}
path-key@3.1.1: {}
path-parse@1.0.7: {}
path-scurry@2.0.2:
dependencies:
lru-cache: 11.1.0
minipass: 7.1.3
path-type@4.0.0: {}
picocolors@1.1.1: {}
picomatch@4.0.4: {}
pirates@4.0.7: {}
pkg-dir@4.2.0:
dependencies:
find-up: 4.1.0
plimit-lit@1.6.1:
dependencies:
queue-lit: 1.5.2
prettier@2.8.8: {}
pretty-format@27.5.1:
dependencies:
ansi-regex: 5.0.1
ansi-styles: 5.2.0
react-is: 17.0.2
prompts@2.4.2:
dependencies:
kleur: 3.0.3
sisteransi: 1.0.5
psl@1.15.0:
dependencies:
punycode: 2.3.1
punycode@2.3.1: {}
querystringify@2.2.0: {}
queue-lit@1.5.2: {}
queue-microtask@1.2.3: {}
react-is@17.0.2: {}
readable-stream@3.6.2:
dependencies:
inherits: 2.0.4
string_decoder: 1.3.0
util-deprecate: 1.0.2
readdirp@3.6.0:
dependencies:
picomatch: 4.0.4
rechoir@0.6.2:
dependencies:
resolve: 1.22.10
require-directory@2.1.1: {}
requires-port@1.0.0: {}
resolve-cwd@3.0.0:
dependencies:
resolve-from: 5.0.0
resolve-from@5.0.0: {}
resolve-pkg-maps@1.0.0: {}
resolve.exports@1.1.1: {}
resolve@1.22.10:
dependencies:
is-core-module: 2.16.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
reusify@1.1.0: {}
rimraf@3.0.2:
dependencies:
glob: 7.2.3
rimraf@6.0.1:
dependencies:
glob: 13.0.6
package-json-from-dist: 1.0.1
run-parallel@1.2.0:
dependencies:
queue-microtask: 1.2.3
safe-buffer@5.2.1: {}
safe-identifier@0.4.2: {}
safer-buffer@2.1.2: {}
saxes@5.0.1:
dependencies:
xmlchars: 2.2.0
semver@6.3.1: {}
semver@7.7.1: {}
set-blocking@2.0.0: {}
shebang-command@2.0.0:
dependencies:
shebang-regex: 3.0.0
shebang-regex@3.0.0: {}
shelljs@0.8.5:
dependencies:
glob: 7.2.3
interpret: 1.4.0
rechoir: 0.6.2
signal-exit@3.0.7: {}
sisteransi@1.0.5: {}
slash@3.0.0: {}
source-map-support@0.5.21:
dependencies:
buffer-from: 1.1.2
source-map: 0.6.1
source-map@0.6.1: {}
source-map@0.7.4: {}
stack-utils@2.0.6:
dependencies:
escape-string-regexp: 2.0.0
string-length@4.0.2:
dependencies:
char-regex: 1.0.2
strip-ansi: 6.0.1
string-width@4.2.3:
dependencies:
emoji-regex: 8.0.0
is-fullwidth-code-point: 3.0.0
strip-ansi: 6.0.1
string_decoder@1.3.0:
dependencies:
safe-buffer: 5.2.1
strip-ansi@6.0.1:
dependencies:
ansi-regex: 5.0.1
strip-bom@4.0.0: {}
strip-final-newline@2.0.0: {}
strip-json-comments@3.1.1: {}
supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
supports-color@8.1.1:
dependencies:
has-flag: 4.0.0
supports-hyperlinks@2.3.0:
dependencies:
has-flag: 4.0.0
supports-color: 7.2.0
supports-preserve-symlinks-flag@1.0.0: {}
symbol-tree@3.2.4: {}
tar@6.2.1:
dependencies:
chownr: 2.0.0
fs-minipass: 2.1.0
minipass: 5.0.0
minizlib: 2.1.2
mkdirp: 1.0.4
yallist: 4.0.0
terminal-link@2.1.1:
dependencies:
ansi-escapes: 4.3.2
supports-hyperlinks: 2.3.0
test-exclude@6.0.0:
dependencies:
'@istanbuljs/schema': 0.1.3
glob: 7.2.3
minimatch: 10.0.1
throat@6.0.2: {}
tmpl@1.0.5: {}
to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
tough-cookie@4.1.4:
dependencies:
psl: 1.15.0
punycode: 2.3.1
universalify: 0.2.0
url-parse: 1.5.10
tr46@0.0.3: {}
tr46@2.1.0:
dependencies:
punycode: 2.3.1
ts-jest@27.1.5(@babel/core@7.26.10)(@types/jest@27.5.2)(babel-jest@27.5.1(@babel/core@7.26.10))(jest@27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@4.9.5)))(typescript@4.9.5):
dependencies:
bs-logger: 0.2.6
fast-json-stable-stringify: 2.1.0
jest: 27.5.1(ts-node@10.9.2(@types/node@16.18.126)(typescript@4.9.5))
jest-util: 27.5.1
json5: 2.2.3
lodash.memoize: 4.1.2
make-error: 1.3.6
semver: 7.7.1
typescript: 4.9.5
yargs-parser: 20.2.9
optionalDependencies:
'@babel/core': 7.26.10
'@types/jest': 27.5.2
babel-jest: 27.5.1(@babel/core@7.26.10)
ts-node@10.9.2(@types/node@16.18.126)(typescript@4.9.5):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.12
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 16.18.126
acorn: 8.14.1
acorn-walk: 8.3.5
arg: 4.1.3
create-require: 1.1.1
diff: 4.0.4
make-error: 1.3.6
typescript: 4.9.5
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
tsc-alias@1.8.16:
dependencies:
chokidar: 3.6.0
commander: 9.5.0
get-tsconfig: 4.10.0
globby: 11.1.0
mylas: 2.1.13
normalize-path: 3.0.0
plimit-lit: 1.6.1
type-detect@4.0.8: {}
type-fest@0.21.3: {}
typedarray-to-buffer@3.1.5:
dependencies:
is-typedarray: 1.0.0
typescript@4.9.5: {}
universalify@0.2.0: {}
update-browserslist-db@1.1.3(browserslist@4.24.4):
dependencies:
browserslist: 4.24.4
escalade: 3.2.0
picocolors: 1.1.1
url-parse@1.5.10:
dependencies:
querystringify: 2.2.0
requires-port: 1.0.0
util-deprecate@1.0.2: {}
v8-compile-cache-lib@3.0.1: {}
v8-to-istanbul@8.1.1:
dependencies:
'@types/istanbul-lib-coverage': 2.0.6
convert-source-map: 1.9.0
source-map: 0.7.4
w3c-hr-time@1.0.2:
dependencies:
browser-process-hrtime: 1.0.0
w3c-xmlserializer@2.0.0:
dependencies:
xml-name-validator: 3.0.0
walker@1.0.8:
dependencies:
makeerror: 1.0.12
webidl-conversions@3.0.1: {}
webidl-conversions@5.0.0: {}
webidl-conversions@6.1.0: {}
whatwg-encoding@1.0.5:
dependencies:
iconv-lite: 0.4.24
whatwg-mimetype@2.3.0: {}
whatwg-url@5.0.0:
dependencies:
tr46: 0.0.3
webidl-conversions: 3.0.1
whatwg-url@8.7.0:
dependencies:
lodash: 4.18.1
tr46: 2.1.0
webidl-conversions: 6.1.0
which@2.0.2:
dependencies:
isexe: 2.0.0
wide-align@1.1.5:
dependencies:
string-width: 4.2.3
wrap-ansi@7.0.0:
dependencies:
ansi-styles: 4.3.0
string-width: 4.2.3
strip-ansi: 6.0.1
wrappy@1.0.2: {}
write-file-atomic@3.0.3:
dependencies:
imurmurhash: 0.1.4
is-typedarray: 1.0.0
signal-exit: 3.0.7
typedarray-to-buffer: 3.1.5
ws@7.5.10: {}
xml-name-validator@3.0.0: {}
xmlchars@2.2.0: {}
y18n@5.0.8: {}
yallist@3.1.1: {}
yallist@4.0.0: {}
yargs-parser@20.2.9: {}
yargs@16.2.0:
dependencies:
cliui: 7.0.4
escalade: 3.2.0
get-caller-file: 2.0.5
require-directory: 2.1.1
string-width: 4.2.3
y18n: 5.0.8
yargs-parser: 20.2.9
yn@3.1.1: {}
justkey007-tsc-alias-fb8387d/pnpm-workspace.yaml 0000664 0000000 0000000 00000001177 15174635142 0021614 0 ustar 00root root 0000000 0000000 packages:
- 'projects/*'
overrides:
'@tootallnate/once@<3.0.1': '>=3.0.1'
brace-expansion@<1.1.13: '>=1.1.13'
brace-expansion@>=1.0.0 <=1.1.11: '>=1.1.12'
brace-expansion@>=2.0.0 <2.0.3: '>=2.0.3'
brace-expansion@>=2.0.0 <=2.0.1: '>=2.0.2'
form-data@>=3.0.0 <3.0.4: '>=3.0.4'
glob@>=11.0.0 <11.1.0: '>=11.1.0'
js-yaml@<3.14.2: '>=3.14.2'
lodash@<=4.17.23: '>=4.18.0'
lodash@>=4.0.0 <=4.17.22: '>=4.17.23'
lodash@>=4.0.0 <=4.17.23: '>=4.18.0'
minimatch@<3.1.3: '>=3.1.3'
minimatch@<3.1.4: '>=3.1.4'
minimatch@>=10.0.0 <10.2.1: '>=10.2.1'
minimatch@>=10.0.0 <10.2.3: '>=10.2.3'
picomatch@<2.3.2: '>=2.3.2'
justkey007-tsc-alias-fb8387d/projects/ 0000775 0000000 0000000 00000000000 15174635142 0017605 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project1/ 0000775 0000000 0000000 00000000000 15174635142 0021334 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project1/package.json 0000664 0000000 0000000 00000000215 15174635142 0023620 0 ustar 00root root 0000000 0000000 {
"private": true,
"scripts": {
"build": "tsc && tsc-alias",
"start": "npm run build && node ./dist/project1/src/index.js"
}
}
justkey007-tsc-alias-fb8387d/projects/project1/src/ 0000775 0000000 0000000 00000000000 15174635142 0022123 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project1/src/custom_modules/ 0000775 0000000 0000000 00000000000 15174635142 0025165 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project1/src/custom_modules/calculator.ts 0000664 0000000 0000000 00000000076 15174635142 0027671 0 ustar 00root root 0000000 0000000 export function add(a: number, b: number) {
return a + b;
}
justkey007-tsc-alias-fb8387d/projects/project1/src/custom_modules/modules/ 0000775 0000000 0000000 00000000000 15174635142 0026635 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project1/src/custom_modules/modules/index.ts 0000664 0000000 0000000 00000000056 15174635142 0030315 0 ustar 00root root 0000000 0000000 export const CUSTOM_MODULE = 'custom module';
justkey007-tsc-alias-fb8387d/projects/project1/src/data.json 0000664 0000000 0000000 00000000035 15174635142 0023725 0 ustar 00root root 0000000 0000000 {
"project": "tsc-alias"
}
justkey007-tsc-alias-fb8387d/projects/project1/src/index.ts 0000664 0000000 0000000 00000000703 15174635142 0023602 0 ustar 00root root 0000000 0000000 import { DATA } from '@commons';
import { CUSTOM_MODULE } from 'custom/index';
import { EXTRA } from 'extra';
import { add } from 'myproject/custom_modules/calculator';
import * as data from 'myproject/data.json';
export { DATA as XYZ } from '@commons';
console.log(DATA);
if (DATA !== 'mydata') {
throw new Error('Bad resolution');
}
console.log(DATA);
console.log(CUSTOM_MODULE);
console.log(EXTRA);
console.log(add(1, 2));
console.log(data);
justkey007-tsc-alias-fb8387d/projects/project1/src/lib/ 0000775 0000000 0000000 00000000000 15174635142 0022671 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project1/src/lib/commons/ 0000775 0000000 0000000 00000000000 15174635142 0024344 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project1/src/lib/commons/index.ts 0000664 0000000 0000000 00000000036 15174635142 0026022 0 ustar 00root root 0000000 0000000 export const DATA = 'mydata';
justkey007-tsc-alias-fb8387d/projects/project1/tsconfig.json 0000664 0000000 0000000 00000000763 15174635142 0024051 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"outDir": "dist",
"target": "es5",
"module": "commonjs",
"strictNullChecks": false,
"noImplicitAny": false,
"skipLibCheck": true,
"baseUrl": "./src",
"resolveJsonModule": true,
"paths": {
"myproject/*": ["./*"],
"@commons": ["libo/commo/index-1.ts", "lib/commons/index.ts"],
"custom/*": ["custom_modules/*", "custom_modules/modules/*"],
"extra": ["../../project2/index"]
}
},
"exclude": ["node_modules"]
}
justkey007-tsc-alias-fb8387d/projects/project10/ 0000775 0000000 0000000 00000000000 15174635142 0021414 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project10/package.json 0000664 0000000 0000000 00000000224 15174635142 0023700 0 ustar 00root root 0000000 0000000 {
"private": true,
"scripts": {
"build": "tsc && tsc-alias --resolve-full-paths",
"start": "npm run build && node ./dist/main.js"
}
}
justkey007-tsc-alias-fb8387d/projects/project10/src/ 0000775 0000000 0000000 00000000000 15174635142 0022203 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project10/src/api/ 0000775 0000000 0000000 00000000000 15174635142 0022754 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project10/src/api/invoice/ 0000775 0000000 0000000 00000000000 15174635142 0024410 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project10/src/api/invoice/invoice.service.ts 0000664 0000000 0000000 00000000155 15174635142 0030054 0 ustar 00root root 0000000 0000000 import { getdateString } from '@/utils';
export function generateInvoice() {
getdateString(new Date());
}
justkey007-tsc-alias-fb8387d/projects/project10/src/main.ts 0000664 0000000 0000000 00000000125 15174635142 0023475 0 ustar 00root root 0000000 0000000 import { generateInvoice } from './api/invoice/invoice.service';
generateInvoice();
justkey007-tsc-alias-fb8387d/projects/project10/src/utils/ 0000775 0000000 0000000 00000000000 15174635142 0023343 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project10/src/utils/index.ts 0000664 0000000 0000000 00000000110 15174635142 0025012 0 ustar 00root root 0000000 0000000 export function getdateString(date: Date) {
return date.toString();
}
justkey007-tsc-alias-fb8387d/projects/project10/tsconfig.json 0000664 0000000 0000000 00000000637 15174635142 0024131 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"resolveJsonModule": true,
"module": "commonjs",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "es2017",
"outDir": "./dist",
"skipLibCheck": true,
"baseUrl": "./",
"paths": {
"@/*": ["src/*"]
}
},
"include": ["src"]
}
justkey007-tsc-alias-fb8387d/projects/project11/ 0000775 0000000 0000000 00000000000 15174635142 0021415 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project11/package.json 0000664 0000000 0000000 00000000351 15174635142 0023702 0 ustar 00root root 0000000 0000000 {
"private": true,
"scripts": {
"build": "npm i && tsc && tsc-alias --resolve-full-paths",
"start": "npm run build && node ./dist/project11/src/index.js"
},
"devDependencies": {
"@tsconfig/node14": "^1.0.0"
}
}
justkey007-tsc-alias-fb8387d/projects/project11/src/ 0000775 0000000 0000000 00000000000 15174635142 0022204 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project11/src/custom_modules/ 0000775 0000000 0000000 00000000000 15174635142 0025246 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project11/src/custom_modules/calculator.ts 0000664 0000000 0000000 00000000076 15174635142 0027752 0 ustar 00root root 0000000 0000000 export function add(a: number, b: number) {
return a + b;
}
justkey007-tsc-alias-fb8387d/projects/project11/src/custom_modules/index.ts 0000664 0000000 0000000 00000000056 15174635142 0026726 0 ustar 00root root 0000000 0000000 export const CUSTOM_MODULE = 'custom module';
justkey007-tsc-alias-fb8387d/projects/project11/src/index.ts 0000664 0000000 0000000 00000000321 15174635142 0023657 0 ustar 00root root 0000000 0000000 import { CUSTOM_MODULE } from 'custom/index';
import { EXTRA } from 'extra';
import { add } from 'myproject/custom_modules/calculator';
console.log(CUSTOM_MODULE);
console.log(EXTRA);
console.log(add(1, 2));
justkey007-tsc-alias-fb8387d/projects/project11/tsconfig.json 0000664 0000000 0000000 00000000713 15174635142 0024125 0 ustar 00root root 0000000 0000000 {
"extends": "@tsconfig/node14" /* from node_modules */,
"compilerOptions": {
"outDir": "dist",
"target": "es5",
"module": "commonjs",
"strictNullChecks": false,
"noImplicitAny": false,
"skipLibCheck": true,
"baseUrl": "./src",
"paths": {
"myproject/*": ["./*"],
"custom/*": ["custom_modules/*"],
"extra": ["../../project2/index"]
},
"resolveJsonModule": true
},
"exclude": ["node_modules"]
}
justkey007-tsc-alias-fb8387d/projects/project12/ 0000775 0000000 0000000 00000000000 15174635142 0021416 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project12/package.json 0000664 0000000 0000000 00000000200 15174635142 0023674 0 ustar 00root root 0000000 0000000 {
"private": true,
"scripts": {
"build": "tsc && tsc-alias",
"start": "npm run build && node ./dist/index.js"
}
}
justkey007-tsc-alias-fb8387d/projects/project12/src/ 0000775 0000000 0000000 00000000000 15174635142 0022205 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project12/src/controllers/ 0000775 0000000 0000000 00000000000 15174635142 0024553 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project12/src/controllers/index.ts 0000664 0000000 0000000 00000000063 15174635142 0026231 0 ustar 00root root 0000000 0000000 export class Controller {}
export class Router {}
justkey007-tsc-alias-fb8387d/projects/project12/src/index.ts 0000664 0000000 0000000 00000000165 15174635142 0023666 0 ustar 00root root 0000000 0000000 import { Controller } from '$controllers/index';
import { Router } from '$router';
new Controller();
new Router();
justkey007-tsc-alias-fb8387d/projects/project12/tsconfig.json 0000664 0000000 0000000 00000000304 15174635142 0024122 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"outDir": "./dist",
"baseUrl": "./",
"skipLibCheck": true,
"paths": {
"$*": ["./src/*"],
"$router": ["./src/controllers/index.ts"]
}
}
}
justkey007-tsc-alias-fb8387d/projects/project13/ 0000775 0000000 0000000 00000000000 15174635142 0021417 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project13/package.json 0000664 0000000 0000000 00000000200 15174635142 0023675 0 ustar 00root root 0000000 0000000 {
"private": true,
"scripts": {
"build": "tsc && tsc-alias",
"start": "npm run build && node ./dist/index.js"
}
}
justkey007-tsc-alias-fb8387d/projects/project13/src/ 0000775 0000000 0000000 00000000000 15174635142 0022206 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project13/src/aaaaaa/ 0000775 0000000 0000000 00000000000 15174635142 0023373 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project13/src/aaaaaa/index.ts 0000664 0000000 0000000 00000000155 15174635142 0025053 0 ustar 00root root 0000000 0000000 import { Controller } from '@controllers/index';
const aa = {
aa: new Controller()
};
export default aa;
justkey007-tsc-alias-fb8387d/projects/project13/src/bbbbbb/ 0000775 0000000 0000000 00000000000 15174635142 0023401 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project13/src/bbbbbb/index.ts 0000664 0000000 0000000 00000000226 15174635142 0025060 0 ustar 00root root 0000000 0000000 import aa from '@aaaaaa/index';
import { Controller } from '@controllers/index';
const bb = {
...aa,
bb: new Controller()
};
export default bb;
justkey007-tsc-alias-fb8387d/projects/project13/src/cccccc/ 0000775 0000000 0000000 00000000000 15174635142 0023407 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project13/src/cccccc/index.ts 0000664 0000000 0000000 00000000236 15174635142 0025067 0 ustar 00root root 0000000 0000000 import input from '@bbbbbb/index';
import { Controller } from '@controllers/index';
const out = {
...input,
cc: new Controller()
};
export default out;
justkey007-tsc-alias-fb8387d/projects/project13/src/controllers/ 0000775 0000000 0000000 00000000000 15174635142 0024554 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project13/src/controllers/index.ts 0000664 0000000 0000000 00000000063 15174635142 0026232 0 ustar 00root root 0000000 0000000 export class Controller {}
export class Router {}
justkey007-tsc-alias-fb8387d/projects/project13/src/dddddd/ 0000775 0000000 0000000 00000000000 15174635142 0023415 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project13/src/dddddd/index.ts 0000664 0000000 0000000 00000000236 15174635142 0025075 0 ustar 00root root 0000000 0000000 import input from '@cccccc/index';
import { Controller } from '@controllers/index';
const out = {
...input,
dd: new Controller()
};
export default out;
justkey007-tsc-alias-fb8387d/projects/project13/src/eeeeee/ 0000775 0000000 0000000 00000000000 15174635142 0023423 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project13/src/eeeeee/index.ts 0000664 0000000 0000000 00000000236 15174635142 0025103 0 ustar 00root root 0000000 0000000 import input from '@dddddd/index';
import { Controller } from '@controllers/index';
const out = {
...input,
ee: new Controller()
};
export default out;
justkey007-tsc-alias-fb8387d/projects/project13/src/ffffff/ 0000775 0000000 0000000 00000000000 15174635142 0023431 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project13/src/ffffff/index.ts 0000664 0000000 0000000 00000000236 15174635142 0025111 0 ustar 00root root 0000000 0000000 import input from '@eeeeee/index';
import { Controller } from '@controllers/index';
const out = {
...input,
ff: new Controller()
};
export default out;
justkey007-tsc-alias-fb8387d/projects/project13/src/gggggg/ 0000775 0000000 0000000 00000000000 15174635142 0023437 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project13/src/gggggg/index.ts 0000664 0000000 0000000 00000000527 15174635142 0025122 0 ustar 00root root 0000000 0000000 import aaaaaa from '@aaaaaa/index';
import bbbbbb from '@bbbbbb/index';
import cccccc from '@cccccc/index';
import dddddd from '@dddddd/index';
import eeeeee from '@eeeeee/index';
import ffffff from '@ffffff/index';
console.log(aaaaaa);
console.log(bbbbbb);
console.log(cccccc);
console.log(dddddd);
console.log(eeeeee);
console.log(ffffff);
justkey007-tsc-alias-fb8387d/projects/project13/src/hhhhhh/ 0000775 0000000 0000000 00000000000 15174635142 0023445 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project13/src/hhhhhh/index.ts 0000664 0000000 0000000 00000000236 15174635142 0025125 0 ustar 00root root 0000000 0000000 import input from '@ffffff/index';
import { Controller } from '@controllers/index';
const out = {
...input,
hh: new Controller()
};
export default out;
justkey007-tsc-alias-fb8387d/projects/project13/src/index.ts 0000664 0000000 0000000 00000000165 15174635142 0023667 0 ustar 00root root 0000000 0000000 import { Controller } from '@controllers/index';
import { Router } from '@router';
new Controller();
new Router();
justkey007-tsc-alias-fb8387d/projects/project13/tsconfig.json 0000664 0000000 0000000 00000001044 15174635142 0024125 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"outDir": "./dist",
"baseUrl": "./",
"skipLibCheck": true,
"paths": {
"@*": ["./src/*"],
"@router": ["./src/controllers/index.ts"],
"@aaaaaa": ["./src/aaaaaa/index.ts"],
"@bbbbbb": ["./src/bbbbbb/index.ts"],
"@cccccc": ["./src/cccccc/index.ts"],
"@dddddd": ["./src/dddddd/index.ts"],
"@eeeeee": ["./src/eeeeee/index.ts"],
"@ffffff": ["./src/ffffff/index.ts"],
"@gggggg": ["./src/gggggg/index.ts"],
"@hhhhhh": ["./src/hhhhhh/index.ts"]
}
}
}
justkey007-tsc-alias-fb8387d/projects/project14/ 0000775 0000000 0000000 00000000000 15174635142 0021420 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project14/package.json 0000664 0000000 0000000 00000000277 15174635142 0023714 0 ustar 00root root 0000000 0000000 {
"name": "root-package",
"scripts": {
"build": "npm run build -ws",
"start": "pnpm install && npm run build && npm run start -ws"
},
"workspaces": [
"./packages/*"
]
}
justkey007-tsc-alias-fb8387d/projects/project14/packages/ 0000775 0000000 0000000 00000000000 15174635142 0023176 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project14/packages/packageA/ 0000775 0000000 0000000 00000000000 15174635142 0024672 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project14/packages/packageA/index.ts 0000664 0000000 0000000 00000000026 15174635142 0026347 0 ustar 00root root 0000000 0000000 console.log('Hello');
justkey007-tsc-alias-fb8387d/projects/project14/packages/packageA/package.json 0000664 0000000 0000000 00000000311 15174635142 0027153 0 ustar 00root root 0000000 0000000 {
"name": "packageA",
"scripts": {
"build": "tsc && tsc-alias",
"start": "node ./dist/index.js"
},
"dependencies": {
"@tsconfig/node14": "1.0.0",
"@types/node": "16.10.2"
}
}
justkey007-tsc-alias-fb8387d/projects/project14/packages/packageA/tsconfig.json 0000664 0000000 0000000 00000000574 15174635142 0027407 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"target": "es2020",
"module": "commonjs",
"lib": ["es2020"],
"outDir": "./dist",
"baseUrl": "./src",
"skipLibCheck": true,
"paths": {
"myproject/*": ["./*"],
"@commons": ["lib/commons/index.ts"],
"custom/*": ["custom_modules/*"],
"extra": ["../../project2/index"]
}
},
"include": ["index.ts"]
}
justkey007-tsc-alias-fb8387d/projects/project14/packages/packageB/ 0000775 0000000 0000000 00000000000 15174635142 0024673 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project14/packages/packageB/index.ts 0000664 0000000 0000000 00000000026 15174635142 0026350 0 ustar 00root root 0000000 0000000 console.log('Hello');
justkey007-tsc-alias-fb8387d/projects/project14/packages/packageB/package.json 0000664 0000000 0000000 00000000312 15174635142 0027155 0 ustar 00root root 0000000 0000000 {
"name": "packageB",
"scripts": {
"build": "tsc && tsc-alias",
"start": "node ./dist/index.js"
},
"dependencies": {
"@tsconfig/node14": "1.0.0",
"@types/node": "14.14.31"
}
}
justkey007-tsc-alias-fb8387d/projects/project14/packages/packageB/tsconfig.json 0000664 0000000 0000000 00000000574 15174635142 0027410 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"target": "es2020",
"module": "commonjs",
"lib": ["es2020"],
"outDir": "./dist",
"baseUrl": "./src",
"skipLibCheck": true,
"paths": {
"myproject/*": ["./*"],
"@commons": ["lib/commons/index.ts"],
"custom/*": ["custom_modules/*"],
"extra": ["../../project2/index"]
}
},
"include": ["index.ts"]
}
justkey007-tsc-alias-fb8387d/projects/project15/ 0000775 0000000 0000000 00000000000 15174635142 0021421 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project15/config/ 0000775 0000000 0000000 00000000000 15174635142 0022666 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project15/config/tsconfig.json 0000664 0000000 0000000 00000001131 15174635142 0025371 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"outDir": "../dist",
"baseUrl": "../",
"declaration": true,
"skipLibCheck": true,
"paths": {
"@*": ["./src/*"],
"@router": ["./src/controllers/index.ts"],
"@aaaaaa": ["./src/aaaaaa/index.ts"],
"@bbbbbb": ["./src/bbbbbb/index.ts"],
"@cccccc": ["./src/cccccc/index.ts"],
"@dddddd": ["./src/dddddd/index.ts"],
"@eeeeee": ["./src/eeeeee/index.ts"],
"@ffffff": ["./src/ffffff/index.ts"],
"@gggggg": ["./src/gggggg/index.ts"],
"@hhhhhh": ["./src/hhhhhh/index.ts"]
}
},
"include": ["../**/*"]
}
justkey007-tsc-alias-fb8387d/projects/project15/package.json 0000664 0000000 0000000 00000000273 15174635142 0023711 0 ustar 00root root 0000000 0000000 {
"private": true,
"scripts": {
"build": "tsc --project ./config/tsconfig.json && tsc-alias -p ./config/tsconfig.json",
"start": "npm run build && node ./dist/index.js"
}
}
justkey007-tsc-alias-fb8387d/projects/project15/src/ 0000775 0000000 0000000 00000000000 15174635142 0022210 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project15/src/aaaaaa/ 0000775 0000000 0000000 00000000000 15174635142 0023375 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project15/src/aaaaaa/index.ts 0000664 0000000 0000000 00000000155 15174635142 0025055 0 ustar 00root root 0000000 0000000 import { Controller } from '@controllers/index';
const aa = {
aa: new Controller()
};
export default aa;
justkey007-tsc-alias-fb8387d/projects/project15/src/bbbbbb/ 0000775 0000000 0000000 00000000000 15174635142 0023403 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project15/src/bbbbbb/index.ts 0000664 0000000 0000000 00000000226 15174635142 0025062 0 ustar 00root root 0000000 0000000 import aa from '@aaaaaa/index';
import { Controller } from '@controllers/index';
const bb = {
...aa,
bb: new Controller()
};
export default bb;
justkey007-tsc-alias-fb8387d/projects/project15/src/cccccc/ 0000775 0000000 0000000 00000000000 15174635142 0023411 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project15/src/cccccc/index.ts 0000664 0000000 0000000 00000000236 15174635142 0025071 0 ustar 00root root 0000000 0000000 import input from '@bbbbbb/index';
import { Controller } from '@controllers/index';
const out = {
...input,
cc: new Controller()
};
export default out;
justkey007-tsc-alias-fb8387d/projects/project15/src/controllers/ 0000775 0000000 0000000 00000000000 15174635142 0024556 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project15/src/controllers/index.ts 0000664 0000000 0000000 00000000063 15174635142 0026234 0 ustar 00root root 0000000 0000000 export class Controller {}
export class Router {}
justkey007-tsc-alias-fb8387d/projects/project15/src/dddddd/ 0000775 0000000 0000000 00000000000 15174635142 0023417 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project15/src/dddddd/index.ts 0000664 0000000 0000000 00000000236 15174635142 0025077 0 ustar 00root root 0000000 0000000 import input from '@cccccc/index';
import { Controller } from '@controllers/index';
const out = {
...input,
dd: new Controller()
};
export default out;
justkey007-tsc-alias-fb8387d/projects/project15/src/eeeeee/ 0000775 0000000 0000000 00000000000 15174635142 0023425 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project15/src/eeeeee/index.ts 0000664 0000000 0000000 00000000236 15174635142 0025105 0 ustar 00root root 0000000 0000000 import input from '@dddddd/index';
import { Controller } from '@controllers/index';
const out = {
...input,
ee: new Controller()
};
export default out;
justkey007-tsc-alias-fb8387d/projects/project15/src/ffffff/ 0000775 0000000 0000000 00000000000 15174635142 0023433 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project15/src/ffffff/index.ts 0000664 0000000 0000000 00000000236 15174635142 0025113 0 ustar 00root root 0000000 0000000 import input from '@eeeeee/index';
import { Controller } from '@controllers/index';
const out = {
...input,
ff: new Controller()
};
export default out;
justkey007-tsc-alias-fb8387d/projects/project15/src/gggggg/ 0000775 0000000 0000000 00000000000 15174635142 0023441 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project15/src/gggggg/index.ts 0000664 0000000 0000000 00000000527 15174635142 0025124 0 ustar 00root root 0000000 0000000 import aaaaaa from '@aaaaaa/index';
import bbbbbb from '@bbbbbb/index';
import cccccc from '@cccccc/index';
import dddddd from '@dddddd/index';
import eeeeee from '@eeeeee/index';
import ffffff from '@ffffff/index';
console.log(aaaaaa);
console.log(bbbbbb);
console.log(cccccc);
console.log(dddddd);
console.log(eeeeee);
console.log(ffffff);
justkey007-tsc-alias-fb8387d/projects/project15/src/hhhhhh/ 0000775 0000000 0000000 00000000000 15174635142 0023447 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project15/src/hhhhhh/index.ts 0000664 0000000 0000000 00000000236 15174635142 0025127 0 ustar 00root root 0000000 0000000 import input from '@ffffff/index';
import { Controller } from '@controllers/index';
const out = {
...input,
hh: new Controller()
};
export default out;
justkey007-tsc-alias-fb8387d/projects/project15/src/index.ts 0000664 0000000 0000000 00000000255 15174635142 0023671 0 ustar 00root root 0000000 0000000 import { Controller } from '@controllers/index';
import { Router } from '@router';
declare module '@router' {
export class Router2 {}
}
new Controller();
new Router();
justkey007-tsc-alias-fb8387d/projects/project16/ 0000775 0000000 0000000 00000000000 15174635142 0021422 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project16/package.json 0000664 0000000 0000000 00000000232 15174635142 0023705 0 ustar 00root root 0000000 0000000 {
"name": "project16",
"scripts": {
"build": "tsc && tsc-alias -r replacer.js",
"start": "npm run build && node ./dist/server/index.js"
}
}
justkey007-tsc-alias-fb8387d/projects/project16/replacer.js 0000664 0000000 0000000 00000000111 15174635142 0023546 0 ustar 00root root 0000000 0000000 exports.default = ({ orig }) => {
console.log(orig);
return orig;
};
justkey007-tsc-alias-fb8387d/projects/project16/src/ 0000775 0000000 0000000 00000000000 15174635142 0022211 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project16/src/file.ts 0000664 0000000 0000000 00000000111 15174635142 0023471 0 ustar 00root root 0000000 0000000 import { emoji } from 'index';
const a = new emoji();
export default a;
justkey007-tsc-alias-fb8387d/projects/project16/src/index.ts 0000664 0000000 0000000 00000001127 15174635142 0023671 0 ustar 00root root 0000000 0000000 export class emoji {
constructor() {
const strings = [
'🥝',
'🥥',
'🍇',
'🍈',
'🍉',
'🍊',
'🍋',
'🍌',
'🍍',
'🥭',
'🍎',
'🍏',
'🍐',
'🍑',
'🍒',
'🍓',
'🍅',
'🍆',
'🌽',
'🌶',
'🍄',
'🥑',
'🥒',
'🥬',
'🥦',
'🥔',
'🧄',
'🧅',
'🥕',
'🌭'
];
console.log(strings);
}
}
import a from 'file';
const b = a;
import { c } from 'test/testy';
const d = c;
justkey007-tsc-alias-fb8387d/projects/project16/src/test/ 0000775 0000000 0000000 00000000000 15174635142 0023170 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project16/src/test/testy.ts 0000664 0000000 0000000 00000000121 15174635142 0024702 0 ustar 00root root 0000000 0000000 export const c = 'hello';
import { emoji } from 'index';
const a = new emoji();
justkey007-tsc-alias-fb8387d/projects/project16/tsconfig.json 0000664 0000000 0000000 00000001137 15174635142 0024133 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"incremental": true,
"target": "ES2017",
"module": "commonjs",
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"outDir": "dist/server/",
"declarationDir": "./types",
"removeComments": true,
"importHelpers": false,
"strict": true,
"baseUrl": "./src",
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"tsc-alias": {
"replacers": {
"default": {
"enabled": false
//"file": "" // File not needed for default replacers.
}
}
}
}
justkey007-tsc-alias-fb8387d/projects/project17/ 0000775 0000000 0000000 00000000000 15174635142 0021423 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project17/package.json 0000664 0000000 0000000 00000000261 15174635142 0023710 0 ustar 00root root 0000000 0000000 {
"name": "project17",
"type": "module",
"scripts": {
"build": "tsc && tsc-alias --resolve-full-paths",
"start": "npm run build && node ./dist/src/index.js"
}
}
justkey007-tsc-alias-fb8387d/projects/project17/src/ 0000775 0000000 0000000 00000000000 15174635142 0022212 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project17/src/index.ts 0000664 0000000 0000000 00000000066 15174635142 0023673 0 ustar 00root root 0000000 0000000 import * as tests from './utils';
console.log(tests);
justkey007-tsc-alias-fb8387d/projects/project17/src/utils/ 0000775 0000000 0000000 00000000000 15174635142 0023352 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project17/src/utils/authorization/ 0000775 0000000 0000000 00000000000 15174635142 0026252 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project17/src/utils/authorization/index.ts 0000664 0000000 0000000 00000000041 15174635142 0027724 0 ustar 00root root 0000000 0000000 const a = 'testa';
export { a };
justkey007-tsc-alias-fb8387d/projects/project17/src/utils/get-spec.ts 0000664 0000000 0000000 00000000041 15174635142 0025424 0 ustar 00root root 0000000 0000000 const c = 'testc';
export { c };
justkey007-tsc-alias-fb8387d/projects/project17/src/utils/index.ts 0000664 0000000 0000000 00000000224 15174635142 0025027 0 ustar 00root root 0000000 0000000 export * from './authorization';
export * from './get-spec';
export * from './regex';
export * from './test-helpers';
export * from './validation';
justkey007-tsc-alias-fb8387d/projects/project17/src/utils/regex.ts 0000664 0000000 0000000 00000000041 15174635142 0025027 0 ustar 00root root 0000000 0000000 const d = 'testd';
export { d };
justkey007-tsc-alias-fb8387d/projects/project17/src/utils/test-helpers/ 0000775 0000000 0000000 00000000000 15174635142 0025771 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project17/src/utils/test-helpers/index.ts 0000664 0000000 0000000 00000000041 15174635142 0027443 0 ustar 00root root 0000000 0000000 const b = 'testb';
export { b };
justkey007-tsc-alias-fb8387d/projects/project17/src/utils/validation.ts 0000664 0000000 0000000 00000000041 15174635142 0026047 0 ustar 00root root 0000000 0000000 const e = 'teste';
export { e };
justkey007-tsc-alias-fb8387d/projects/project17/tsconfig.json 0000664 0000000 0000000 00000000707 15174635142 0024136 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"target": "es2020",
"module": "es2020",
"outDir": "./dist",
"rootDir": ".",
"baseUrl": ".",
"skipLibCheck": true,
"paths": {
"@container": ["src/container.ts"],
"@interfaces": ["src/interfaces.ts"],
"@main": ["src/main.ts"],
"@util": ["src/utils/index.ts"]
},
"moduleResolution": "node"
},
"include": ["src/**/*.ts", "test/**/*.ts"],
"exclude": ["node_modules"]
}
justkey007-tsc-alias-fb8387d/projects/project18/ 0000775 0000000 0000000 00000000000 15174635142 0021424 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project18/package.json 0000664 0000000 0000000 00000000234 15174635142 0023711 0 ustar 00root root 0000000 0000000 {
"name": "project18",
"type": "module",
"scripts": {
"build": "tsc && tsc-alias",
"start": "npm run build && node ./dist/src/index.js"
}
}
justkey007-tsc-alias-fb8387d/projects/project18/src/ 0000775 0000000 0000000 00000000000 15174635142 0022213 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project18/src/index.ts 0000664 0000000 0000000 00000000067 15174635142 0023675 0 ustar 00root root 0000000 0000000 import * as tests from './utils';
console.log(tests);
justkey007-tsc-alias-fb8387d/projects/project18/src/utils/ 0000775 0000000 0000000 00000000000 15174635142 0023353 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project18/src/utils/authorization/ 0000775 0000000 0000000 00000000000 15174635142 0026253 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project18/src/utils/authorization/index.ts 0000664 0000000 0000000 00000000041 15174635142 0027725 0 ustar 00root root 0000000 0000000 const a = 'testa';
export { a };
justkey007-tsc-alias-fb8387d/projects/project18/src/utils/get-spec.ts 0000664 0000000 0000000 00000000041 15174635142 0025425 0 ustar 00root root 0000000 0000000 const c = 'testc';
export { c };
justkey007-tsc-alias-fb8387d/projects/project18/src/utils/index.ts 0000664 0000000 0000000 00000000224 15174635142 0025030 0 ustar 00root root 0000000 0000000 export * from './authorization';
export * from './get-spec';
export * from './regex';
export * from './test-helpers';
export * from './validation';
justkey007-tsc-alias-fb8387d/projects/project18/src/utils/regex.ts 0000664 0000000 0000000 00000000041 15174635142 0025030 0 ustar 00root root 0000000 0000000 const d = 'testd';
export { d };
justkey007-tsc-alias-fb8387d/projects/project18/src/utils/test-helpers/ 0000775 0000000 0000000 00000000000 15174635142 0025772 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project18/src/utils/test-helpers/index.ts 0000664 0000000 0000000 00000000041 15174635142 0027444 0 ustar 00root root 0000000 0000000 const b = 'testb';
export { b };
justkey007-tsc-alias-fb8387d/projects/project18/src/utils/validation.ts 0000664 0000000 0000000 00000000041 15174635142 0026050 0 ustar 00root root 0000000 0000000 const e = 'teste';
export { e };
justkey007-tsc-alias-fb8387d/projects/project18/tsconfig.json 0000664 0000000 0000000 00000000772 15174635142 0024141 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"target": "es2020",
"module": "es2020",
"outDir": "./dist",
"rootDir": ".",
"baseUrl": ".",
"skipLibCheck": true,
"paths": {
"@container": ["src/container.ts"],
"@interfaces": ["src/interfaces.ts"],
"@main": ["src/main.ts"],
"@util": ["src/utils/index.ts"]
},
"moduleResolution": "node"
},
"include": ["src/**/*.ts", "test/**/*.ts"],
"exclude": ["node_modules"],
"tsc-alias": {
"resolveFullPaths": true
}
}
justkey007-tsc-alias-fb8387d/projects/project19/ 0000775 0000000 0000000 00000000000 15174635142 0021425 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project19/package.json 0000664 0000000 0000000 00000000314 15174635142 0023711 0 ustar 00root root 0000000 0000000 {
"name": "project19",
"type": "module",
"scripts": {
"build": "tsc && tsc-alias",
"build:tsc-base": "tsc --outDir dist-base",
"start": "npm run build && node ./dist/src/index.js"
}
}
justkey007-tsc-alias-fb8387d/projects/project19/src/ 0000775 0000000 0000000 00000000000 15174635142 0022214 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project19/src/index.ts 0000664 0000000 0000000 00000000066 15174635142 0023675 0 ustar 00root root 0000000 0000000 import * as tests from './utils';
console.log(tests);
justkey007-tsc-alias-fb8387d/projects/project19/src/utils/ 0000775 0000000 0000000 00000000000 15174635142 0023354 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project19/src/utils/authorization/ 0000775 0000000 0000000 00000000000 15174635142 0026254 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project19/src/utils/authorization/index.ts 0000664 0000000 0000000 00000000041 15174635142 0027726 0 ustar 00root root 0000000 0000000 const a = 'testa';
export { a };
justkey007-tsc-alias-fb8387d/projects/project19/src/utils/get-spec.ts 0000664 0000000 0000000 00000000041 15174635142 0025426 0 ustar 00root root 0000000 0000000 const c = 'testc';
export { c };
justkey007-tsc-alias-fb8387d/projects/project19/src/utils/index.ts 0000664 0000000 0000000 00000000224 15174635142 0025031 0 ustar 00root root 0000000 0000000 export * from './authorization';
export * from './get-spec';
export * from './regex';
export * from './test-helpers';
export * from './validation';
justkey007-tsc-alias-fb8387d/projects/project19/src/utils/regex.ts 0000664 0000000 0000000 00000000041 15174635142 0025031 0 ustar 00root root 0000000 0000000 const d = 'testd';
export { d };
justkey007-tsc-alias-fb8387d/projects/project19/src/utils/test-helpers/ 0000775 0000000 0000000 00000000000 15174635142 0025773 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project19/src/utils/test-helpers/index.ts 0000664 0000000 0000000 00000000041 15174635142 0027445 0 ustar 00root root 0000000 0000000 const b = 'testb';
export { b };
justkey007-tsc-alias-fb8387d/projects/project19/src/utils/validation.ts 0000664 0000000 0000000 00000000041 15174635142 0026051 0 ustar 00root root 0000000 0000000 const e = 'teste';
export { e };
justkey007-tsc-alias-fb8387d/projects/project19/tsconfig.json 0000664 0000000 0000000 00000000740 15174635142 0024135 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"target": "es2020",
"module": "es2020",
"outDir": "./dist",
"rootDir": ".",
"baseUrl": ".",
"paths": {
"@container": ["src/container.ts"],
"@interfaces": ["src/interfaces.ts"],
"@main": ["src/main.ts"],
"@util": ["src/utils/index.ts"]
},
"moduleResolution": "node"
},
"include": ["src/**/*.ts", "test/**/*.ts"],
"exclude": ["node_modules"],
"tsc-alias": {
"resolveFullPaths": true
}
}
justkey007-tsc-alias-fb8387d/projects/project2/ 0000775 0000000 0000000 00000000000 15174635142 0021335 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project2/index.ts 0000664 0000000 0000000 00000000036 15174635142 0023013 0 ustar 00root root 0000000 0000000 export const EXTRA = 'extra';
justkey007-tsc-alias-fb8387d/projects/project20/ 0000775 0000000 0000000 00000000000 15174635142 0021415 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project20/main.ts 0000664 0000000 0000000 00000000045 15174635142 0022710 0 ustar 00root root 0000000 0000000 import { run } from '@core';
run();
justkey007-tsc-alias-fb8387d/projects/project20/package.json 0000664 0000000 0000000 00000000375 15174635142 0023710 0 ustar 00root root 0000000 0000000 {
"name": "project20",
"type": "commonjs",
"scripts": {
"build": "tsc -p packages/tsconfig.json && tsc-alias -p packages/tsconfig.json",
"build:tsc-base": "tsc --outDir dist-base",
"start": "npm run build && node ./dist/main.js"
}
}
justkey007-tsc-alias-fb8387d/projects/project20/packages/ 0000775 0000000 0000000 00000000000 15174635142 0023173 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project20/packages/core/ 0000775 0000000 0000000 00000000000 15174635142 0024123 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project20/packages/core/index.ts 0000664 0000000 0000000 00000000035 15174635142 0025600 0 ustar 00root root 0000000 0000000 export const run = () => {};
justkey007-tsc-alias-fb8387d/projects/project20/packages/path-replacer.js 0000664 0000000 0000000 00000000102 15174635142 0026251 0 ustar 00root root 0000000 0000000 exports.default = ({ orig, file, config }) => {
return orig;
};
justkey007-tsc-alias-fb8387d/projects/project20/packages/tsconfig.json 0000664 0000000 0000000 00000000346 15174635142 0025705 0 ustar 00root root 0000000 0000000 {
"extends": "../tsconfig.json",
"tsc-alias": {
"verbose": false,
"resolveFullPaths": true,
"replacers": {
"pathReplacer": {
"enabled": false,
"file": "./path-replacer.js"
}
}
}
}
justkey007-tsc-alias-fb8387d/projects/project20/tsconfig.json 0000664 0000000 0000000 00000000566 15174635142 0024133 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"target": "es2020",
"module": "commonjs",
"outDir": "./dist",
"rootDir": ".",
"baseUrl": ".",
"skipLibCheck": true,
"paths": {
"@core": ["packages/core/index.ts"]
},
"moduleResolution": "node"
},
"include": ["**/*.ts"],
"exclude": ["node_modules"],
"tsc-alias": {
"resolveFullPaths": true
}
}
justkey007-tsc-alias-fb8387d/projects/project21/ 0000775 0000000 0000000 00000000000 15174635142 0021416 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project21/package.json 0000664 0000000 0000000 00000000227 15174635142 0023705 0 ustar 00root root 0000000 0000000 {
"name": "project21",
"private": true,
"scripts": {
"build": "tsc && tsc-alias",
"start": "npm run build && node ./dist/index.js"
}
}
justkey007-tsc-alias-fb8387d/projects/project21/src/ 0000775 0000000 0000000 00000000000 15174635142 0022205 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project21/src/constants.ts 0000664 0000000 0000000 00000000023 15174635142 0024564 0 ustar 00root root 0000000 0000000 export default {};
justkey007-tsc-alias-fb8387d/projects/project21/src/index.ts 0000664 0000000 0000000 00000000113 15174635142 0023657 0 ustar 00root root 0000000 0000000 import constants from '$constants';
if (!constants) {
process.exit(1);
}
justkey007-tsc-alias-fb8387d/projects/project21/tsconfig.json 0000664 0000000 0000000 00000000610 15174635142 0024122 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"outDir": "dist",
"target": "es5",
"module": "commonjs",
"strictNullChecks": false,
"noImplicitAny": false,
"baseUrl": "./src",
"paths": {
"$constants": ["constants"]
},
"moduleResolution": "node",
"skipLibCheck": true
},
"include": ["src/**/*.ts", "test/**/*.ts"],
"exclude": ["node_modules"],
"tsc-alias": {}
}
justkey007-tsc-alias-fb8387d/projects/project22/ 0000775 0000000 0000000 00000000000 15174635142 0021417 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project22/package.json 0000664 0000000 0000000 00000000227 15174635142 0023706 0 ustar 00root root 0000000 0000000 {
"name": "project22",
"private": true,
"scripts": {
"build": "tsc && tsc-alias",
"start": "npm run build && node ./dist/index.js"
}
}
justkey007-tsc-alias-fb8387d/projects/project22/src/ 0000775 0000000 0000000 00000000000 15174635142 0022206 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project22/src/custom_modules/ 0000775 0000000 0000000 00000000000 15174635142 0025250 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project22/src/custom_modules/find-json.ts 0000664 0000000 0000000 00000000040 15174635142 0027501 0 ustar 00root root 0000000 0000000 export const FINDER = 'finder';
justkey007-tsc-alias-fb8387d/projects/project22/src/data.json 0000664 0000000 0000000 00000000035 15174635142 0024010 0 ustar 00root root 0000000 0000000 {
"project": "tsc-alias"
}
justkey007-tsc-alias-fb8387d/projects/project22/src/index.ts 0000664 0000000 0000000 00000000201 15174635142 0023656 0 ustar 00root root 0000000 0000000 import { FINDER } from 'custom/find-json';
import * as data from 'myproject/data.json';
console.log(FINDER);
console.log(data);
justkey007-tsc-alias-fb8387d/projects/project22/tsconfig.json 0000664 0000000 0000000 00000000551 15174635142 0024127 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"outDir": "dist",
"target": "es5",
"module": "commonjs",
"strictNullChecks": false,
"noImplicitAny": false,
"baseUrl": "./src",
"resolveJsonModule": true,
"skipLibCheck": true,
"paths": {
"myproject/*": ["./*"],
"custom/*": ["custom_modules/*"]
}
},
"exclude": ["node_modules"]
}
justkey007-tsc-alias-fb8387d/projects/project23/ 0000775 0000000 0000000 00000000000 15174635142 0021420 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project23/package.json 0000664 0000000 0000000 00000000415 15174635142 0023706 0 ustar 00root root 0000000 0000000 {
"name": "project23",
"private": true,
"scripts": {
"build": "pnpm install && tsc && tsc-alias",
"start": "npm run build && node ./dist/index.js"
},
"dependencies": {
"i18n": "0.15.1"
},
"devDependencies": {
"@types/i18n": "0.13.6"
}
}
justkey007-tsc-alias-fb8387d/projects/project23/src/ 0000775 0000000 0000000 00000000000 15174635142 0022207 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project23/src/i18n/ 0000775 0000000 0000000 00000000000 15174635142 0022766 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project23/src/i18n/index.ts 0000664 0000000 0000000 00000000134 15174635142 0024443 0 ustar 00root root 0000000 0000000 import i18n from 'i18n';
console.log(i18n.configure);
export default () => 'Translation';
justkey007-tsc-alias-fb8387d/projects/project23/src/index.ts 0000664 0000000 0000000 00000000061 15174635142 0023663 0 ustar 00root root 0000000 0000000 import i18n from './i18n';
console.log(i18n());
justkey007-tsc-alias-fb8387d/projects/project23/tsconfig.json 0000664 0000000 0000000 00000000265 15174635142 0024132 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"module": "commonjs",
"esModuleInterop": true,
"target": "es5",
"outDir": "dist",
"skipLibCheck": true
},
"include": ["src/**/*"]
}
justkey007-tsc-alias-fb8387d/projects/project24/ 0000775 0000000 0000000 00000000000 15174635142 0021421 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project24/.gitignore 0000664 0000000 0000000 00000000024 15174635142 0023405 0 ustar 00root root 0000000 0000000 .idea/
node_modules/ justkey007-tsc-alias-fb8387d/projects/project24/README.md 0000664 0000000 0000000 00000001233 15174635142 0022677 0 ustar 00root root 0000000 0000000 # tsc-alias-bug-demo
Steps to reproduce https://github.com/justkey007/tsc-alias/issues/154:
1. Install dependencies
```sh
pnpm install
```
2. Start the app using `ts-node`
```sh
npm start
```
Output:
```
[Function: i18nConfigure]
Translation
```
3. Compile TS files and start the app
```sh
npm run build && node dist/index.js
```
Output:
```
console.log(i18n_1.default.configure);
^
TypeError: Cannot read property 'configure' of undefined
```
It happens because `dist/i18n/index.js` contains
```js
const i18n_1 = __importDefault(require('../i18n'));
```
instead of
```js
const i18n_1 = __importDefault(require('i18n'));
```
justkey007-tsc-alias-fb8387d/projects/project24/package.json 0000664 0000000 0000000 00000001215 15174635142 0023706 0 ustar 00root root 0000000 0000000 {
"name": "tsc-alias-bug-demo",
"version": "1.0.0",
"description": "Demonstration of a bug with incorrect module path",
"private": true,
"main": "dist/index.js",
"scripts": {
"build": "pnpm install && tsc && tsc-alias",
"start": "npm run build && node dist/index.js"
},
"repository": {
"type": "git",
"url": "git+https://github.com/Jokero/tsc-alias-bug.git"
},
"author": "Dmitry Kirilyuk ",
"license": "MIT",
"devDependencies": {
"@types/i18n": "^0.13.6",
"ts-node": "^10.9.1",
"tsc-alias": "^1.8.3",
"typescript": "^4.9.5"
},
"dependencies": {
"i18n": "^0.15.1"
}
}
justkey007-tsc-alias-fb8387d/projects/project24/src/ 0000775 0000000 0000000 00000000000 15174635142 0022210 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project24/src/i18n/ 0000775 0000000 0000000 00000000000 15174635142 0022767 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project24/src/i18n/index.ts 0000664 0000000 0000000 00000000134 15174635142 0024444 0 ustar 00root root 0000000 0000000 import i18n from 'i18n';
console.log(i18n.configure);
export default () => 'Translation';
justkey007-tsc-alias-fb8387d/projects/project24/src/index.ts 0000664 0000000 0000000 00000000061 15174635142 0023664 0 ustar 00root root 0000000 0000000 import i18n from './i18n';
console.log(i18n());
justkey007-tsc-alias-fb8387d/projects/project24/tsconfig.json 0000664 0000000 0000000 00000000351 15174635142 0024127 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"types": [],
"module": "commonjs",
"esModuleInterop": true,
"moduleResolution": "node",
"target": "esnext",
"outDir": "dist",
"skipLibCheck": true
},
"include": ["src/**/*"]
}
justkey007-tsc-alias-fb8387d/projects/project3/ 0000775 0000000 0000000 00000000000 15174635142 0021336 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project3/package.json 0000664 0000000 0000000 00000000200 15174635142 0023614 0 ustar 00root root 0000000 0000000 {
"private": true,
"scripts": {
"build": "tsc && tsc-alias",
"start": "npm run build && node ./dist/index.js"
}
}
justkey007-tsc-alias-fb8387d/projects/project3/src/ 0000775 0000000 0000000 00000000000 15174635142 0022125 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project3/src/controllers/ 0000775 0000000 0000000 00000000000 15174635142 0024473 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project3/src/controllers/index.ts 0000664 0000000 0000000 00000000033 15174635142 0026146 0 ustar 00root root 0000000 0000000 export class Controller {}
justkey007-tsc-alias-fb8387d/projects/project3/src/index.ts 0000664 0000000 0000000 00000000104 15174635142 0023577 0 ustar 00root root 0000000 0000000 import { Controller } from '@controllers/index';
new Controller();
justkey007-tsc-alias-fb8387d/projects/project3/tsconfig.json 0000664 0000000 0000000 00000000253 15174635142 0024045 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"outDir": "./dist",
"baseUrl": "./",
"skipLibCheck": true,
"paths": {
"@controllers/*": ["./src/controllers/*"]
}
}
}
justkey007-tsc-alias-fb8387d/projects/project4/ 0000775 0000000 0000000 00000000000 15174635142 0021337 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project4/package.json 0000664 0000000 0000000 00000000215 15174635142 0023623 0 ustar 00root root 0000000 0000000 {
"private": true,
"scripts": {
"build": "tsc && tsc-alias",
"start": "npm run build && node ./dist/project4/src/index.js"
}
}
justkey007-tsc-alias-fb8387d/projects/project4/src/ 0000775 0000000 0000000 00000000000 15174635142 0022126 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project4/src/custom_modules/ 0000775 0000000 0000000 00000000000 15174635142 0025170 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project4/src/custom_modules/calculator.ts 0000664 0000000 0000000 00000000076 15174635142 0027674 0 ustar 00root root 0000000 0000000 export function add(a: number, b: number) {
return a + b;
}
justkey007-tsc-alias-fb8387d/projects/project4/src/custom_modules/index.ts 0000664 0000000 0000000 00000000056 15174635142 0026650 0 ustar 00root root 0000000 0000000 export const CUSTOM_MODULE = 'custom module';
justkey007-tsc-alias-fb8387d/projects/project4/src/index.ts 0000664 0000000 0000000 00000000405 15174635142 0023604 0 ustar 00root root 0000000 0000000 import { DATA } from '@commons';
import { CUSTOM_MODULE } from 'custom/index';
import { EXTRA } from 'extra';
import { add } from 'myproject/custom_modules/calculator';
console.log(DATA);
console.log(CUSTOM_MODULE);
console.log(EXTRA);
console.log(add(1, 2));
justkey007-tsc-alias-fb8387d/projects/project4/src/lib/ 0000775 0000000 0000000 00000000000 15174635142 0022674 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project4/src/lib/commons/ 0000775 0000000 0000000 00000000000 15174635142 0024347 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project4/src/lib/commons/index.ts 0000664 0000000 0000000 00000000036 15174635142 0026025 0 ustar 00root root 0000000 0000000 export const DATA = 'mydata';
justkey007-tsc-alias-fb8387d/projects/project4/tsconfig.json 0000664 0000000 0000000 00000000643 15174635142 0024051 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"outDir": "dist",
"target": "es5",
"module": "commonjs",
"strictNullChecks": false,
"noImplicitAny": false,
"skipLibCheck": true,
"baseUrl": "./",
"paths": {
"myproject/*": ["src/*"],
"@commons": ["src/lib/commons/index.ts"],
"custom/*": ["src/custom_modules/*"],
"extra": ["../project2/index"]
}
},
"exclude": ["node_modules"]
}
justkey007-tsc-alias-fb8387d/projects/project5/ 0000775 0000000 0000000 00000000000 15174635142 0021340 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project5/package.json 0000664 0000000 0000000 00000000215 15174635142 0023624 0 ustar 00root root 0000000 0000000 {
"private": true,
"scripts": {
"build": "tsc && tsc-alias",
"start": "npm run build && node ./dist/project5/src/index.js"
}
}
justkey007-tsc-alias-fb8387d/projects/project5/src/ 0000775 0000000 0000000 00000000000 15174635142 0022127 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project5/src/custom_modules/ 0000775 0000000 0000000 00000000000 15174635142 0025171 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project5/src/custom_modules/calculator.ts 0000664 0000000 0000000 00000000076 15174635142 0027675 0 ustar 00root root 0000000 0000000 export function add(a: number, b: number) {
return a + b;
}
justkey007-tsc-alias-fb8387d/projects/project5/src/custom_modules/index.ts 0000664 0000000 0000000 00000000056 15174635142 0026651 0 ustar 00root root 0000000 0000000 export const CUSTOM_MODULE = 'custom module';
justkey007-tsc-alias-fb8387d/projects/project5/src/index.ts 0000664 0000000 0000000 00000000514 15174635142 0023606 0 ustar 00root root 0000000 0000000 import { DATA } from '@commons';
import { CUSTOM_MODULE } from 'custom/index';
import { EXTRA } from 'extra';
import { add } from 'myproject/custom_modules/calculator';
import { SCOPE } from '@me/myproject/scope/index';
console.log(DATA);
console.log(CUSTOM_MODULE);
console.log(EXTRA);
console.log(add(1, 2));
console.log(SCOPE);
justkey007-tsc-alias-fb8387d/projects/project5/src/lib/ 0000775 0000000 0000000 00000000000 15174635142 0022675 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project5/src/lib/commons/ 0000775 0000000 0000000 00000000000 15174635142 0024350 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project5/src/lib/commons/index.ts 0000664 0000000 0000000 00000000036 15174635142 0026026 0 ustar 00root root 0000000 0000000 export const DATA = 'mydata';
justkey007-tsc-alias-fb8387d/projects/project5/src/scope/ 0000775 0000000 0000000 00000000000 15174635142 0023240 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project5/src/scope/index.ts 0000664 0000000 0000000 00000000033 15174635142 0024713 0 ustar 00root root 0000000 0000000 export const SCOPE = 'me';
justkey007-tsc-alias-fb8387d/projects/project5/tsconfig.json 0000664 0000000 0000000 00000000701 15174635142 0024045 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"outDir": "dist",
"target": "es5",
"module": "commonjs",
"strictNullChecks": false,
"noImplicitAny": false,
"skipLibCheck": true,
"baseUrl": "./src",
"paths": {
"myproject/*": ["./*"],
"@me/myproject/*": ["./*"],
"@commons": ["lib/commons/index.ts"],
"custom/*": ["custom_modules/*"],
"extra": ["../../project2/index"]
}
},
"exclude": ["node_modules"]
}
justkey007-tsc-alias-fb8387d/projects/project6/ 0000775 0000000 0000000 00000000000 15174635142 0021341 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project6/package.json 0000664 0000000 0000000 00000000323 15174635142 0023625 0 ustar 00root root 0000000 0000000 {
"private": true,
"scripts": {
"build": "npm i && tsc && tsc-alias",
"start": "npm run build && node ./dist/index.js"
},
"dependencies": {
"@esfx/collections-hashmap": "^1.0.0-pre.17"
}
}
justkey007-tsc-alias-fb8387d/projects/project6/src/ 0000775 0000000 0000000 00000000000 15174635142 0022130 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project6/src/index.ts 0000664 0000000 0000000 00000000121 15174635142 0023601 0 ustar 00root root 0000000 0000000 import { HashMap } from '@esfx/collections-hashmap';
const map = new HashMap();
justkey007-tsc-alias-fb8387d/projects/project6/tsconfig.json 0000664 0000000 0000000 00000000221 15174635142 0024043 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"outDir": "dist",
"baseUrl": "./src",
"skipLibCheck": true,
"paths": {
"@/*": ["./*"]
}
}
}
justkey007-tsc-alias-fb8387d/projects/project7/ 0000775 0000000 0000000 00000000000 15174635142 0021342 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project7/package.json 0000664 0000000 0000000 00000000323 15174635142 0023626 0 ustar 00root root 0000000 0000000 {
"private": true,
"scripts": {
"build": "npm i && tsc && tsc-alias",
"start": "npm run build && node ./dist/project7/src/index.js"
},
"devDependencies": {
"@tsconfig/node14": "^1.0.0"
}
}
justkey007-tsc-alias-fb8387d/projects/project7/src/ 0000775 0000000 0000000 00000000000 15174635142 0022131 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project7/src/custom_modules/ 0000775 0000000 0000000 00000000000 15174635142 0025173 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project7/src/custom_modules/calculator.ts 0000664 0000000 0000000 00000000076 15174635142 0027677 0 ustar 00root root 0000000 0000000 export function add(a: number, b: number) {
return a + b;
}
justkey007-tsc-alias-fb8387d/projects/project7/src/custom_modules/index.ts 0000664 0000000 0000000 00000000056 15174635142 0026653 0 ustar 00root root 0000000 0000000 export const CUSTOM_MODULE = 'custom module';
justkey007-tsc-alias-fb8387d/projects/project7/src/index.ts 0000664 0000000 0000000 00000000321 15174635142 0023604 0 ustar 00root root 0000000 0000000 import { CUSTOM_MODULE } from 'custom/index';
import { EXTRA } from 'extra';
import { add } from 'myproject/custom_modules/calculator';
console.log(CUSTOM_MODULE);
console.log(EXTRA);
console.log(add(1, 2));
justkey007-tsc-alias-fb8387d/projects/project7/tsconfig.json 0000664 0000000 0000000 00000000713 15174635142 0024052 0 ustar 00root root 0000000 0000000 {
"extends": "@tsconfig/node14" /* from node_modules */,
"compilerOptions": {
"outDir": "dist",
"target": "es5",
"module": "commonjs",
"strictNullChecks": false,
"noImplicitAny": false,
"skipLibCheck": true,
"baseUrl": "./src",
"paths": {
"myproject/*": ["./*"],
"custom/*": ["custom_modules/*"],
"extra": ["../../project2/index"]
},
"resolveJsonModule": true
},
"exclude": ["node_modules"]
}
justkey007-tsc-alias-fb8387d/projects/project8/ 0000775 0000000 0000000 00000000000 15174635142 0021343 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project8/package.json 0000664 0000000 0000000 00000000177 15174635142 0023636 0 ustar 00root root 0000000 0000000 {
"private": true,
"scripts": {
"build": "tsc && tsc-alias",
"start": "npm run build && node ./dist/main.js"
}
}
justkey007-tsc-alias-fb8387d/projects/project8/src/ 0000775 0000000 0000000 00000000000 15174635142 0022132 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project8/src/api/ 0000775 0000000 0000000 00000000000 15174635142 0022703 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project8/src/api/invoice/ 0000775 0000000 0000000 00000000000 15174635142 0024337 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project8/src/api/invoice/invoice.service.ts 0000664 0000000 0000000 00000000155 15174635142 0030003 0 ustar 00root root 0000000 0000000 import { getdateString } from '@/utils';
export function generateInvoice() {
getdateString(new Date());
}
justkey007-tsc-alias-fb8387d/projects/project8/src/main.ts 0000664 0000000 0000000 00000000125 15174635142 0023424 0 ustar 00root root 0000000 0000000 import { generateInvoice } from './api/invoice/invoice.service';
generateInvoice();
justkey007-tsc-alias-fb8387d/projects/project8/src/utils/ 0000775 0000000 0000000 00000000000 15174635142 0023272 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project8/src/utils/index.ts 0000664 0000000 0000000 00000000110 15174635142 0024741 0 ustar 00root root 0000000 0000000 export function getdateString(date: Date) {
return date.toString();
}
justkey007-tsc-alias-fb8387d/projects/project8/tsconfig.json 0000664 0000000 0000000 00000000637 15174635142 0024060 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"resolveJsonModule": true,
"module": "commonjs",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "es2017",
"outDir": "./dist",
"skipLibCheck": true,
"baseUrl": "./",
"paths": {
"@/*": ["src/*"]
}
},
"include": ["src"]
}
justkey007-tsc-alias-fb8387d/projects/project9/ 0000775 0000000 0000000 00000000000 15174635142 0021344 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project9/package.json 0000664 0000000 0000000 00000000326 15174635142 0023633 0 ustar 00root root 0000000 0000000 {
"private": true,
"scripts": {
"build": "npm i && tsc && tsc-alias --resolve-full-paths",
"start": "npm run build && node ./dist/index.js"
},
"dependencies": {
"buffercursor.ts": "1.0.3"
}
}
justkey007-tsc-alias-fb8387d/projects/project9/src/ 0000775 0000000 0000000 00000000000 15174635142 0022133 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/projects/project9/src/index.ts 0000664 0000000 0000000 00000000465 15174635142 0023617 0 ustar 00root root 0000000 0000000 import { BufferCursor } from 'buffercursor.ts';
import { BufferCursor as BufferCursor1 } from '@cursor';
import { BufferCursor as BufferCursor2 } from '@cursor2';
const map = new BufferCursor(Buffer.alloc(0));
const map1 = new BufferCursor1(Buffer.alloc(0));
const map2 = new BufferCursor2(Buffer.alloc(0));
justkey007-tsc-alias-fb8387d/projects/project9/tsconfig.json 0000664 0000000 0000000 00000000415 15174635142 0024053 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"outDir": "dist",
"baseUrl": "./",
"skipLibCheck": true,
"paths": {
"@/*": ["./*"],
"@cursor": ["node_modules/buffercursor.ts/dist/index"],
"@cursor2": ["./node_modules/buffercursor.ts/dist/index"]
}
}
}
justkey007-tsc-alias-fb8387d/src/ 0000775 0000000 0000000 00000000000 15174635142 0016543 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/src/bin/ 0000775 0000000 0000000 00000000000 15174635142 0017313 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/src/bin/index.ts 0000775 0000000 0000000 00000003355 15174635142 0021003 0 ustar 00root root 0000000 0000000 #! /usr/bin/env node
import { Option, program } from 'commander';
import { replaceTscAliasPaths } from '..';
const { version } = require('../../package.json');
program
.name('tsc-alias')
.version(version)
.option('-p, --project ', 'path to tsconfig.json')
.option('-w, --watch', 'Observe file changes')
.option(
'--outDir, --dir ',
'Run in a folder leaving the "outDir" of the tsconfig.json (relative path to tsconfig)'
)
.option(
'-f, --resolve-full-paths',
'Attempt to fully resolve import paths if the corresponding .js file can be found'
)
.addOption(
new Option(
'-fe, --resolve-full-extension [ext]',
'Specify the extension of incomplete import paths, works with resolveFullPaths'
)
.choices(['.js', '.mjs', '.cjs'])
.default('.js')
)
.option(
'-s, --silent',
'Reduced terminal output (default: true) [deprecated]'
)
.option('-v, --verbose', 'Additional information is send to the terminal')
.option('--debug', 'Debug information is send to the terminal')
.option('-r, --replacer ', 'path to optional extra replacer')
.option('--inputglob ', 'Overwrite glob used for file scanning')
.option(
'--outputcheck ',
'Overwrite file extensions used for path resolution'
)
.parseAsync(process.argv);
const options = program.opts();
replaceTscAliasPaths({
resolveFullExtension: options.resolveFullExtension,
configFile: options.project,
watch: !!options.watch,
outDir: options.dir,
verbose: !!options.verbose,
debug: !!options.debug,
resolveFullPaths: !!options.resolveFullPaths,
replacers: options.replacer,
fileExtensions: {
inputGlob: options.inputglob,
outputCheck: options.outputcheck
}
});
justkey007-tsc-alias-fb8387d/src/helpers/ 0000775 0000000 0000000 00000000000 15174635142 0020205 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/src/helpers/config.ts 0000664 0000000 0000000 00000017424 15174635142 0022032 0 ustar 00root root 0000000 0000000 /**
* @file
*
* This file has all helperfunctions related to configuration.
*/
/** */
import { existsSync, lstatSync } from 'fs';
import { parseTsconfig, TsConfigJsonResolved } from 'get-tsconfig';
import { Dir, Json } from 'mylas';
import { basename, dirname, isAbsolute, join, resolve } from 'path';
import {
IConfig,
IOutput,
IProjectConfig,
ITSCAliasConfig,
ITSConfig,
ReplaceTscAliasPathsOptions
} from '../interfaces';
import { Output, PathCache, TrieNode } from '../utils';
import { importReplacers } from './replacers';
import normalizePath = require('normalize-path');
/**
* prepareConfig prepares a IConfig object for tsc-alias to be used.
* @param {ReplaceTscAliasPathsOptions} options options that are used to prepare a config object.
* @returns {Promise} a promise of a IConfig object.
*/
export async function prepareConfig(
options: ReplaceTscAliasPathsOptions
): Promise {
const output = options.output ?? new Output(options.verbose, options.debug);
const configFile = !options.configFile
? resolve(process.cwd(), 'tsconfig.json')
: !isAbsolute(options.configFile)
? resolve(process.cwd(), options.configFile)
: options.configFile;
output.assert(existsSync(configFile), `Invalid file path => ${configFile}`);
const {
baseUrl = '',
outDir,
declarationDir,
paths,
replacers,
resolveFullPaths,
verbose,
fileExtensions
} = loadConfig(configFile, output);
if (options?.fileExtensions?.inputGlob) {
fileExtensions.inputGlob = options.fileExtensions.inputGlob;
}
if (options?.fileExtensions?.outputCheck) {
fileExtensions.outputCheck = options.fileExtensions.outputCheck;
}
output.verbose = verbose;
if (options.resolveFullPaths || resolveFullPaths) {
output.debug('resolveFullPaths is active');
options.resolveFullPaths = true;
}
const _outDir = options.outDir ?? outDir;
if (declarationDir && _outDir !== declarationDir) {
options.declarationDir ??= declarationDir;
}
output.assert(_outDir, 'compilerOptions.outDir is not set');
const configDir: string = normalizePath(dirname(configFile));
// config with project details and paths
const projectConfig: IProjectConfig = {
configFile: configFile,
baseUrl: baseUrl,
outDir: _outDir,
configDir: configDir,
outPath: _outDir,
confDirParentFolderName: basename(configDir),
hasExtraModule: false,
configDirInOutPath: null,
relConfDirPathInOutPath: null,
pathCache: new PathCache(!options.watch, fileExtensions?.outputCheck),
inputGlob:
fileExtensions?.inputGlob || '{mjs,cjs,js,jsx,d.{mts,cts,ts,tsx}}'
};
output.debug('loaded project config:', projectConfig);
const config: IConfig = {
...projectConfig,
output: output,
aliasTrie:
options.aliasTrie ?? TrieNode.buildAliasTrie(projectConfig, paths),
replacers: []
};
output.debug('loaded full config:', config);
// Import replacers.
await importReplacers(config, replacers, options.replacers);
return config;
}
function replaceConfigDirPlaceholder(path: string, configDir: string) {
return path.replace(/\$\{configDir\}/g, configDir);
}
/**
* loadConfig loads a config file from fs.
* @param {string} file file path to the config file that will be loaded.
* @param {IOutput} output the output instance to log error to.
* @returns {ITSConfig} a ITSConfig object
*/
export const loadConfig = (
file: string,
output: IOutput,
baseConfigDir: string | null = null
): ITSConfig => {
if (!existsSync(file)) {
output.error(`File ${file} not found`, true);
}
output.debug('Loading config file:', file);
const tsConfig = parseTsconfig(file);
const baseTsConfig = Json.loadS(file, true);
const {
compilerOptions: { baseUrl, outDir, declarationDir, paths } = {
baseUrl: undefined,
outDir: undefined,
declarationDir: undefined,
paths: undefined
},
'tsc-alias': tscAliasConfig
} = tsConfig as TsConfigJsonResolved & { 'tsc-alias': ITSCAliasConfig };
const configDir = dirname(file);
output.debug('configDir', configDir);
const config: ITSConfig = {};
if (baseUrl) {
if (baseConfigDir !== null) {
config.baseUrl = replaceConfigDirPlaceholder(baseUrl, baseConfigDir);
} else {
config.baseUrl = baseUrl;
}
}
if (outDir || baseTsConfig?.compilerOptions?.outDir) {
let replacedOutDir = outDir || baseTsConfig?.compilerOptions?.outDir;
if (baseConfigDir !== null) {
replacedOutDir = replaceConfigDirPlaceholder(outDir, baseConfigDir);
}
config.outDir = isAbsolute(replacedOutDir)
? replacedOutDir
: join(configDir, replacedOutDir);
}
if (paths) {
if (baseConfigDir !== null) {
for (const key in paths) {
paths[key] = paths[key].map((path) =>
replaceConfigDirPlaceholder(path, baseConfigDir)
);
}
}
config.paths = paths;
}
if (declarationDir) {
let replacedDeclarationDir = declarationDir;
if (baseConfigDir !== null) {
replacedDeclarationDir = replaceConfigDirPlaceholder(
declarationDir,
baseConfigDir
);
}
config.declarationDir = isAbsolute(replacedDeclarationDir)
? replacedDeclarationDir
: join(configDir, replacedDeclarationDir);
}
if (tscAliasConfig?.replacers) {
config.replacers = tscAliasConfig.replacers;
}
if (tscAliasConfig?.resolveFullPaths) {
config.resolveFullPaths = tscAliasConfig.resolveFullPaths;
}
if (tscAliasConfig?.verbose) {
config.verbose = tscAliasConfig.verbose;
}
config.fileExtensions = tscAliasConfig?.fileExtensions ?? {};
const replacerFile = config.replacers?.pathReplacer?.file;
if (replacerFile) {
config.replacers.pathReplacer.file = join(configDir, replacerFile);
}
output.debug('loaded config (from file):', config);
return config;
};
/**
* normalizeTsConfigExtendsOption normalizes tsconfig extends option to a directly loadable path array
* @param { string|string[] } ext
* @param { string } file
* @returns {string[]}
*/
export function normalizeTsConfigExtendsOption(
ext: string | string[],
file: string
): string[] {
if (!ext) return [];
const configDir = dirname(file);
const normExts = (Array.isArray(ext) ? ext : [ext]).map((e) =>
e.startsWith('.')
? join(configDir, e.endsWith('.json') ? e : `${e}.json`)
: resolveTsConfigExtendsPath(e, file)
);
return normExts;
}
/**
* resolveTsConfigExtendsPath resolves the path to the config file that is being inherited.
* @param {string} ext the value of the extends field in the loaded config file.
* @param {string} file file path to the config file that was loaded.
* @returns {string} a file path to the config file that is being inherited.
*/
export function resolveTsConfigExtendsPath(ext: string, file: string): string {
const tsConfigDir = dirname(file);
const node_modules: string[] = Dir.nodeModules({ cwd: tsConfigDir }); // Getting all node_modules directories.
const targetPaths = node_modules.map((v) => join(tsConfigDir, v, ext)); // Mapping node_modules to target paths.
// Recursively checking ancestor directories for tsconfig.
for (const targetPath of targetPaths) {
if (ext.endsWith('.json')) {
// Check if the file exists.
if (existsSync(targetPath)) {
return targetPath;
} else {
continue; // Continue checking when ext is a file but not yet found.
}
}
let isDirectory = false;
try {
const stats = lstatSync(targetPath);
isDirectory = stats.isDirectory() || stats.isSymbolicLink();
} catch (err) {}
if (isDirectory) {
return join(targetPath, 'tsconfig.json');
} else {
// When target is not a file nor directory check with '.json' extension.
if (existsSync(`${targetPath}.json`)) {
return `${targetPath}.json`;
}
}
}
}
justkey007-tsc-alias-fb8387d/src/helpers/index.ts 0000664 0000000 0000000 00000000117 15174635142 0021663 0 ustar 00root root 0000000 0000000 export * from './config';
export * from './path';
export * from './replacers';
justkey007-tsc-alias-fb8387d/src/helpers/path.ts 0000664 0000000 0000000 00000007645 15174635142 0021525 0 ustar 00root root 0000000 0000000 /**
* @file
*
* This file has all helperfunctions related to path resolution.
*/
/** */
import normalizePath = require('normalize-path');
import { sync } from 'globby';
import { normalize, relative, resolve } from 'path';
import { AliasPath, IProjectConfig } from '../interfaces';
/**
* getProjectDirPathInOutDir finds the configDirInOutPath.
* @param {string} outDir outDir loaded from tsconfig.
* @param {string} projectDir projectDir loaded from tsconfig.
* @returns {string} the configDirInOutPath.
*/
function getProjectDirPathInOutDir(
outDir: string,
projectDir: string
): string | undefined {
const posixOutput = outDir.replace(/\\/g, '/');
const dirs = sync(
[
`${posixOutput}/**/${projectDir}`,
`!${posixOutput}/**/${projectDir}/**/${projectDir}`,
`!${posixOutput}/**/node_modules`
],
{
dot: true,
onlyDirectories: true
}
);
// Find the longest path
return dirs.reduce(
(prev, curr) =>
prev.split('/').length > curr.split('/').length ? prev : curr,
dirs[0]
);
}
/**
* relativeOutPathToConfigDir
* Finds relative path access of configDir in outPath
*/
export function relativeOutPathToConfigDir(config: IProjectConfig) {
config.configDirInOutPath = getProjectDirPathInOutDir(
config.outPath,
config.confDirParentFolderName
);
// Find relative path access of configDir in outPath
if (config.configDirInOutPath) {
config.hasExtraModule = true;
const stepsbackPath = relative(config.configDirInOutPath, config.outPath);
const splitStepBackPath = normalizePath(stepsbackPath).split('/');
const nbOfStepBack = splitStepBackPath.length;
const splitConfDirInOutPath = config.configDirInOutPath.split('/');
let i = 1;
const splitRelPath: string[] = [];
while (i <= nbOfStepBack) {
splitRelPath.unshift(
splitConfDirInOutPath[splitConfDirInOutPath.length - i]
);
i++;
}
config.relConfDirPathInOutPath = splitRelPath.join('/');
}
}
/**
* findBasePathOfAlias finds a basepath for every AliasPath.
* And checks if isExtra should be true or false.
* @param {IProjectConfig} config config object with all config values.
*/
export function findBasePathOfAlias(config: IProjectConfig) {
return (path: string) => {
const aliasPath = { path } as AliasPath;
// If it's an alias that references a file outside the baseUrl
if (normalize(aliasPath.path).includes('..')) {
const tempBasePath = normalizePath(
normalize(
`${config.outDir}/` +
`${
config.hasExtraModule && config.relConfDirPathInOutPath
? config.relConfDirPathInOutPath
: ''
}/${config.baseUrl}`
)
);
const absoluteBasePath = normalizePath(
normalize(`${tempBasePath}/${aliasPath.path}`)
);
if (config.pathCache.existsResolvedAlias(absoluteBasePath)) {
aliasPath.isExtra = false;
aliasPath.basePath = tempBasePath;
} else {
aliasPath.isExtra = true;
aliasPath.basePath = absoluteBasePath;
}
return aliasPath;
}
/**
* If the alias refers to a file in the node_modules folder
* located at the same level of baseUrl.
* Because typescript will not include the node_modules
* folder in the output folder (outDir).
*/
if (aliasPath.path.match(/^(\.\/|)node_modules/g)) {
aliasPath.basePath = resolve(config.baseUrl, 'node_modules');
aliasPath.isExtra = false;
return aliasPath;
}
// If the project references another external project
if (config.hasExtraModule) {
aliasPath.isExtra = false;
aliasPath.basePath = normalizePath(
normalize(
`${config.outDir}/` +
`${config.relConfDirPathInOutPath}/${config.baseUrl}`
)
);
return aliasPath;
}
aliasPath.basePath = config.outDir;
aliasPath.isExtra = false;
return aliasPath;
};
}
justkey007-tsc-alias-fb8387d/src/helpers/replacers.ts 0000664 0000000 0000000 00000012730 15174635142 0022540 0 ustar 00root root 0000000 0000000 /**
* @file
*
* This file has all helperfunctions related to replacing.
*/
/** */
import { existsSync, promises as fsp } from 'fs';
import { Dir } from 'mylas';
import { isAbsolute, join } from 'path';
import { IConfig, ReplacerOptions } from '../interfaces';
import { replaceSourceImportPaths, resolveFullImportPaths } from '../utils';
import normalizePath = require('normalize-path');
/**
* importReplacers imports replacers for tsc-alias to use.
* @param {IConfig} config the tsc-alias config object.
* @param {ReplacerOptions} replacers the tsc-alias replacer options.
* @param {string[]} cmdReplacers array of filepaths to replacers from command-line.
*/
export async function importReplacers(
config: IConfig,
replacers: ReplacerOptions,
cmdReplacers?: string[]
) {
config.output.debug('Started loading replacers');
const dir = process.cwd();
const node_modules: string[] = Dir.nodeModules({ cwd: dir });
config.output.debug('Found node_modules:', node_modules);
// List of default replacers.
const defaultReplacers: ReplacerOptions = {
default: {
enabled: true
},
'base-url': {
enabled: !!config.baseUrl
}
};
// List of all replacers.
let merged: ReplacerOptions = {
...defaultReplacers,
...replacers
};
// Added replacers to list from command-line filepaths.
config.output.debug(
'Added replacers to list from command-line filepaths:',
cmdReplacers
);
cmdReplacers?.forEach((v) => {
merged[v] = {
enabled: true,
file: v
};
});
config.output.debug('Reading replacers config');
const entries = Object.entries(merged);
for await (const replacer of entries) {
if (replacer[1].enabled) {
// Importing default replacers.
if (Object.keys(defaultReplacers).includes(replacer[0])) {
config.output.debug('Loading default replacer:', replacer);
const replacerModule = await import(
`../replacers/${replacer[0]}.replacer`
);
config.replacers.push(replacerModule.default);
}
const file = replacer[1]?.file;
if (!file) {
config.output.debug('Replacer has no file:', replacer);
continue; // When file is undefined don't try to import.
}
// Try to import replacer.
const tryImportReplacer = async (targetPath: string) => {
const replacerModule = await import(targetPath);
config.output.debug('Imported replacerModule:', replacerModule);
const replacerFunction = replacerModule.default;
if (typeof replacerFunction == 'function') {
config.replacers.push(replacerFunction);
config.output.info(`Added replacer "${file}"`);
} else {
config.output.error(
`Failed to import replacer "${file}", not in replacer format.`
);
}
};
// Look for replacer in cwd.
const isRelativePath = !isAbsolute(file);
const path = isRelativePath ? normalizePath(join(dir, file)) : file;
if (existsSync(path)) {
try {
await tryImportReplacer(path);
config.output.debug('Imported replacer:', path);
continue;
} catch {}
}
// Look for replacer in node_modules.
if (isRelativePath) {
for (const targetPath of node_modules.map((v) => join(dir, v, file))) {
try {
await tryImportReplacer(targetPath);
config.output.debug('Imported replacer:', targetPath);
continue;
} catch {}
}
}
config.output.error(`Failed to import replacer "${file}"`);
}
}
config.output.debug('Loaded replacers:', config.replacers);
}
/**
* replaceAlias replaces aliases in file.
* @param {IConfig} config configuration
* @param {string} file file to replace aliases in.
* @param {boolean} resolveFullPath if tsc-alias should resolve the full path
* @returns {Promise} if something has been replaced.
*/
export async function replaceAlias(
config: IConfig,
file: string,
resolveFullPath?: boolean,
resolveFullExtension?: string
): Promise {
config.output.debug('Starting to replace file:', file);
const code = await fsp.readFile(file, 'utf8');
const tempCode = replaceAliasString(
config,
file,
code,
resolveFullPath,
resolveFullExtension
);
if (code !== tempCode) {
config.output.debug('replaced file with changes:', file);
await fsp.writeFile(file, tempCode, 'utf8');
return true;
}
config.output.debug('replaced file without changes:', file);
return false;
}
/**
* replaceAliasString replaces aliases in the given code content and returns the changed code.
* @param {IConfig} config configuration
* @param {string} file path of the file to replace aliases in.
* @param {string} code contents of the file to replace aliases in.
* @param {boolean} resolveFullPath if tsc-alias should resolve the full path
* @returns {string} content of the file with any replacements possible applied.
*/
export function replaceAliasString(
config: IConfig,
file: string,
code: string,
resolveFullPath?: boolean,
resolveFullExtension?: string
): string {
config.replacers.forEach((replacer) => {
code = replaceSourceImportPaths(code, file, (orig) =>
replacer({
orig,
file,
config
})
);
});
// Fully resolve all import paths (not just aliased ones)
// *after* the aliases are resolved
if (resolveFullPath) {
code = resolveFullImportPaths(code, file, resolveFullExtension);
}
return code;
}
justkey007-tsc-alias-fb8387d/src/index.ts 0000664 0000000 0000000 00000006570 15174635142 0020232 0 ustar 00root root 0000000 0000000 import { watch } from 'chokidar';
import { sync } from 'globby';
import { pLimit } from 'plimit-lit';
import { prepareConfig, replaceAlias, replaceAliasString } from './helpers';
import {
AliasReplacer,
AliasReplacerArguments,
IConfig,
IOutput,
IProjectConfig,
ReplaceTscAliasPathsOptions
} from './interfaces';
// export interfaces for api use.
export {
ReplaceTscAliasPathsOptions,
AliasReplacer,
AliasReplacerArguments,
IConfig,
IProjectConfig,
IOutput
};
const defaultConfig = {
watch: false,
verbose: false,
debug: false,
declarationDir: undefined,
output: undefined,
aliasTrie: undefined
};
const OpenFilesLimit = pLimit(500);
/**
* replaceTscAliasPaths replaces the aliases in the project.
* @param {ReplaceTscAliasPathsOptions} options tsc-alias options.
*/
export async function replaceTscAliasPaths(
options: ReplaceTscAliasPathsOptions = { ...defaultConfig }
) {
const config = await prepareConfig(options);
const output = config.output;
// Finding files and changing alias paths
const posixOutput = config.outPath.replace(/\\/g, '/').replace(/\/+$/g, '');
const globPattern = [
`${posixOutput}/**/*.${config.inputGlob}`,
`!${posixOutput}/**/node_modules`
];
output.debug('Search pattern:', globPattern);
const files = sync(globPattern, {
dot: true,
onlyFiles: true
});
output.debug('Found files:', files);
// Make array with promises for file changes
// Wait for all promises to resolve
const replaceList = await Promise.all(
files.map((file) =>
OpenFilesLimit(() =>
replaceAlias(
config,
file,
options?.resolveFullPaths,
options?.resolveFullExtension
)
)
)
);
// Count all changed files
const replaceCount = replaceList.filter(Boolean).length;
output.info(`${replaceCount} files were affected!`);
if (options.watch) {
output.verbose = true;
output.info('[Watching for file changes...]');
const filesWatcher = watch(globPattern);
const tsconfigWatcher = watch(config.configFile);
const onFileChange = async (file: string) =>
await replaceAlias(config, file, options?.resolveFullPaths);
filesWatcher.on('add', onFileChange);
filesWatcher.on('change', onFileChange);
tsconfigWatcher.on('change', () => {
output.clear();
filesWatcher.close();
tsconfigWatcher.close();
replaceTscAliasPaths(options);
});
}
if (options.declarationDir) {
replaceTscAliasPaths({
...options,
outDir: options.declarationDir,
declarationDir: undefined,
output: config.output,
aliasTrie: undefined
});
}
}
export type SingleFileReplacer = (input: {
fileContents: string;
filePath: string;
}) => string;
/**
* prepareSingleFileReplaceTscAliasPaths prepares a SingleFileReplacer.
* @param {ReplaceTscAliasPathsOptions} options tsc-alias options.
* @returns {Promise} a SingleFileReplacer to use for replacing aliases in a single file.
*/
export async function prepareSingleFileReplaceTscAliasPaths(
options: ReplaceTscAliasPathsOptions = { ...defaultConfig }
): Promise {
const config = await prepareConfig(options);
return ({ fileContents, filePath }) => {
return replaceAliasString(
config,
filePath,
fileContents,
options?.resolveFullPaths,
options?.resolveFullExtension
);
};
}
justkey007-tsc-alias-fb8387d/src/interfaces.ts 0000664 0000000 0000000 00000005604 15174635142 0021243 0 ustar 00root root 0000000 0000000 import { PathCache, TrieNode } from './utils';
export interface ITSCAliasConfig {
replacers?: ReplacerOptions;
resolveFullPaths?: boolean;
verbose?: boolean;
fileExtensions?: Partial;
}
export type PathLike = {
[key: string]: string[];
};
export type StringReplacer = (importStatement: string) => string;
export interface FileExtensions {
inputGlob: string;
outputCheck: string[];
}
export interface ITSConfig {
baseUrl?: string;
outDir?: string;
declarationDir?: string;
paths?: PathLike;
replacers?: ReplacerOptions;
resolveFullPaths?: boolean;
verbose?: boolean;
fileExtensions?: Partial;
}
export interface IProjectConfig {
configFile: string;
baseUrl: string;
outDir: string;
configDir: string;
outPath: string;
confDirParentFolderName: string;
hasExtraModule: boolean;
configDirInOutPath: string;
relConfDirPathInOutPath: string;
pathCache: PathCache;
inputGlob: string;
}
export interface IConfig extends IProjectConfig {
output: IOutput;
aliasTrie: TrieNode;
replacers: AliasReplacer[];
}
export interface ReplaceTscAliasPathsOptions {
configFile?: string;
outDir?: string;
declarationDir?: string;
watch?: boolean;
verbose?: boolean;
debug?: boolean;
resolveFullPaths?: boolean;
resolveFullExtension?: '.js' | '.mjs' | '.cjs';
replacers?: string[];
output?: IOutput;
aliasTrie?: TrieNode;
fileExtensions?: Partial;
}
export interface Alias {
shouldPrefixMatchWildly: boolean;
prefix: string;
paths: AliasPath[];
}
export interface AliasPath {
basePath: string;
path: string;
isExtra: boolean;
}
export interface AliasReplacerArguments {
orig: string;
file: string;
config: IConfig;
}
export type AliasReplacer = (args: AliasReplacerArguments) => string;
export interface ReplacerOptions {
[key: string]: {
enabled: boolean;
file?: string;
};
}
export interface IOutput {
/**
* verbose value sets if the output should act verbose.
*/
verbose: boolean;
/**
* debug logs a message on the debug level.
* @param {string} message message to log.
*/
debug: (message: string, obj?: unknown) => void;
/**
* info logs a message on the info level.
* @param {string} message message to log.
*/
info(message: string): void;
/**
* error logs a message on the error level and may exit the process.
* @param {string} message message to log.
* @param {boolean} exitProcess if process should exit after this error.
*/
error(message: string, exitProcess?: boolean): void;
/**
* clear clears the displayed logs.
*/
clear(): void;
/**
* assert claim an assertion when it fails an error is logged
* and the process exited.
* @param {unknown} claim assertion that is being claimed.
* @param {string} message message to log when claim fails.
*/
assert(claim: unknown, message: string): void;
}
justkey007-tsc-alias-fb8387d/src/replacers/ 0000775 0000000 0000000 00000000000 15174635142 0020523 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/src/replacers/base-url.replacer.ts 0000664 0000000 0000000 00000003552 15174635142 0024406 0 ustar 00root root 0000000 0000000 /**
* @file
*
* The baseUrl replacer replaces the import statement
* with the baseUrl + import statement location.
*/
/** */
import normalizePath = require('normalize-path');
import { dirname, relative } from 'path';
import { AliasReplacerArguments } from '../interfaces';
import { newStringRegex } from '../utils';
export default function replaceBaseUrlImport({
orig,
file,
config
}: AliasReplacerArguments): string {
const requiredModule = orig.match(newStringRegex())?.groups?.path;
config.output.debug('base-url replacer - requiredModule: ', requiredModule);
config.output.assert(
typeof requiredModule == 'string',
`Unexpected import statement pattern ${orig}`
);
// Check if import is already resolved.
if (requiredModule.startsWith('.')) {
config.output.debug('base-url replacer - already resolved');
return orig;
}
// If there are files matching the target, resolve the path.
if (
config.pathCache.existsResolvedAlias(`${config.outPath}/${requiredModule}`)
) {
let relativePath: string = normalizePath(
relative(
dirname(file),
config.pathCache
.getAbsoluteAliasPath(config.outPath, '')
.replace('---', '')
)
);
if (!relativePath.startsWith('.')) {
relativePath = './' + relativePath;
}
config.output.debug('base-url replacer - relativePath: ', relativePath);
const index = orig.indexOf(requiredModule);
const newImportScript =
orig.substring(0, index) + relativePath + '/' + orig.substring(index);
config.output.debug(
'base-url replacer - newImportScript: ',
newImportScript
);
const modulePath = newImportScript.match(newStringRegex()).groups.path;
config.output.debug('base-url replacer - modulePath: ', modulePath);
return newImportScript.replace(modulePath, normalizePath(modulePath));
}
return orig;
}
justkey007-tsc-alias-fb8387d/src/replacers/default.replacer.ts 0000664 0000000 0000000 00000007404 15174635142 0024320 0 ustar 00root root 0000000 0000000 /**
* @file
*
* The default replacer replaces the alias in an import statement
* with the proper aliased location.
*/
/** */
import normalizePath = require('normalize-path');
import { dirname, relative } from 'path';
import { Alias, AliasReplacerArguments } from '../interfaces';
import { newStringRegex } from '../utils';
function escapeSpecialChars(str: string) {
return str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
}
function getAliasPrefixRegExp(alias: Alias) {
return new RegExp(
`(?:^${escapeSpecialChars(alias.prefix)})|(?:\\.(js|ts|json)$)`,
'g'
);
}
function removeAliasPrefix(requiredModule: string, alias: Alias) {
return requiredModule.replace(getAliasPrefixRegExp(alias), '');
}
export default function replaceImportStatement({
orig,
file,
config
}: AliasReplacerArguments) {
const requiredModule = orig.match(newStringRegex())?.groups?.path;
config.output.debug('default replacer - requiredModule: ', requiredModule);
config.output.assert(
typeof requiredModule == 'string',
`Unexpected import statement pattern ${orig}`
);
// Lookup which alias should be used for this given requiredModule.
const alias = config.aliasTrie.search(requiredModule);
config.output.debug('default replacer - alias: ', alias);
// If an alias isn't found the original.
if (!alias) return orig;
const isAlias = alias.shouldPrefixMatchWildly
? // if the alias is like alias*
// beware that typescript expects requiredModule be more than just alias
requiredModule.startsWith(alias.prefix) && requiredModule !== alias.prefix
: // need to be a bit more careful if the alias doesn't ended with a *
// in this case the statement must be like either
// require('alias') or require('alias/path');
// but not require('aliaspath');
requiredModule === alias.prefix ||
requiredModule.startsWith(alias.prefix + '/');
if (isAlias) {
for (let i = 0; i < alias.paths.length; i++) {
let absoluteAliasPath = config.pathCache.getAbsoluteAliasPath(
alias.paths[i].basePath,
alias.paths[i].path
);
config.output.debug(
'default replacer - absoluteAliasPath: ',
absoluteAliasPath
);
if (absoluteAliasPath.startsWith('---')) {
if (i === alias.paths.length - 1) {
absoluteAliasPath = absoluteAliasPath.replace('---', '');
} else {
continue;
}
}
// Check if path is valid.
if (
!config.pathCache.existsResolvedAlias(
alias.prefix.length == requiredModule.length
? normalizePath(absoluteAliasPath)
: normalizePath(
`${absoluteAliasPath}/${removeAliasPrefix(
requiredModule,
alias
)}`
)
)
) {
config.output.debug('default replacer - Invalid path');
continue;
}
let relativeAliasPath: string = normalizePath(
relative(dirname(file), absoluteAliasPath)
);
if (!relativeAliasPath.startsWith('.')) {
relativeAliasPath = './' + relativeAliasPath;
}
config.output.debug(
'default replacer - relativeAliasPath: ',
relativeAliasPath
);
const index = orig.indexOf(alias.prefix);
const newImportScript =
orig.substring(0, index) +
relativeAliasPath +
'/' +
orig.substring(index + alias.prefix.length);
config.output.debug(
'default replacer - newImportScript: ',
newImportScript
);
const modulePath = newImportScript.match(newStringRegex()).groups.path;
config.output.debug('default replacer - modulePath: ', modulePath);
return newImportScript.replace(modulePath, normalizePath(modulePath));
}
}
return orig;
}
justkey007-tsc-alias-fb8387d/src/utils/ 0000775 0000000 0000000 00000000000 15174635142 0017703 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/src/utils/import-path-resolver.ts 0000664 0000000 0000000 00000012042 15174635142 0024355 0 ustar 00root root 0000000 0000000 /**
* @file
*
* Import statements come in a lot of flavors, so having a single
* regex that can capture all of those with minimal side effects
* is trickly. In this file this regex is constructed from multiple parts.
*
* Using a named captured group (supported in ES2018/Node 10+)
* to allow arbitrary complexity of the regex without worrying
* about messing up indexing.
*
* Meant to match ESM/CommonJS import patterns.
*
* ⚠ Can match content of strings and comments!
*
* @example
* // Examples of import statements that must be matched
* // (Note that there could be newlines between tokens.)
* const module = require('some/path')
* import module from 'some/path'
* import "some/path"
* import theDefault, {namedExport} from 'some/path'
* const asyncImport = await import('some/path')
* export * from 'some/path';
*/
/** */
import normalizePath = require('normalize-path');
import { existsSync } from 'fs';
import { dirname, join, resolve } from 'path';
import { StringReplacer } from '../interfaces';
const anyQuote = `["']`;
const pathStringContent = `[^"'\r\n]+`;
const importString = `(?:${anyQuote}${pathStringContent}${anyQuote})`;
// Separate patterns for each style of import statement,
// wrapped in non-capturing groups,
// so that they can be strung together in one big pattern.
const funcStyle = `(?:\\b(?:import|require)\\s*\\(\\s*(\\/\\*.*\\*\\/\\s*)?${importString}\\s*\\))`;
const globalStyle = `(?:\\bimport\\s+${importString})`;
const globalMinimizedStyle = `(?:\\bimport${importString})`;
const fromStyle = `(?:\\bfrom\\s+${importString})`;
const fromMinimizedStyle = `(?:\\bfrom${importString})`;
const moduleStyle = `(?:\\bmodule\\s+${importString})`;
const importRegexString = `(?:${[
funcStyle,
globalStyle,
globalMinimizedStyle,
fromStyle,
fromMinimizedStyle,
moduleStyle
].join(`|`)})`;
class ImportPathResolver {
constructor(public source: string, readonly sourcePath: string) {}
get sourceDir() {
return dirname(this.sourcePath);
}
/**
* Replace all source import paths, using a replacer
* function (a la `String.prototype.replace(globalRegex,replacer)`)
*/
replaceSourceImportPaths(replacer: StringReplacer) {
this.source = this.source.replace(
ImportPathResolver.newImportStatementRegex('g'),
replacer
);
return this;
}
/**
* For a JavaScript code string, find all local import paths
* and resolve them to full filenames (including the .js extension).
* If no matching file is found for a path, leave it alone.
*/
resolveFullImportPaths(ext = '.js') {
this.replaceSourceImportPaths((importStatement) => {
// Find substring that is just quotes
const importPathMatch = importStatement.match(newStringRegex());
if (!importPathMatch) {
return importStatement;
}
const { path, pathWithQuotes } = importPathMatch.groups;
const fullPath = normalizePath(this.resolveFullPath(path, ext));
return importStatement.replace(
pathWithQuotes,
pathWithQuotes.replace(path, fullPath)
);
});
return this;
}
/**
* Given an import path, resolve the full path (including extension).
* If no corresponding file can be found, return the original path.
*/
private resolveFullPath(importPath: string, ext = '.js') {
// If bare import or already a full path import
if (
!importPath.startsWith('.') ||
importPath.match(new RegExp(`\${ext}$`))
) {
return importPath;
}
// Try adding the extension (if not obviously a directory)
if (!importPath.match(/[/\\]$/)) {
const asFilePath = `${importPath}${ext}`;
if (existsSync(resolve(this.sourceDir, asFilePath))) {
return asFilePath;
}
}
// Assume the path is a folder; try adding index.js
let asFilePath = join(importPath, 'index' + ext);
if (
(importPath.startsWith('./') || importPath === '.') &&
!asFilePath.startsWith('./')
) {
asFilePath = './' + asFilePath;
}
return existsSync(resolve(this.sourceDir, asFilePath))
? asFilePath
: importPath;
}
static newStringRegex() {
return new RegExp(
`(?${anyQuote}(?${pathStringContent})${anyQuote})`
);
}
static newImportStatementRegex(flags = '') {
return new RegExp(importRegexString, flags);
}
static resolveFullImportPaths(code: string, path: string, ext = '.js') {
return new ImportPathResolver(code, path).resolveFullImportPaths(ext)
.source;
}
static replaceSourceImportPaths(
code: string,
path: string,
replacer: StringReplacer
) {
return new ImportPathResolver(code, path).replaceSourceImportPaths(replacer)
.source;
}
}
// Export aliases for the static functions
// to make usage more friendly.
export const resolveFullImportPaths = ImportPathResolver.resolveFullImportPaths;
export const newImportStatementRegex =
ImportPathResolver.newImportStatementRegex;
export const replaceSourceImportPaths =
ImportPathResolver.replaceSourceImportPaths;
export const newStringRegex = ImportPathResolver.newStringRegex;
justkey007-tsc-alias-fb8387d/src/utils/index.ts 0000664 0000000 0000000 00000000170 15174635142 0021360 0 ustar 00root root 0000000 0000000 export * from './import-path-resolver';
export * from './output';
export * from './path-cache';
export * from './trie';
justkey007-tsc-alias-fb8387d/src/utils/output.ts 0000664 0000000 0000000 00000002622 15174635142 0021615 0 ustar 00root root 0000000 0000000 /**
* @file
*
* Keeping formatting consistent in large projects is difficult.
* That's why this output class exists, it is used to standardize
* logging and assertions.
*/
/** */
import { IOutput } from '../interfaces';
import { inspect } from 'util';
export class Output implements IOutput {
// Default empty
debug = (message: string, obj?: unknown) => {};
constructor(private verb = false, debugMode = false) {
if (debugMode) {
// When in debug mode. Add debug function.
this.debug = (message: string, obj?: unknown) => {
console.debug(
`tsc-alias debug: ${message} ${
obj
? inspect(obj, {
showHidden: true,
depth: Infinity,
colors: true
})
: ''
}`
);
};
}
}
public set verbose(value: boolean) {
if (value) {
this.verb = value;
}
}
info(message: string) {
if (!this.verb) return;
console.log(`tsc-alias info: ${message}`);
}
error(message: string, exitProcess = false) {
console.error(
//[BgRed]tsc-alias error:[Reset] [FgRed_]${message}[Reset]
`\x1b[41mtsc-alias error:\x1b[0m \x1b[31m${message}\x1b[0m`
);
if (exitProcess) process.exit(1);
}
clear() {
console.clear();
}
assert(claim: unknown, message: string) {
claim || this.error(message, true);
}
}
justkey007-tsc-alias-fb8387d/src/utils/path-cache.ts 0000664 0000000 0000000 00000006262 15174635142 0022256 0 ustar 00root root 0000000 0000000 /**
* @file
*
* The PathCache class is meant to cache path lookups like
* exists and getAbsoluteAliasPath.
*/
/** */
import { existsSync } from 'fs';
import { join } from 'path';
export class PathCache {
useCache: boolean;
existsCache: Map;
absoluteCache: Map;
fileExtensions: string[];
constructor(useCache: boolean, fileExtensions?: string[]) {
this.fileExtensions = fileExtensions || [
'js',
'json',
'jsx',
'cjs',
'mjs',
'd.ts',
'd.tsx',
'd.cts',
'd.mts'
];
this.useCache = useCache;
if (useCache) {
this.existsCache = new Map();
this.absoluteCache = new Map();
}
}
/**
* existsResolvedAlias checks if file exists, uses cache when possible.
* @param {string} path the filepath to check.
* @returns {boolean} result of check.
*/
public existsResolvedAlias(path: string): boolean {
if (!this.useCache) return this.exists(path);
if (this.existsCache.has(path)) {
return this.existsCache.get(path);
} else {
const result = this.exists(path);
this.existsCache.set(path, result);
return result;
}
}
/**
* getAbsoluteAliasPath finds the absolute alias path, uses cache when possible.
* @param {string} basePath the basepath of the alias.
* @param {string} aliasPath the aliaspath of the alias.
* @returns {string} the absolute alias path.
*/
public getAbsoluteAliasPath(basePath: string, aliasPath: string): string {
const request = { basePath, aliasPath };
if (!this.useCache) return this.getAAP(request);
if (this.absoluteCache.has(this.getCacheKey(request))) {
return this.absoluteCache.get(this.getCacheKey(request));
} else {
const result = this.getAAP(request);
this.absoluteCache.set(this.getCacheKey(request), result);
return result;
}
}
private getCacheKey({
basePath,
aliasPath
}: {
basePath: string;
aliasPath: string;
}): string {
return `${basePath}___${aliasPath}`;
}
/**
* getAAP finds the absolute alias path.
* @param {string} basePath the basepath of the alias.
* @param {string} aliasPath the aliaspath of the alias.
* @returns {string} the absolute alias path.
*/
private getAAP({
basePath,
aliasPath
}: {
basePath: string;
aliasPath: string;
}): string {
const aliasPathParts = aliasPath
.split('/')
.filter((part) => !part.match(/^\.$|^\s*$/));
let aliasPathPart = aliasPathParts.shift() || '';
let pathExists = false;
while (
!(pathExists = this.exists(join(basePath, aliasPathPart))) &&
aliasPathParts.length
) {
aliasPathPart = aliasPathParts.shift();
}
if (pathExists) {
return join(basePath, aliasPathPart, aliasPathParts.join('/'));
}
return '---' + join(basePath, aliasPathParts.join('/'));
}
/**
* exists checks if file exists.
* @param path the filepath to check.
* @returns {boolean} result of check.
*/
private exists(path: string): boolean {
return (
existsSync(path) ||
this.fileExtensions.some((extension) =>
existsSync(`${path}.${extension}`)
)
);
}
}
justkey007-tsc-alias-fb8387d/src/utils/trie.ts 0000664 0000000 0000000 00000010310 15174635142 0021211 0 ustar 00root root 0000000 0000000 /**
* @file
*
* The TrieNode class is a prefix tree.
* [Trie](https://en.wikipedia.org/wiki/Trie)
*
* This is a tree data structure used for locating specific keys
* from within a set. The links between nodes defined by individual characters.
* A node's position in the trie defines the key with which it is associated.
* This distributes the value of each key across the data structure,
* and means that not every node necessarily has an associated value.
*/
/** */
import { isAbsolute, normalize, relative, resolve } from 'path';
import { findBasePathOfAlias, relativeOutPathToConfigDir } from '../helpers';
import { Alias, IProjectConfig, PathLike } from '../interfaces';
export class TrieNode {
private children: Map>;
public data: T | null;
constructor() {
this.children = new Map();
this.data = null;
}
/**
* add adds an alias to the prefix tree.
* @param {string} name the prefix of the alias.
* @param {T} data the alias data.
* @returns {void}.
*/
public add(name: string, data: T): void {
if (name.length <= 0) return;
const node = this.children.has(name[0])
? this.children.get(name[0])
: new TrieNode();
if (name.length == 1) {
node.data = data;
} else {
node.add(name.substring(1), data);
}
this.children.set(name[0], node);
}
/**
* search searches the prefix tree for the most correct alias data for a given prefix.
* @param {string} name the prefix to search for.
* @returns {T | null} the alias data or null.
*/
public search(name: string): T | null {
if (name.length <= 0) return null;
const node = this.children.get(name[0]);
return node
? name.length == 1
? node.data
: node.search(name.substring(1)) ?? node.data
: this.data;
}
/**
* buildAliasTrie builds an alias trie
* @param {IProjectConfig} config projectConfig is an object with config details
* @param {PathLike} paths optional the paths to put into the trie
* @returns {TrieNode} a TrieNode with the paths/aliases inside
*/
static buildAliasTrie(
config: IProjectConfig,
paths?: PathLike
): TrieNode {
const aliasTrie = new this();
if (paths) {
Object.keys(paths)
.map((alias) => {
return {
shouldPrefixMatchWildly: alias.endsWith('*'),
prefix: alias.replace(/\*$/, ''),
// Normalize paths.
paths: paths[alias].map((path) => {
path = path.replace(/\*$/, '');
const dotIndex = path.lastIndexOf('.');
const beforeDot = path.slice(0, dotIndex);
const afterDot = path.slice(dotIndex);
// Refuse to normalize extensions for paths that look like "a.b/c" or "a.b\c".
// Even if the current system is Linux the original author could've written a Windows path.
if (!afterDot.includes('/') && !afterDot.includes('\\')) {
const extension = afterDot;
let normalizedExtension = afterDot;
if (!isDTS(extension)) {
normalizedExtension = extension.replace(
/\.([mc])?ts(x)?$/,
'.$1js$2'
);
}
path = beforeDot + normalizedExtension;
}
if (isAbsolute(path)) {
path = relative(
resolve(config.configDir, config.baseUrl),
path
);
}
if (
normalize(path).includes('..') &&
!config.configDirInOutPath
) {
relativeOutPathToConfigDir(config);
}
return path;
})
};
})
.forEach((alias) => {
if (alias.prefix) {
// Add all aliases to AliasTrie.
aliasTrie.add(alias.prefix, {
...alias,
// Find basepath of aliases.
paths: alias.paths.map(findBasePathOfAlias(config))
});
}
});
}
return aliasTrie;
}
}
function isDTS(extension: string): boolean {
return /\.d(\..*)?\.[mc]?ts(x)?$/.test(extension);
}
justkey007-tsc-alias-fb8387d/tests/ 0000775 0000000 0000000 00000000000 15174635142 0017116 5 ustar 00root root 0000000 0000000 justkey007-tsc-alias-fb8387d/tests/single-file-replacer.spec.ts 0000664 0000000 0000000 00000003703 15174635142 0024413 0 ustar 00root root 0000000 0000000 import { readFileSync } from 'fs';
import { sync } from 'globby';
import { join, normalize } from 'path';
import * as rimraf from 'rimraf';
import * as shell from 'shelljs';
import {
ReplaceTscAliasPathsOptions,
prepareSingleFileReplaceTscAliasPaths,
replaceTscAliasPaths
} from '../src';
const projectsRoot = join(__dirname, '../projects');
it('prepareSingleFileReplaceTscAliasPaths() works', async () => {
const projectDir = join(projectsRoot, `project19`);
const outPath = join(projectDir, 'dist');
const basePath = join(projectDir, 'dist-base');
rimraf.sync(outPath);
rimraf.sync(basePath);
const runTask = (task: string) => {
shell.exec(task, {
cwd: projectDir,
silent: true
});
};
// Compile TypeScript only (no tsc-alias CLI dependency)
runTask('npm run build:tsc-base'); // tsc --outDir dist-base
runTask('tsc'); // tsc → dist/ per tsconfig outDir
const options: ReplaceTscAliasPathsOptions = {
configFile: join(projectDir, 'tsconfig.json'),
resolveFullPaths: true
};
// Apply alias replacement via JS API instead of CLI to avoid PATH/version differences
await replaceTscAliasPaths(options);
const runFile = await prepareSingleFileReplaceTscAliasPaths(options);
// Finding files and changing alias paths
const posixOutput = basePath.replace(/\\/g, '/');
const globPattern = [
`${posixOutput}/**/*.{mjs,cjs,js,jsx,d.{mts,cts,ts,tsx}}`,
`!${posixOutput}/**/node_modules`
];
const files = sync(globPattern, {
dot: true,
onlyFiles: true
});
expect(files.length).toBeGreaterThan(0);
files.map((filePath) => {
const altFilePath = normalize(filePath.replace(posixOutput, outPath));
const fileContents = readFileSync(filePath, 'utf8');
const expectedContents = readFileSync(altFilePath, 'utf8');
const newContents = runFile({ fileContents, filePath });
expect(newContents).toEqual(expectedContents);
});
expect.assertions(files.length + 1);
}, 120000);
justkey007-tsc-alias-fb8387d/tests/test.spec.ts 0000664 0000000 0000000 00000005430 15174635142 0021400 0 ustar 00root root 0000000 0000000 import { join } from 'path';
import * as rimraf from 'rimraf';
import * as shell from 'shelljs';
import { newImportStatementRegex, newStringRegex } from '../src/utils';
const projectsRoot = join(__dirname, '../projects');
/**
* Sample JavaScript code with a bunch of require/import
* statements with various spacing etc. Import paths from
* valid statements are incrementing numbers, starting from 0,
* so that it is easy to verify validity of results.
*/
const sampleImportStatements = `
const module = require('0')
var module = require
(
'1'
) ;
import module from '2';
import "3"
imported ("invalid/import")
import theDefault, {namedExport} from
"4"
import {
extraLinesOhNo
} from '5'
const asyncImport = await import('6');
export * from '7';
import
'8'
const notAnImport = unimport('something');
`;
function runTestProject(projectNumber: number) {
const projectDir = join(projectsRoot, `project${projectNumber}`);
rimraf.sync(join(projectDir, 'dist'));
const { code, stdout, stderr } = shell.exec('npm start', {
cwd: projectDir,
silent: true
});
if (code !== 0) {
console.error(`Project ${projectNumber} failed`);
console.error('stdout:\n', stdout);
console.error('stderr:\n', stderr);
}
expect(code).toEqual(0);
}
it(`Import regex matches import statements`, () => {
const expectedImportPaths = sampleImportStatements.match(
/(\d+)/g
) as string[];
const importStatementMatches = sampleImportStatements.match(
newImportStatementRegex('g')
) as RegExpMatchArray;
expect(importStatementMatches).toHaveLength(expectedImportPaths.length);
const foundImportPaths: string[] = [];
for (const importStatement of importStatementMatches) {
// Global match is a string, not a match group, so re-match without the global flag.
const pathMatch = importStatement.match(
newStringRegex()
) as RegExpMatchArray;
expect(pathMatch).toBeTruthy();
if (pathMatch.groups) foundImportPaths.push(pathMatch.groups.path);
}
expectedImportPaths.forEach((expectedPath, i) => {
expect(expectedPath).toEqual(foundImportPaths[i]);
});
});
it(`Import regex does not match edge cases from keywords in strings`, function () {
const testCase = `
'a string with keyword from '
// The from keyword in that string can cause
// a match up to the next quote, since the regex does not
// know that the keyword is in a string context
'another string using same quote type'
`;
expect(newImportStatementRegex().exec(testCase)?.[0]).toBeUndefined();
});
// Run tests on projects. 9-11 are for testing fullpath file resolution
[
1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24
].forEach((value) => {
it(`Project ${value} runs after alias resolution`, () => {
runTestProject(value);
});
});
justkey007-tsc-alias-fb8387d/tsconfig.json 0000664 0000000 0000000 00000001152 15174635142 0020462 0 ustar 00root root 0000000 0000000 {
"compilerOptions": {
"outDir": "./dist",
"target": "es2015",
"module": "commonjs",
"baseUrl": ".",
"moduleResolution": "node",
"lib": ["es2018"],
"declaration": true,
"removeComments": true,
"sourceMap": true,
"rootDir": "./src",
"inlineSources": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"skipLibCheck": true,
"pretty": true,
"newLine": "lf"
},
"exclude": [
"**/*.test.ts",
"**/*.spec.ts",
"**/tests",
"**/dist",
"**/projects",
"node_modules"
],
"include": ["**/*.ts", "**/package.json"]
}