├── cli.js ├── .yarnrc.yml ├── tests ├── link │ ├── a-local-link-lib │ │ └── package.json │ ├── package.json │ └── yarn.lock ├── portal │ ├── a-local-portal-lib │ │ └── package.json │ ├── package.json │ └── yarn.lock ├── alias-monorepo │ ├── local-package-2 │ │ └── package.json │ ├── sub-package-2 │ │ └── package.json │ ├── sub-package-3 │ │ └── package.json │ ├── sub-package │ │ └── package.json │ ├── package.json │ ├── local-package │ │ └── package.json │ └── yarn.lock ├── bin │ ├── package.json │ └── yarn.lock ├── patch-monorepo │ ├── package.json │ ├── sub-package │ │ └── package.json │ ├── .yarn │ │ └── patches │ │ │ └── tiged-npm-2.12.4-b64a6b9192.patch │ └── yarn.lock ├── patch │ ├── package.json │ ├── .yarn │ │ └── patches │ │ │ └── tiged-npm-2.12.4-b64a6b9192.patch │ └── yarn.lock ├── resolutions │ ├── package.json │ └── yarn.lock ├── same-resolution │ ├── package.json │ └── yarn.lock ├── alias-subdeps │ ├── package.json │ └── yarn.lock ├── scoped │ └── package.json └── patch-resolution │ ├── package.json │ ├── .yarn │ └── patches │ │ └── uuid-npm-9.0.1-39a8442bc6.patch │ └── yarn.lock ├── .editorconfig ├── .changeset ├── config.json └── README.md ├── .gitignore ├── .github ├── workflows │ ├── test.yaml │ └── release.yaml └── dependabot.yml ├── package.json ├── LICENSE ├── CHANGELOG.md ├── README.md ├── scripts └── test.mjs ├── index.js └── yarn.lock /cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | const main = require("./index"); 3 | main() 4 | -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- 1 | nmSelfReferences: false 2 | 3 | nodeLinker: node-modules 4 | 5 | yarnPath: .yarn/releases/yarn-4.9.2.cjs 6 | -------------------------------------------------------------------------------- /tests/link/a-local-link-lib/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "a-local-link-lib", 3 | "packageManager": "yarn@3.3.0" 4 | } 5 | -------------------------------------------------------------------------------- /tests/portal/a-local-portal-lib/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "a-local-portal-lib", 3 | "packageManager": "yarn@3.3.0" 4 | } 5 | -------------------------------------------------------------------------------- /tests/alias-monorepo/local-package-2/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "local-package-2", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "cliui": "^7.0.3" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /tests/bin/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "~dev", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "tiged": "^2.12.4" 6 | }, 7 | "bin": "./bin/my-executable" 8 | } 9 | -------------------------------------------------------------------------------- /tests/alias-monorepo/sub-package-2/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sub-package-2", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "cliui-8": "npm:cliui@^8.0.1" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /tests/alias-monorepo/sub-package-3/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sub-package-3", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "local-package": "workspace:*" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /tests/patch-monorepo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "~dev", 3 | "version": "0.0.0", 4 | "workspaces": { 5 | "packages": [ 6 | "./sub-package" 7 | ] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | end_of_line = lf 5 | insert_final_newline = true 6 | 7 | [*.{js,json,yml}] 8 | charset = utf-8 9 | indent_style = space 10 | indent_size = 2 11 | -------------------------------------------------------------------------------- /tests/patch/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "~dev", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "tiged": "patch:tiged@npm%3A2.12.4#./.yarn/patches/tiged-npm-2.12.4-b64a6b9192.patch" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /tests/resolutions/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "~dev", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "tiged": "^2.12.4" 6 | }, 7 | "resolutions": { 8 | "tar": "6.1.9" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/alias-monorepo/sub-package/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sub-package", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "cliui-8": "npm:cliui@^8.0.0", 6 | "cliui-9": "npm:cliui@^9.0.1" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /tests/same-resolution/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "~dev", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "typescript": "^5.0.3" 6 | }, 7 | "resolutions": { 8 | "typescript": "^5.0.3" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/patch-monorepo/sub-package/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sub-package", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "tiged": "patch:tiged@npm%3A2.12.4#../.yarn/patches/tiged-npm-2.12.4-b64a6b9192.patch" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /tests/alias-subdeps/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "~dev", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "@isaacs/cliui": "npm:8.0.2", 6 | "cliui-8": "npm:cliui@8.0.1", 7 | "cliui-9": "npm:cliui@9.0.1" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tests/link/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "~dev", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "a-local-link-lib": "*" 6 | }, 7 | "resolutions": { 8 | "a-local-link-lib": "link:./a-local-link-lib" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/portal/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "~dev", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "a-local-portal-lib": "*" 6 | }, 7 | "resolutions": { 8 | "a-local-portal-lib": "portal:./a-local-portal-lib" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/scoped/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "~dev", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "@modjo-plugins/microservice-oapi": "^1.0.5" 6 | }, 7 | "resolutions": { 8 | "@modjo-plugins/microservice-oapi": "latest" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/patch-resolution/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "~dev", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "uuid": "^9.0.0" 6 | }, 7 | "resolutions": { 8 | "uuid": "patch:uuid@npm%3A9.0.1#./.yarn/patches/uuid-npm-9.0.1-39a8442bc6.patch" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/patch/.yarn/patches/tiged-npm-2.12.4-b64a6b9192.patch: -------------------------------------------------------------------------------- 1 | diff --git a/bin.js b/bin.js 2 | index 04cdbc4d691b0d302892ba90bcaaa313b4b52e34..9256c9d30fabb770ac950d2ac84ff880c0f52ebf 100755 3 | --- a/bin.js 4 | +++ b/bin.js 5 | @@ -1,2 +1,3 @@ 6 | #!/usr/bin/env node 7 | + 8 | require('./src/bin.js'); 9 | -------------------------------------------------------------------------------- /tests/alias-monorepo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "~dev", 3 | "version": "0.0.0", 4 | "workspaces": { 5 | "packages": [ 6 | "./local-package", 7 | "./local-package-2", 8 | "./sub-package", 9 | "./sub-package-2", 10 | "./sub-package-3" 11 | ] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tests/patch-monorepo/.yarn/patches/tiged-npm-2.12.4-b64a6b9192.patch: -------------------------------------------------------------------------------- 1 | diff --git a/bin.js b/bin.js 2 | index 04cdbc4d691b0d302892ba90bcaaa313b4b52e34..9256c9d30fabb770ac950d2ac84ff880c0f52ebf 100755 3 | --- a/bin.js 4 | +++ b/bin.js 5 | @@ -1,2 +1,3 @@ 6 | #!/usr/bin/env node 7 | + 8 | require('./src/bin.js'); 9 | -------------------------------------------------------------------------------- /.changeset/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", 3 | "changelog": [ 4 | "@changesets/changelog-github", 5 | { "repo": "rohit-gohri/yarn-lock-to-package-json" } 6 | ], 7 | "commit": ["@changesets/cli/commit", { "skipCI": false }], 8 | "access": "public", 9 | "baseBranch": "main" 10 | } 11 | -------------------------------------------------------------------------------- /tests/alias-monorepo/local-package/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "local-package", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "local-package-2": "workspace:*" 6 | }, 7 | "peerDependencies": { 8 | "react": "^19.1.1" 9 | }, 10 | "peerDependenciesMeta": { 11 | "react": { 12 | "optional": true 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .yarn/* 2 | !.yarn/patches 3 | !.yarn/plugins 4 | !.yarn/releases 5 | !.yarn/sdks 6 | !.yarn/versions 7 | .pnp.* 8 | 9 | tests/**/.yarn/* 10 | !tests/**/.yarn/patches 11 | # Dependency directories 12 | node_modules/ 13 | 14 | # Logs 15 | logs 16 | *.log 17 | **/*.log* 18 | npm-debug.log* 19 | yarn-debug.log* 20 | yarn-error.log* 21 | 22 | .DS_Store -------------------------------------------------------------------------------- /tests/patch-resolution/.yarn/patches/uuid-npm-9.0.1-39a8442bc6.patch: -------------------------------------------------------------------------------- 1 | diff --git a/LICENSE.md b/LICENSE.md 2 | index 3934168364063216aa8805f06e3a1a8605133d68..a68fef5bd715c8c638afb294535c2297e7463aaf 100644 3 | --- a/LICENSE.md 4 | +++ b/LICENSE.md 5 | @@ -1,3 +1,5 @@ 6 | +Hello 7 | + 8 | The MIT License (MIT) 9 | 10 | Copyright (c) 2010-2020 Robert Kieffer and other contributors 11 | -------------------------------------------------------------------------------- /.github/workflows/test.yaml: -------------------------------------------------------------------------------- 1 | name: Tests 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: [main] 7 | 8 | jobs: 9 | test-edge-cases: 10 | runs-on: ubuntu-latest 11 | name: Edge Cases 12 | steps: 13 | - uses: actions/checkout@v5 14 | 15 | - name: Use Node.js 16 | uses: actions/setup-node@v5 17 | with: 18 | node-version: "22" 19 | cache: "yarn" 20 | 21 | - name: 📦 Install dependencies 22 | run: yarn install --immutable 23 | 24 | - name: Run tests 25 | run: yarn test --verbose 26 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "npm" 4 | # Files stored in repository root 5 | directory: "/" 6 | schedule: 7 | interval: "weekly" 8 | 9 | - package-ecosystem: "npm" 10 | directory: "/tests" 11 | schedule: 12 | interval: "monthly" 13 | open-pull-requests-limit: 0 14 | 15 | - package-ecosystem: "github-actions" 16 | # Workflow files stored in the default location of `.github/workflows`. (You don't need to specify `/.github/workflows` for `directory`. You can use `directory: "/"`.) 17 | directory: "/" 18 | schedule: 19 | interval: "weekly" 20 | -------------------------------------------------------------------------------- /tests/link/yarn.lock: -------------------------------------------------------------------------------- 1 | # This file is generated by running "yarn install" inside your project. 2 | # Manual changes might be lost - proceed with caution! 3 | 4 | __metadata: 5 | version: 8 6 | cacheKey: 10c0 7 | 8 | "a-local-link-lib@link:./a-local-link-lib::locator=~dev%40workspace%3A.": 9 | version: 0.0.0-use.local 10 | resolution: "a-local-link-lib@link:./a-local-link-lib::locator=~dev%40workspace%3A." 11 | languageName: node 12 | linkType: soft 13 | 14 | "~dev@workspace:.": 15 | version: 0.0.0-use.local 16 | resolution: "~dev@workspace:." 17 | dependencies: 18 | a-local-link-lib: "npm:*" 19 | languageName: unknown 20 | linkType: soft 21 | -------------------------------------------------------------------------------- /tests/portal/yarn.lock: -------------------------------------------------------------------------------- 1 | # This file is generated by running "yarn install" inside your project. 2 | # Manual changes might be lost - proceed with caution! 3 | 4 | __metadata: 5 | version: 8 6 | cacheKey: 10c0 7 | 8 | "a-local-portal-lib@portal:./a-local-portal-lib::locator=~dev%40workspace%3A.": 9 | version: 0.0.0-use.local 10 | resolution: "a-local-portal-lib@portal:./a-local-portal-lib::locator=~dev%40workspace%3A." 11 | languageName: node 12 | linkType: soft 13 | 14 | "~dev@workspace:.": 15 | version: 0.0.0-use.local 16 | resolution: "~dev@workspace:." 17 | dependencies: 18 | a-local-portal-lib: "npm:*" 19 | languageName: unknown 20 | linkType: soft 21 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "yarn-lock-to-package-json", 3 | "version": "0.3.3", 4 | "scripts": { 5 | "test": "yarn zx scripts/test.mjs" 6 | }, 7 | "dependencies": { 8 | "@yarnpkg/parsers": "^3.0.3" 9 | }, 10 | "devDependencies": { 11 | "@changesets/changelog-github": "^0.5.1", 12 | "@changesets/cli": "^2.29.7", 13 | "zx": "^8.8.4" 14 | }, 15 | "packageManager": "yarn@4.9.2", 16 | "main": "index.js", 17 | "bin": "cli.js", 18 | "license": "MIT", 19 | "files": [ 20 | "index.js", 21 | "cli.js", 22 | "README.md", 23 | "LICENSE", 24 | "package.json" 25 | ], 26 | "keywords": [ 27 | "yarn", 28 | "docker", 29 | "fetch", 30 | "lockfile" 31 | ], 32 | "author": "Rohit Gohri ", 33 | "bugs": { 34 | "url": "https://github.com/rohit-gohri/yarn-lock-to-package-json/issues" 35 | }, 36 | "repository": { 37 | "type": "git", 38 | "url": "https://github.com/rohit-gohri/yarn-lock-to-package-json.git" 39 | }, 40 | "homepage": "https://github.com/rohit-gohri/yarn-lock-to-package-json", 41 | "engines": { 42 | "node": ">=12" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Rohit Gohri 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.changeset/README.md: -------------------------------------------------------------------------------- 1 | # Changesets 2 | 3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works with multi-package repos, or single-package repos to help you version and publish your code. You can find the full documentation for it [in our repository](https://github.com/changesets/changesets) 4 | 5 | We have a quick list of common questions to get you started engaging with this project in 6 | [our documentation](https://github.com/changesets/changesets/blob/master/docs/common-questions.md) 7 | 8 | ## Adding a Changeset 9 | 10 | Just run the below in your local branch and answer the questions that follow, it will create a new commit with the changes that you can push as part of your PR. 11 | 12 | ```sh 13 | yarn changeset 14 | ``` 15 | 16 | ### Selecting what kind of change it is 17 | 18 | We follow [Semantic Versioning](https://semver.org/) for versioning. Select according to the change you have done in your branch: 19 | 20 | - MAJOR version when you make incompatible API changes, 21 | - MINOR version when you add functionality in a backwards compatible manner, and 22 | - PATCH version when you make backwards compatible bug fixes. 23 | -------------------------------------------------------------------------------- /tests/patch-resolution/yarn.lock: -------------------------------------------------------------------------------- 1 | # This file is generated by running "yarn install" inside your project. 2 | # Manual changes might be lost - proceed with caution! 3 | 4 | __metadata: 5 | version: 8 6 | cacheKey: 10c0 7 | 8 | "uuid@npm:9.0.1": 9 | version: 9.0.1 10 | resolution: "uuid@npm:9.0.1" 11 | bin: 12 | uuid: dist/bin/uuid 13 | checksum: 10c0/1607dd32ac7fc22f2d8f77051e6a64845c9bce5cd3dd8aa0070c074ec73e666a1f63c7b4e0f4bf2bc8b9d59dc85a15e17807446d9d2b17c8485fbc2147b27f9b 14 | languageName: node 15 | linkType: hard 16 | 17 | "uuid@patch:uuid@npm%3A9.0.1#./.yarn/patches/uuid-npm-9.0.1-39a8442bc6.patch::locator=~dev%40workspace%3A.": 18 | version: 9.0.1 19 | resolution: "uuid@patch:uuid@npm%3A9.0.1#./.yarn/patches/uuid-npm-9.0.1-39a8442bc6.patch::version=9.0.1&hash=98efc2&locator=~dev%40workspace%3A." 20 | bin: 21 | uuid: dist/bin/uuid 22 | checksum: 10c0/bcab1bf802aab0e4398113922168feb9a60b71fa679cd2113cbed0337fd92ce04315e1dcef3b1dbb1fb82b1bc697cd233774a0ec91d1088d35692f76150ff0a8 23 | languageName: node 24 | linkType: hard 25 | 26 | "~dev@workspace:.": 27 | version: 0.0.0-use.local 28 | resolution: "~dev@workspace:." 29 | dependencies: 30 | uuid: "npm:^9.0.0" 31 | languageName: unknown 32 | linkType: soft 33 | -------------------------------------------------------------------------------- /tests/same-resolution/yarn.lock: -------------------------------------------------------------------------------- 1 | # This file is generated by running "yarn install" inside your project. 2 | # Manual changes might be lost - proceed with caution! 3 | 4 | __metadata: 5 | version: 8 6 | cacheKey: 10c0 7 | 8 | "typescript@npm:^5.0.3": 9 | version: 5.2.2 10 | resolution: "typescript@npm:5.2.2" 11 | bin: 12 | tsc: bin/tsc 13 | tsserver: bin/tsserver 14 | checksum: 10c0/91ae3e6193d0ddb8656d4c418a033f0f75dec5e077ebbc2bd6d76439b93f35683936ee1bdc0e9cf94ec76863aa49f27159b5788219b50e1cd0cd6d110aa34b07 15 | languageName: node 16 | linkType: hard 17 | 18 | "typescript@patch:typescript@npm%3A^5.0.3#optional!builtin": 19 | version: 5.2.2 20 | resolution: "typescript@patch:typescript@npm%3A5.2.2#optional!builtin::version=5.2.2&hash=f3b441" 21 | bin: 22 | tsc: bin/tsc 23 | tsserver: bin/tsserver 24 | checksum: 10c0/062c1cee1990e6b9419ce8a55162b8dc917eb87f807e4de0327dbc1c2fa4e5f61bc0dd4e034d38ff541d1ed0479b53bcee8e4de3a4075c51a1724eb6216cb6f5 25 | languageName: node 26 | linkType: hard 27 | 28 | "~dev@workspace:.": 29 | version: 0.0.0-use.local 30 | resolution: "~dev@workspace:." 31 | dependencies: 32 | typescript: "npm:^5.0.3" 33 | languageName: unknown 34 | linkType: soft 35 | -------------------------------------------------------------------------------- /.github/workflows/release.yaml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.ref }} 10 | cancel-in-progress: false 11 | 12 | env: 13 | YARN_COMPRESSION_LEVEL: 0 14 | YARN_ENABLE_GLOBAL_CACHE: true 15 | 16 | jobs: 17 | publish: 18 | name: Publish 19 | runs-on: ubuntu-latest 20 | steps: 21 | - name: Checkout Repo 22 | uses: actions/checkout@v5 23 | with: 24 | # This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits 25 | fetch-depth: 0 26 | 27 | - uses: actions/setup-node@v5 28 | with: 29 | node-version: "22" 30 | cache: "yarn" 31 | registry-url: https://registry.npmjs.org/ 32 | 33 | - name: Install Dependencies 34 | run: yarn install --immutable 35 | 36 | - name: Create Release Pull Request or Publish 37 | id: changesets 38 | uses: changesets/action@v1 39 | with: 40 | publish: yarn changeset publish 41 | env: 42 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 43 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 44 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 45 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # yarn-lock-to-package-json 2 | 3 | ## 0.3.3 4 | 5 | ### Patch Changes 6 | 7 | - [#72](https://github.com/rohit-gohri/yarn-lock-to-package-json/pull/72) [`b0243da`](https://github.com/rohit-gohri/yarn-lock-to-package-json/commit/b0243daf6856e98812cfb74da644f0cff2edc8b4) Thanks [@rohit-gohri](https://github.com/rohit-gohri)! - fix: add peer meta support 8 | 9 | ## 0.3.2 10 | 11 | ### Patch Changes 12 | 13 | - [#66](https://github.com/rohit-gohri/yarn-lock-to-package-json/pull/66) [`b49c287`](https://github.com/rohit-gohri/yarn-lock-to-package-json/commit/b49c287d446dbe4f627ba9332d21d2f140bac59a) Thanks [@rohit-gohri](https://github.com/rohit-gohri)! - handle duplicate aliases being added to resolutions 14 | 15 | ## 0.3.1 16 | 17 | ### Patch Changes 18 | 19 | - [#18](https://github.com/rohit-gohri/yarn-lock-to-package-json/pull/18) [`7c1f255`](https://github.com/rohit-gohri/yarn-lock-to-package-json/commit/7c1f2558f79d15589f6177f236e9f615e1790ce3) Thanks [@rohit-gohri](https://github.com/rohit-gohri)! - Add new test script 20 | 21 | - [#18](https://github.com/rohit-gohri/yarn-lock-to-package-json/pull/18) [`9eb3771`](https://github.com/rohit-gohri/yarn-lock-to-package-json/commit/9eb3771b2502829915cfbd21f235e9b8a64ab88c) Thanks [@rohit-gohri](https://github.com/rohit-gohri)! - Fix patch protocol in monorepo 22 | 23 | ## 0.3.0 24 | 25 | ### Minor Changes 26 | 27 | - [#16](https://github.com/rohit-gohri/yarn-lock-to-package-json/pull/16) [`35c83ad`](https://github.com/rohit-gohri/yarn-lock-to-package-json/commit/35c83ad49c41a46e8f39701b5268038d07f14e9e) Thanks [@devthejo](https://github.com/devthejo)! - feat: patch resolution + fix same resolution 28 | 29 | ## 0.2.0 30 | 31 | ### Minor Changes 32 | 33 | - [#14](https://github.com/rohit-gohri/yarn-lock-to-package-json/pull/14) [`39935e5`](https://github.com/rohit-gohri/yarn-lock-to-package-json/commit/39935e55ceb89e6b22ba68f8b4322dd6f05032b5) Thanks [@devthejo](https://github.com/devthejo)! - feat: support portal and link protocols 34 | 35 | ## 0.1.10 36 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # yarn-lock-to-package-json 2 | 3 | [![npm](https://img.shields.io/npm/v/yarn-lock-to-package-json)](https://www.npmjs.com/package/yarn-lock-to-package-json) 4 | 5 | A simple script to be used in Dockerfile to do yarn install without copying all `package.json`s in a monorepo workspace. Use case inspired by [pnpm's fetch command](https://pnpm.io/cli/fetch) but for Yarn Berry. 6 | 7 | ## Usage in Dockerfile 8 | 9 | ```Dockerfile 10 | # ------------------------------------------------------------------------------ 11 | # First image (install dependencies) 12 | # ------------------------------------------------------------------------------ 13 | FROM node:16-alpine as yarn 14 | LABEL stage=yarn 15 | 16 | WORKDIR /workspace 17 | 18 | COPY .yarn ./.yarn 19 | COPY yarn.lock .yarnrc.yml ./ 20 | 21 | RUN yarn dlx yarn-lock-to-package-json 22 | 23 | RUN yarn install --immutable 24 | # ------------------------------------------------------------------------------ 25 | # Server image (build image with production dependencies only) 26 | # ------------------------------------------------------------------------------ 27 | FROM yarn as server 28 | LABEL stage=server 29 | 30 | WORKDIR /workspace 31 | 32 | # Overwrite dummy package.json with actual ones (so that we can use scripts) 33 | COPY package.json ./ 34 | COPY packages ./packages 35 | COPY apps/server ./apps/server 36 | 37 | RUN yarn workspaces foreach -tR --from @workspace-name/server run build 38 | 39 | RUN cd apps/server && yarn workspaces focus --production 40 | 41 | CMD ["yarn", "workspace", "@workspace-name/server", "start"] 42 | ``` 43 | 44 | ## Yarn Plugin 45 | 46 | For similar functionality but packaged in a yarn plugin you can check out [yarn-plugin-fetch](https://github.com/devthejo/yarn-plugin-fetch) by [@devthejo](https://github.com/devthejo), it uses this package internally to provide the same feature plus adds workspace focus support and more tools. 47 | 48 | ## Working 49 | 50 | What it does is parse the lockfile and recreate the monorepo structure by creating dummy `package.json` for each package in the workspace. These dummy package.json don't invalidate your docker cache when you change a script or increment a version and so your docker build cache remains valid up to the layer of `RUN yarn install --immutable`. 51 | 52 | Test it by copying your `yarn.lock` to a new folder and run `npx yarn-lock-to-package-json`. 53 | 54 | This is the dummy file generated: 55 | 56 | ```md 57 | { 58 | "name": "@monorepo/package", 59 | "version": "0.0.0", 60 | "description": "**DON'T COMMIT** Generated file for caching", 61 | "private": true, 62 | "dependencies": { 63 | "typescript": "^4.5.5" 64 | } 65 | } 66 | ``` 67 | 68 | ### Motivation 69 | 70 | These existing issues in yarn 71 | 72 | - [Install without package.json](https://github.com/yarnpkg/yarn/issues/4813) 73 | - [Fetch dependencies from yarn.lock only](https://github.com/yarnpkg/berry/issues/4529) 74 | - [A command to just download and cache dependencies from lockfile](https://github.com/yarnpkg/berry/discussions/4380) 75 | -------------------------------------------------------------------------------- /scripts/test.mjs: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zx 2 | /* global argv, fs, $ */ 3 | 4 | /** 5 | * This script is to be used using https://github.com/google/zx 6 | * 7 | * Use with local zx via `yarn zx` 8 | */ 9 | 10 | /// 11 | 12 | const { verbose = false, test: only, clean = true } = argv; 13 | 14 | $.verbose = false; 15 | process.env.FORCE_COLOR=3 16 | 17 | const all = [ 18 | "bin", 19 | "patch", 20 | "patch-monorepo", 21 | "patch-resolution", 22 | "resolutions", 23 | "scoped", 24 | "alias-subdeps", 25 | "alias-monorepo", 26 | "portal", 27 | "link", 28 | "same-resolution", 29 | ]; 30 | 31 | const tests = all.filter((test) => !only || test === only); 32 | 33 | /** 34 | * 35 | * @param {Awaited>} output 36 | * @param {string} prefix 37 | */ 38 | const printWithPrefix = (output, prefix) => { 39 | console.log(output.stdout.split("\n").map((line) => { 40 | return `${prefix} ${line}`; 41 | }).join("\n")); 42 | if (output.stderr) { 43 | console.log(output.stderr.split("\n").map((line) => { 44 | return `${prefix} ${line}`; 45 | }).join("\n")); 46 | } 47 | } 48 | 49 | const results = ( 50 | await Promise.allSettled( 51 | tests.map(async (test) => { 52 | const prefix = chalk.yellowBright(`[${test}]: `); 53 | 54 | await $`cd tests/${test} && yarn > /dev/null`; 55 | console.log(prefix, chalk.blueBright('Generating package.json from lockfile.')) 56 | 57 | const generate = await $`cd tests/${test} && node ${__dirname}/../cli.js`; 58 | if (verbose) { 59 | printWithPrefix(generate, prefix); 60 | } 61 | 62 | console.log(prefix, chalk.blueBright('Updating lock file based on generated package.json.')) 63 | 64 | const yarn = await $`cd tests/${test} && yarn install --immutable`; 65 | if (verbose) { 66 | printWithPrefix(yarn, prefix); 67 | } 68 | 69 | const diff = await $`cd tests/${test} && git diff --exit-code yarn.lock`; 70 | if (verbose) { 71 | printWithPrefix(diff, prefix); 72 | } 73 | 74 | console.log(prefix, chalk.greenBright('No diff detected')) 75 | }) 76 | ) 77 | ).map((res, index) => { 78 | return { 79 | name: tests[index], 80 | ...res, 81 | }; 82 | }); 83 | 84 | if (clean !== "false") { 85 | await $`git checkout tests`; 86 | } 87 | 88 | const failures = results.filter((result) => result.status === "rejected"); 89 | 90 | const success = results.filter((result) => result.status === "fulfilled"); 91 | 92 | console.log( 93 | `${success.length}/${all.length} tests passed, ${failures.length}/${ 94 | all.length 95 | } tests failed, ${all.length - results.length}/${all.length} tests skipped` 96 | ); 97 | 98 | if (results.length === 0) { 99 | throw new Error("No tests to run"); 100 | } 101 | 102 | if (failures.length > 0) { 103 | console.log(JSON.stringify(failures, null, 2)); 104 | throw new Error(`${failures.length} tests failed`); 105 | } 106 | 107 | process.exit(0); 108 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs"); 2 | const path = require("path"); 3 | const { parseSyml } = require("@yarnpkg/parsers"); 4 | 5 | const supportedProtocols = ["patch", "npm", "portal", "link"]; 6 | 7 | /** 8 | * @param {string} dep 9 | */ 10 | const getDepName = (dep) => { 11 | let parts = dep.trim().split("@"); 12 | if (dep.startsWith("@")) { 13 | parts = parts.slice(0, 2); 14 | } else { 15 | parts = parts.slice(0, 1); 16 | } 17 | return parts.join("@"); 18 | }; 19 | 20 | /** 21 | * @param {string} dependency 22 | * @param {string} protocol 23 | */ 24 | const getKeyVersion = (dependency, protocol) => { 25 | const [key, version] = dependency.trim().split(`@${protocol}:`); 26 | 27 | return { 28 | key, 29 | version, 30 | }; 31 | }; 32 | 33 | /** 34 | * @param {string} version 35 | */ 36 | const getPatchPath = (version) => { 37 | const [, patchPath] = version.split("::")[0].split("#"); 38 | return patchPath; 39 | }; 40 | 41 | module.exports = function main() { 42 | const lockFile = fs.readFileSync("yarn.lock", "utf8"); 43 | const lockJson = parseSyml(lockFile); 44 | 45 | const workspacePackages = Object.keys(lockJson).filter((dependency) => { 46 | return dependency.includes("@workspace:"); 47 | }); 48 | 49 | const packagesConfig = workspacePackages 50 | .map((packageVersion) => { 51 | const [, dirPath] = lockJson[packageVersion].resolution 52 | .trim() 53 | .split("@workspace:"); 54 | 55 | if (dirPath === ".") { 56 | return null; 57 | } 58 | return dirPath; 59 | }) 60 | .filter(Boolean); 61 | 62 | workspacePackages.forEach((packageVersion) => { 63 | const { 64 | dependencies, 65 | dependenciesMeta, 66 | peerDependencies, 67 | peerDependenciesMeta, 68 | resolution, 69 | bin, 70 | } = lockJson[packageVersion]; 71 | const [name, dirPath] = resolution.trim().split("@workspace:"); 72 | const packageJsonPath = path.join(dirPath, `package.json`); 73 | 74 | const packageJson = { 75 | name, 76 | version: "0.0.0", 77 | description: "**DON'T COMMIT** Generated file for caching", 78 | private: true, 79 | dependencies, 80 | peerDependencies, 81 | bin, 82 | }; 83 | 84 | if(peerDependenciesMeta) { 85 | packageJson.peerDependenciesMeta = Object.entries(peerDependenciesMeta).reduce((res, [key, value]) => { 86 | res[key] = value; 87 | if (value.optional === 'true') { 88 | // yarn.lock has string "true" rather than boolean 89 | res[key].optional = true 90 | } 91 | 92 | return res; 93 | }, {}); 94 | } 95 | 96 | if (dependenciesMeta) { 97 | /** 98 | * @type {Record} 99 | */ 100 | let optionalDependencies = {}; 101 | Object.keys(dependenciesMeta).forEach((key) => { 102 | optionalDependencies[key] = dependencies[key]; 103 | delete dependencies[key]; 104 | }); 105 | packageJson.optionalDependencies = optionalDependencies; 106 | } 107 | 108 | if (dirPath === ".") { 109 | if (packagesConfig.length > 0) { 110 | packageJson.workspaces = { 111 | packages: packagesConfig, 112 | }; 113 | } 114 | 115 | const lockJsonKey = Object.keys(lockJson); 116 | /** 117 | * @type {Map} 118 | */ 119 | const dependencyMap = new Map(); 120 | /** 121 | * @type {Map} 122 | */ 123 | const resolvedDependencyMap = new Map(); 124 | lockJsonKey.forEach((dep) => { 125 | // Ignore yarn's inbuilt applied patches as duplicates 126 | if (dep.includes("builtin { 140 | const name = getDepName(dependency); 141 | if (!dependencyMap.has(name)) { 142 | dependencyMap.set(name, []); 143 | } 144 | dependencyMap.get(name).push(dependency); 145 | }); 146 | }); 147 | 148 | /** 149 | * This will add all the dependencies that are not present multiple times in the lock file 150 | * as resolutions since we can't differentiate them but adding them unnecessarily has no side effect 151 | */ 152 | packageJson.resolutions = lockJsonKey 153 | .filter((dependency) => { 154 | if (dependency.includes("@workspace:")) { 155 | return false; 156 | } 157 | 158 | // Only take patches if they are root package.json patches 159 | if (dependency.includes("@patch:")) { 160 | const patchPath = getPatchPath( 161 | getKeyVersion(dependency, "patch").version 162 | ); 163 | 164 | // if no relative path then it's root package.json patch 165 | if (!patchPath.match(/(\.\.\/)+/)?.length) { 166 | return true; 167 | } 168 | 169 | return false; 170 | } 171 | 172 | // Ignore if multiple versions of the same package are resolved to a single version 173 | // since resolutions overwrites these to a single version 174 | if (dependency.includes(", ")) { 175 | return false; 176 | } 177 | 178 | const name = getDepName(dependency); 179 | // we skip the resolved dependencies that is present multiple times in the lock file 180 | if (resolvedDependencyMap.has(name) && resolvedDependencyMap.get(name).length > 1) { 181 | return false; 182 | } 183 | // we take the dependencies that is not present multiple times in the lock file 184 | if (dependencyMap.has(name) && dependencyMap.get(name).length === 1) { 185 | return true; 186 | } 187 | 188 | return false; 189 | }) 190 | .reduce((resolutions, dependency) => { 191 | supportedProtocols.forEach((protocol) => { 192 | if (!dependency.includes(`@${protocol}:`)) { 193 | return; 194 | } 195 | const { key, version } = getKeyVersion(dependency, protocol); 196 | 197 | switch (protocol) { 198 | case "npm": 199 | resolutions[key] = version.includes("@") 200 | ? `${protocol}:${version}` 201 | : version; 202 | break; 203 | case "patch": 204 | if (!dependency.includes("builtin=18" 280 | peerDependenciesMeta: 281 | "@types/node": 282 | optional: true 283 | checksum: 10c0/bdac4395e0bba7065d39b141d618bfc06369f246c402c511396a5238baf2657f3038ccba8438521a49e5cb602f4302b9d1f46b52b647b27af2c9911720022118 284 | languageName: node 285 | linkType: hard 286 | 287 | "@manypkg/find-root@npm:^1.1.0": 288 | version: 1.1.0 289 | resolution: "@manypkg/find-root@npm:1.1.0" 290 | dependencies: 291 | "@babel/runtime": "npm:^7.5.5" 292 | "@types/node": "npm:^12.7.1" 293 | find-up: "npm:^4.1.0" 294 | fs-extra: "npm:^8.1.0" 295 | checksum: 10c0/0ee907698e6c73d6f1821ff630f3fec6dcf38260817c8752fec8991ac38b95ba431ab11c2773ddf9beb33d0e057f1122b00e8ffc9b8411b3fd24151413626fa6 296 | languageName: node 297 | linkType: hard 298 | 299 | "@manypkg/get-packages@npm:^1.1.3": 300 | version: 1.1.3 301 | resolution: "@manypkg/get-packages@npm:1.1.3" 302 | dependencies: 303 | "@babel/runtime": "npm:^7.5.5" 304 | "@changesets/types": "npm:^4.0.1" 305 | "@manypkg/find-root": "npm:^1.1.0" 306 | fs-extra: "npm:^8.1.0" 307 | globby: "npm:^11.0.0" 308 | read-yaml-file: "npm:^1.1.0" 309 | checksum: 10c0/f05907d1174ae28861eaa06d0efdc144f773d9a4b8b65e1e7cdc01eb93361d335351b4a336e05c6aac02661be39e8809a3f7ad28bc67b6b338071434ab442130 310 | languageName: node 311 | linkType: hard 312 | 313 | "@nodelib/fs.scandir@npm:2.1.5": 314 | version: 2.1.5 315 | resolution: "@nodelib/fs.scandir@npm:2.1.5" 316 | dependencies: 317 | "@nodelib/fs.stat": "npm:2.0.5" 318 | run-parallel: "npm:^1.1.9" 319 | checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb 320 | languageName: node 321 | linkType: hard 322 | 323 | "@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": 324 | version: 2.0.5 325 | resolution: "@nodelib/fs.stat@npm:2.0.5" 326 | checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d 327 | languageName: node 328 | linkType: hard 329 | 330 | "@nodelib/fs.walk@npm:^1.2.3": 331 | version: 1.2.8 332 | resolution: "@nodelib/fs.walk@npm:1.2.8" 333 | dependencies: 334 | "@nodelib/fs.scandir": "npm:2.1.5" 335 | fastq: "npm:^1.6.0" 336 | checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 337 | languageName: node 338 | linkType: hard 339 | 340 | "@types/node@npm:^12.7.1": 341 | version: 12.20.55 342 | resolution: "@types/node@npm:12.20.55" 343 | checksum: 10c0/3b190bb0410047d489c49bbaab592d2e6630de6a50f00ba3d7d513d59401d279972a8f5a598b5bb8ddc1702f8a2f4ec57a65d93852f9c329639738e7053637d1 344 | languageName: node 345 | linkType: hard 346 | 347 | "@yarnpkg/parsers@npm:^3.0.3": 348 | version: 3.0.3 349 | resolution: "@yarnpkg/parsers@npm:3.0.3" 350 | dependencies: 351 | js-yaml: "npm:^3.10.0" 352 | tslib: "npm:^2.4.0" 353 | checksum: 10c0/70c2fa011bf28a517a8ee4264dd93d7590f6e3d02c6d4feb50533f405ca3b100cb156f11405b9a34f7c51c6893d3d8b051554dddfd5afaae2067f921512447a3 354 | languageName: node 355 | linkType: hard 356 | 357 | "ansi-colors@npm:^4.1.1, ansi-colors@npm:^4.1.3": 358 | version: 4.1.3 359 | resolution: "ansi-colors@npm:4.1.3" 360 | checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 361 | languageName: node 362 | linkType: hard 363 | 364 | "ansi-regex@npm:^5.0.1": 365 | version: 5.0.1 366 | resolution: "ansi-regex@npm:5.0.1" 367 | checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 368 | languageName: node 369 | linkType: hard 370 | 371 | "argparse@npm:^1.0.7": 372 | version: 1.0.10 373 | resolution: "argparse@npm:1.0.10" 374 | dependencies: 375 | sprintf-js: "npm:~1.0.2" 376 | checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de 377 | languageName: node 378 | linkType: hard 379 | 380 | "array-union@npm:^2.1.0": 381 | version: 2.1.0 382 | resolution: "array-union@npm:2.1.0" 383 | checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 384 | languageName: node 385 | linkType: hard 386 | 387 | "better-path-resolve@npm:1.0.0": 388 | version: 1.0.0 389 | resolution: "better-path-resolve@npm:1.0.0" 390 | dependencies: 391 | is-windows: "npm:^1.0.0" 392 | checksum: 10c0/7335130729d59a14b8e4753fea180ca84e287cccc20cb5f2438a95667abc5810327c414eee7b3c79ed1b5a348a40284ea872958f50caba69432c40405eb0acce 393 | languageName: node 394 | linkType: hard 395 | 396 | "braces@npm:^3.0.3": 397 | version: 3.0.3 398 | resolution: "braces@npm:3.0.3" 399 | dependencies: 400 | fill-range: "npm:^7.1.1" 401 | checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 402 | languageName: node 403 | linkType: hard 404 | 405 | "chardet@npm:^2.1.0": 406 | version: 2.1.0 407 | resolution: "chardet@npm:2.1.0" 408 | checksum: 10c0/d1b03e47371851ed72741a898281d58f8a9b577aeea6fdfa75a86832898b36c550b3ad057e66d50d774a9cebd9f56c66b6880e4fe75e387794538ba7565b0b6f 409 | languageName: node 410 | linkType: hard 411 | 412 | "ci-info@npm:^3.7.0": 413 | version: 3.9.0 414 | resolution: "ci-info@npm:3.9.0" 415 | checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a 416 | languageName: node 417 | linkType: hard 418 | 419 | "cross-spawn@npm:^7.0.5": 420 | version: 7.0.6 421 | resolution: "cross-spawn@npm:7.0.6" 422 | dependencies: 423 | path-key: "npm:^3.1.0" 424 | shebang-command: "npm:^2.0.0" 425 | which: "npm:^2.0.1" 426 | checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 427 | languageName: node 428 | linkType: hard 429 | 430 | "dataloader@npm:^1.4.0": 431 | version: 1.4.0 432 | resolution: "dataloader@npm:1.4.0" 433 | checksum: 10c0/5fa4c843b9e60195092f1fc7e2acaff318ed46886dc670ddff683bc560f12d4079e6d1e77749501b7e111a8582d26a2aa2a2fbe6d7d5e1520cef64f4e1fd242d 434 | languageName: node 435 | linkType: hard 436 | 437 | "detect-indent@npm:^6.0.0": 438 | version: 6.1.0 439 | resolution: "detect-indent@npm:6.1.0" 440 | checksum: 10c0/dd83cdeda9af219cf77f5e9a0dc31d828c045337386cfb55ce04fad94ba872ee7957336834154f7647b89b899c3c7acc977c57a79b7c776b506240993f97acc7 441 | languageName: node 442 | linkType: hard 443 | 444 | "dir-glob@npm:^3.0.1": 445 | version: 3.0.1 446 | resolution: "dir-glob@npm:3.0.1" 447 | dependencies: 448 | path-type: "npm:^4.0.0" 449 | checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c 450 | languageName: node 451 | linkType: hard 452 | 453 | "dotenv@npm:^8.1.0": 454 | version: 8.6.0 455 | resolution: "dotenv@npm:8.6.0" 456 | checksum: 10c0/6750431dea8efbd54b9f2d9681b04e1ccc7989486461dcf058bb708d9e3d63b04115fcdf8840e38ad1e24a4a2e1e7c1560626c5e3ac7bc09371b127c49e2d45f 457 | languageName: node 458 | linkType: hard 459 | 460 | "enquirer@npm:^2.4.1": 461 | version: 2.4.1 462 | resolution: "enquirer@npm:2.4.1" 463 | dependencies: 464 | ansi-colors: "npm:^4.1.1" 465 | strip-ansi: "npm:^6.0.1" 466 | checksum: 10c0/43850479d7a51d36a9c924b518dcdc6373b5a8ae3401097d336b7b7e258324749d0ad37a1fcaa5706f04799baa05585cd7af19ebdf7667673e7694435fcea918 467 | languageName: node 468 | linkType: hard 469 | 470 | "esprima@npm:^4.0.0": 471 | version: 4.0.1 472 | resolution: "esprima@npm:4.0.1" 473 | bin: 474 | esparse: ./bin/esparse.js 475 | esvalidate: ./bin/esvalidate.js 476 | checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 477 | languageName: node 478 | linkType: hard 479 | 480 | "extendable-error@npm:^0.1.5": 481 | version: 0.1.7 482 | resolution: "extendable-error@npm:0.1.7" 483 | checksum: 10c0/c46648b7682448428f81b157cbfe480170fd96359c55db477a839ddeaa34905a18cba0b989bafe5e83f93c2491a3fcc7cc536063ea326ba9d72e9c6e2fe736a7 484 | languageName: node 485 | linkType: hard 486 | 487 | "fast-glob@npm:^3.2.9": 488 | version: 3.2.12 489 | resolution: "fast-glob@npm:3.2.12" 490 | dependencies: 491 | "@nodelib/fs.stat": "npm:^2.0.2" 492 | "@nodelib/fs.walk": "npm:^1.2.3" 493 | glob-parent: "npm:^5.1.2" 494 | merge2: "npm:^1.3.0" 495 | micromatch: "npm:^4.0.4" 496 | checksum: 10c0/08604fb8ef6442ce74068bef3c3104382bb1f5ab28cf75e4ee904662778b60ad620e1405e692b7edea598ef445f5d387827a965ba034e1892bf54b1dfde97f26 497 | languageName: node 498 | linkType: hard 499 | 500 | "fastq@npm:^1.6.0": 501 | version: 1.15.0 502 | resolution: "fastq@npm:1.15.0" 503 | dependencies: 504 | reusify: "npm:^1.0.4" 505 | checksum: 10c0/5ce4f83afa5f88c9379e67906b4d31bc7694a30826d6cc8d0f0473c966929017fda65c2174b0ec89f064ede6ace6c67f8a4fe04cef42119b6a55b0d465554c24 506 | languageName: node 507 | linkType: hard 508 | 509 | "fill-range@npm:^7.1.1": 510 | version: 7.1.1 511 | resolution: "fill-range@npm:7.1.1" 512 | dependencies: 513 | to-regex-range: "npm:^5.0.1" 514 | checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 515 | languageName: node 516 | linkType: hard 517 | 518 | "find-up@npm:^4.1.0": 519 | version: 4.1.0 520 | resolution: "find-up@npm:4.1.0" 521 | dependencies: 522 | locate-path: "npm:^5.0.0" 523 | path-exists: "npm:^4.0.0" 524 | checksum: 10c0/0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1 525 | languageName: node 526 | linkType: hard 527 | 528 | "fs-extra@npm:^7.0.1": 529 | version: 7.0.1 530 | resolution: "fs-extra@npm:7.0.1" 531 | dependencies: 532 | graceful-fs: "npm:^4.1.2" 533 | jsonfile: "npm:^4.0.0" 534 | universalify: "npm:^0.1.0" 535 | checksum: 10c0/1943bb2150007e3739921b8d13d4109abdc3cc481e53b97b7ea7f77eda1c3c642e27ae49eac3af074e3496ea02fde30f411ef410c760c70a38b92e656e5da784 536 | languageName: node 537 | linkType: hard 538 | 539 | "fs-extra@npm:^8.1.0": 540 | version: 8.1.0 541 | resolution: "fs-extra@npm:8.1.0" 542 | dependencies: 543 | graceful-fs: "npm:^4.2.0" 544 | jsonfile: "npm:^4.0.0" 545 | universalify: "npm:^0.1.0" 546 | checksum: 10c0/259f7b814d9e50d686899550c4f9ded85c46c643f7fe19be69504888e007fcbc08f306fae8ec495b8b998635e997c9e3e175ff2eeed230524ef1c1684cc96423 547 | languageName: node 548 | linkType: hard 549 | 550 | "glob-parent@npm:^5.1.2": 551 | version: 5.1.2 552 | resolution: "glob-parent@npm:5.1.2" 553 | dependencies: 554 | is-glob: "npm:^4.0.1" 555 | checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee 556 | languageName: node 557 | linkType: hard 558 | 559 | "globby@npm:^11.0.0": 560 | version: 11.1.0 561 | resolution: "globby@npm:11.1.0" 562 | dependencies: 563 | array-union: "npm:^2.1.0" 564 | dir-glob: "npm:^3.0.1" 565 | fast-glob: "npm:^3.2.9" 566 | ignore: "npm:^5.2.0" 567 | merge2: "npm:^1.4.1" 568 | slash: "npm:^3.0.0" 569 | checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 570 | languageName: node 571 | linkType: hard 572 | 573 | "graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.5, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0": 574 | version: 4.2.11 575 | resolution: "graceful-fs@npm:4.2.11" 576 | checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 577 | languageName: node 578 | linkType: hard 579 | 580 | "human-id@npm:^4.1.1": 581 | version: 4.1.1 582 | resolution: "human-id@npm:4.1.1" 583 | bin: 584 | human-id: dist/cli.js 585 | checksum: 10c0/9a9a18130fb7d6bc707054bacc32cb328289be0de47ba5669fd04995435e7e59931b87c644a223d68473c450221d104175a5fefe93d77f3522822ead8945def8 586 | languageName: node 587 | linkType: hard 588 | 589 | "iconv-lite@npm:^0.6.3": 590 | version: 0.6.3 591 | resolution: "iconv-lite@npm:0.6.3" 592 | dependencies: 593 | safer-buffer: "npm:>= 2.1.2 < 3.0.0" 594 | checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 595 | languageName: node 596 | linkType: hard 597 | 598 | "ignore@npm:^5.2.0": 599 | version: 5.2.4 600 | resolution: "ignore@npm:5.2.4" 601 | checksum: 10c0/7c7cd90edd9fea6e037f9b9da4b01bf0a86b198ce78345f9bbd983929d68ff14830be31111edc5d70c264921f4962404d75b7262b4d9cc3bc12381eccbd03096 602 | languageName: node 603 | linkType: hard 604 | 605 | "is-extglob@npm:^2.1.1": 606 | version: 2.1.1 607 | resolution: "is-extglob@npm:2.1.1" 608 | checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 609 | languageName: node 610 | linkType: hard 611 | 612 | "is-glob@npm:^4.0.1": 613 | version: 4.0.3 614 | resolution: "is-glob@npm:4.0.3" 615 | dependencies: 616 | is-extglob: "npm:^2.1.1" 617 | checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a 618 | languageName: node 619 | linkType: hard 620 | 621 | "is-number@npm:^7.0.0": 622 | version: 7.0.0 623 | resolution: "is-number@npm:7.0.0" 624 | checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 625 | languageName: node 626 | linkType: hard 627 | 628 | "is-subdir@npm:^1.1.1": 629 | version: 1.2.0 630 | resolution: "is-subdir@npm:1.2.0" 631 | dependencies: 632 | better-path-resolve: "npm:1.0.0" 633 | checksum: 10c0/03a03ee2ee6578ce589b1cfaf00e65c86b20fd1b82c1660625557c535439a7477cda77e20c62cda6d4c99e7fd908b4619355ae2d989f4a524a35350a44353032 634 | languageName: node 635 | linkType: hard 636 | 637 | "is-windows@npm:^1.0.0": 638 | version: 1.0.2 639 | resolution: "is-windows@npm:1.0.2" 640 | checksum: 10c0/b32f418ab3385604a66f1b7a3ce39d25e8881dee0bd30816dc8344ef6ff9df473a732bcc1ec4e84fe99b2f229ae474f7133e8e93f9241686cfcf7eebe53ba7a5 641 | languageName: node 642 | linkType: hard 643 | 644 | "isexe@npm:^2.0.0": 645 | version: 2.0.0 646 | resolution: "isexe@npm:2.0.0" 647 | checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d 648 | languageName: node 649 | linkType: hard 650 | 651 | "js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.1, js-yaml@npm:^3.6.1": 652 | version: 3.14.1 653 | resolution: "js-yaml@npm:3.14.1" 654 | dependencies: 655 | argparse: "npm:^1.0.7" 656 | esprima: "npm:^4.0.0" 657 | bin: 658 | js-yaml: bin/js-yaml.js 659 | checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b 660 | languageName: node 661 | linkType: hard 662 | 663 | "jsonfile@npm:^4.0.0": 664 | version: 4.0.0 665 | resolution: "jsonfile@npm:4.0.0" 666 | dependencies: 667 | graceful-fs: "npm:^4.1.6" 668 | dependenciesMeta: 669 | graceful-fs: 670 | optional: true 671 | checksum: 10c0/7dc94b628d57a66b71fb1b79510d460d662eb975b5f876d723f81549c2e9cd316d58a2ddf742b2b93a4fa6b17b2accaf1a738a0e2ea114bdfb13a32e5377e480 672 | languageName: node 673 | linkType: hard 674 | 675 | "locate-path@npm:^5.0.0": 676 | version: 5.0.0 677 | resolution: "locate-path@npm:5.0.0" 678 | dependencies: 679 | p-locate: "npm:^4.1.0" 680 | checksum: 10c0/33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59 681 | languageName: node 682 | linkType: hard 683 | 684 | "lodash.startcase@npm:^4.4.0": 685 | version: 4.4.0 686 | resolution: "lodash.startcase@npm:4.4.0" 687 | checksum: 10c0/bd82aa87a45de8080e1c5ee61128c7aee77bf7f1d86f4ff94f4a6d7438fc9e15e5f03374b947be577a93804c8ad6241f0251beaf1452bf716064eeb657b3a9f0 688 | languageName: node 689 | linkType: hard 690 | 691 | "merge2@npm:^1.3.0, merge2@npm:^1.4.1": 692 | version: 1.4.1 693 | resolution: "merge2@npm:1.4.1" 694 | checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb 695 | languageName: node 696 | linkType: hard 697 | 698 | "micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": 699 | version: 4.0.8 700 | resolution: "micromatch@npm:4.0.8" 701 | dependencies: 702 | braces: "npm:^3.0.3" 703 | picomatch: "npm:^2.3.1" 704 | checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 705 | languageName: node 706 | linkType: hard 707 | 708 | "mri@npm:^1.2.0": 709 | version: 1.2.0 710 | resolution: "mri@npm:1.2.0" 711 | checksum: 10c0/a3d32379c2554cf7351db6237ddc18dc9e54e4214953f3da105b97dc3babe0deb3ffe99cf409b38ea47cc29f9430561ba6b53b24ab8f9ce97a4b50409e4a50e7 712 | languageName: node 713 | linkType: hard 714 | 715 | "node-fetch@npm:^2.5.0": 716 | version: 2.6.11 717 | resolution: "node-fetch@npm:2.6.11" 718 | dependencies: 719 | whatwg-url: "npm:^5.0.0" 720 | peerDependencies: 721 | encoding: ^0.1.0 722 | peerDependenciesMeta: 723 | encoding: 724 | optional: true 725 | checksum: 10c0/3ec847ca43f678d07b80abfd85bdf06523c2554ee9a494c992c5fc61f5d9cde9f9f16aa33ff09a62f19eee9d54813b8850d7f054cdfee8b2daf789c57f8eeaea 726 | languageName: node 727 | linkType: hard 728 | 729 | "outdent@npm:^0.5.0": 730 | version: 0.5.0 731 | resolution: "outdent@npm:0.5.0" 732 | checksum: 10c0/e216a4498889ba1babae06af84cdc4091f7cac86da49d22d0163b3be202a5f52efcd2bcd3dfca60a361eb3a27b4299f185c5655061b6b402552d7fcd1d040cff 733 | languageName: node 734 | linkType: hard 735 | 736 | "p-filter@npm:^2.1.0": 737 | version: 2.1.0 738 | resolution: "p-filter@npm:2.1.0" 739 | dependencies: 740 | p-map: "npm:^2.0.0" 741 | checksum: 10c0/5ac34b74b3b691c04212d5dd2319ed484f591c557a850a3ffc93a08cb38c4f5540be059c6b10a185773c479ca583a91ea00c7d6c9958c815e6b74d052f356645 742 | languageName: node 743 | linkType: hard 744 | 745 | "p-limit@npm:^2.2.0": 746 | version: 2.3.0 747 | resolution: "p-limit@npm:2.3.0" 748 | dependencies: 749 | p-try: "npm:^2.0.0" 750 | checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 751 | languageName: node 752 | linkType: hard 753 | 754 | "p-locate@npm:^4.1.0": 755 | version: 4.1.0 756 | resolution: "p-locate@npm:4.1.0" 757 | dependencies: 758 | p-limit: "npm:^2.2.0" 759 | checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 760 | languageName: node 761 | linkType: hard 762 | 763 | "p-map@npm:^2.0.0": 764 | version: 2.1.0 765 | resolution: "p-map@npm:2.1.0" 766 | checksum: 10c0/735dae87badd4737a2dd582b6d8f93e49a1b79eabbc9815a4d63a528d5e3523e978e127a21d784cccb637010e32103a40d2aaa3ab23ae60250b1a820ca752043 767 | languageName: node 768 | linkType: hard 769 | 770 | "p-try@npm:^2.0.0": 771 | version: 2.2.0 772 | resolution: "p-try@npm:2.2.0" 773 | checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f 774 | languageName: node 775 | linkType: hard 776 | 777 | "package-manager-detector@npm:^0.2.0": 778 | version: 0.2.0 779 | resolution: "package-manager-detector@npm:0.2.0" 780 | checksum: 10c0/1ad699098018f9425b0f0a197537e085420ebcb7b6c49ef5a8dcff198f50d8de206f52ed10867624b7cb01bebac76396f5ac020dcff96f44154d59e6a5dcf36a 781 | languageName: node 782 | linkType: hard 783 | 784 | "path-exists@npm:^4.0.0": 785 | version: 4.0.0 786 | resolution: "path-exists@npm:4.0.0" 787 | checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b 788 | languageName: node 789 | linkType: hard 790 | 791 | "path-key@npm:^3.1.0": 792 | version: 3.1.1 793 | resolution: "path-key@npm:3.1.1" 794 | checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c 795 | languageName: node 796 | linkType: hard 797 | 798 | "path-type@npm:^4.0.0": 799 | version: 4.0.0 800 | resolution: "path-type@npm:4.0.0" 801 | checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c 802 | languageName: node 803 | linkType: hard 804 | 805 | "picocolors@npm:^1.1.0": 806 | version: 1.1.0 807 | resolution: "picocolors@npm:1.1.0" 808 | checksum: 10c0/86946f6032148801ef09c051c6fb13b5cf942eaf147e30ea79edb91dd32d700934edebe782a1078ff859fb2b816792e97ef4dab03d7f0b804f6b01a0df35e023 809 | languageName: node 810 | linkType: hard 811 | 812 | "picomatch@npm:^2.3.1": 813 | version: 2.3.1 814 | resolution: "picomatch@npm:2.3.1" 815 | checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be 816 | languageName: node 817 | linkType: hard 818 | 819 | "pify@npm:^4.0.1": 820 | version: 4.0.1 821 | resolution: "pify@npm:4.0.1" 822 | checksum: 10c0/6f9d404b0d47a965437403c9b90eca8bb2536407f03de165940e62e72c8c8b75adda5516c6b9b23675a5877cc0bcac6bdfb0ef0e39414cd2476d5495da40e7cf 823 | languageName: node 824 | linkType: hard 825 | 826 | "prettier@npm:^2.7.1": 827 | version: 2.8.8 828 | resolution: "prettier@npm:2.8.8" 829 | bin: 830 | prettier: bin-prettier.js 831 | checksum: 10c0/463ea8f9a0946cd5b828d8cf27bd8b567345cf02f56562d5ecde198b91f47a76b7ac9eae0facd247ace70e927143af6135e8cf411986b8cb8478784a4d6d724a 832 | languageName: node 833 | linkType: hard 834 | 835 | "queue-microtask@npm:^1.2.2": 836 | version: 1.2.3 837 | resolution: "queue-microtask@npm:1.2.3" 838 | checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 839 | languageName: node 840 | linkType: hard 841 | 842 | "read-yaml-file@npm:^1.1.0": 843 | version: 1.1.0 844 | resolution: "read-yaml-file@npm:1.1.0" 845 | dependencies: 846 | graceful-fs: "npm:^4.1.5" 847 | js-yaml: "npm:^3.6.1" 848 | pify: "npm:^4.0.1" 849 | strip-bom: "npm:^3.0.0" 850 | checksum: 10c0/85a9ba08bb93f3c91089bab4f1603995ec7156ee595f8ce40ae9f49d841cbb586511508bd47b7cf78c97f678c679b2c6e2c0092e63f124214af41b6f8a25ca31 851 | languageName: node 852 | linkType: hard 853 | 854 | "regenerator-runtime@npm:^0.13.11": 855 | version: 0.13.11 856 | resolution: "regenerator-runtime@npm:0.13.11" 857 | checksum: 10c0/12b069dc774001fbb0014f6a28f11c09ebfe3c0d984d88c9bced77fdb6fedbacbca434d24da9ae9371bfbf23f754869307fb51a4c98a8b8b18e5ef748677ca24 858 | languageName: node 859 | linkType: hard 860 | 861 | "resolve-from@npm:^5.0.0": 862 | version: 5.0.0 863 | resolution: "resolve-from@npm:5.0.0" 864 | checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 865 | languageName: node 866 | linkType: hard 867 | 868 | "reusify@npm:^1.0.4": 869 | version: 1.0.4 870 | resolution: "reusify@npm:1.0.4" 871 | checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 872 | languageName: node 873 | linkType: hard 874 | 875 | "run-parallel@npm:^1.1.9": 876 | version: 1.2.0 877 | resolution: "run-parallel@npm:1.2.0" 878 | dependencies: 879 | queue-microtask: "npm:^1.2.2" 880 | checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 881 | languageName: node 882 | linkType: hard 883 | 884 | "safer-buffer@npm:>= 2.1.2 < 3.0.0": 885 | version: 2.1.2 886 | resolution: "safer-buffer@npm:2.1.2" 887 | checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 888 | languageName: node 889 | linkType: hard 890 | 891 | "semver@npm:^7.5.3": 892 | version: 7.6.3 893 | resolution: "semver@npm:7.6.3" 894 | bin: 895 | semver: bin/semver.js 896 | checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf 897 | languageName: node 898 | linkType: hard 899 | 900 | "shebang-command@npm:^2.0.0": 901 | version: 2.0.0 902 | resolution: "shebang-command@npm:2.0.0" 903 | dependencies: 904 | shebang-regex: "npm:^3.0.0" 905 | checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e 906 | languageName: node 907 | linkType: hard 908 | 909 | "shebang-regex@npm:^3.0.0": 910 | version: 3.0.0 911 | resolution: "shebang-regex@npm:3.0.0" 912 | checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 913 | languageName: node 914 | linkType: hard 915 | 916 | "signal-exit@npm:^4.0.1": 917 | version: 4.1.0 918 | resolution: "signal-exit@npm:4.1.0" 919 | checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 920 | languageName: node 921 | linkType: hard 922 | 923 | "slash@npm:^3.0.0": 924 | version: 3.0.0 925 | resolution: "slash@npm:3.0.0" 926 | checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b 927 | languageName: node 928 | linkType: hard 929 | 930 | "spawndamnit@npm:^3.0.1": 931 | version: 3.0.1 932 | resolution: "spawndamnit@npm:3.0.1" 933 | dependencies: 934 | cross-spawn: "npm:^7.0.5" 935 | signal-exit: "npm:^4.0.1" 936 | checksum: 10c0/a9821a59bc78a665bd44718dea8f4f4010bb1a374972b0a6a1633b9186cda6d6fd93f22d1e49d9944d6bb175ba23ce29036a4bd624884fb157d981842c3682f3 937 | languageName: node 938 | linkType: hard 939 | 940 | "sprintf-js@npm:~1.0.2": 941 | version: 1.0.3 942 | resolution: "sprintf-js@npm:1.0.3" 943 | checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb 944 | languageName: node 945 | linkType: hard 946 | 947 | "strip-ansi@npm:^6.0.1": 948 | version: 6.0.1 949 | resolution: "strip-ansi@npm:6.0.1" 950 | dependencies: 951 | ansi-regex: "npm:^5.0.1" 952 | checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 953 | languageName: node 954 | linkType: hard 955 | 956 | "strip-bom@npm:^3.0.0": 957 | version: 3.0.0 958 | resolution: "strip-bom@npm:3.0.0" 959 | checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 960 | languageName: node 961 | linkType: hard 962 | 963 | "term-size@npm:^2.1.0": 964 | version: 2.2.1 965 | resolution: "term-size@npm:2.2.1" 966 | checksum: 10c0/89f6bba1d05d425156c0910982f9344d9e4aebf12d64bfa1f460d93c24baa7bc4c4a21d355fbd7153c316433df0538f64d0ae6e336cc4a69fdda4f85d62bc79d 967 | languageName: node 968 | linkType: hard 969 | 970 | "to-regex-range@npm:^5.0.1": 971 | version: 5.0.1 972 | resolution: "to-regex-range@npm:5.0.1" 973 | dependencies: 974 | is-number: "npm:^7.0.0" 975 | checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 976 | languageName: node 977 | linkType: hard 978 | 979 | "tr46@npm:~0.0.3": 980 | version: 0.0.3 981 | resolution: "tr46@npm:0.0.3" 982 | checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 983 | languageName: node 984 | linkType: hard 985 | 986 | "tslib@npm:^2.4.0": 987 | version: 2.4.1 988 | resolution: "tslib@npm:2.4.1" 989 | checksum: 10c0/9ac0e4fd1033861f0b4f0d848dc3009ebcc3aa4757a06e8602a2d8a7aed252810e3540e54e70709f06c0f95311faa8584f769bcbede48aff785eb7e4d399b9ec 990 | languageName: node 991 | linkType: hard 992 | 993 | "universalify@npm:^0.1.0": 994 | version: 0.1.2 995 | resolution: "universalify@npm:0.1.2" 996 | checksum: 10c0/e70e0339f6b36f34c9816f6bf9662372bd241714dc77508d231d08386d94f2c4aa1ba1318614f92015f40d45aae1b9075cd30bd490efbe39387b60a76ca3f045 997 | languageName: node 998 | linkType: hard 999 | 1000 | "webidl-conversions@npm:^3.0.0": 1001 | version: 3.0.1 1002 | resolution: "webidl-conversions@npm:3.0.1" 1003 | checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db 1004 | languageName: node 1005 | linkType: hard 1006 | 1007 | "whatwg-url@npm:^5.0.0": 1008 | version: 5.0.0 1009 | resolution: "whatwg-url@npm:5.0.0" 1010 | dependencies: 1011 | tr46: "npm:~0.0.3" 1012 | webidl-conversions: "npm:^3.0.0" 1013 | checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 1014 | languageName: node 1015 | linkType: hard 1016 | 1017 | "which@npm:^2.0.1": 1018 | version: 2.0.2 1019 | resolution: "which@npm:2.0.2" 1020 | dependencies: 1021 | isexe: "npm:^2.0.0" 1022 | bin: 1023 | node-which: ./bin/node-which 1024 | checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f 1025 | languageName: node 1026 | linkType: hard 1027 | 1028 | "yarn-lock-to-package-json@workspace:.": 1029 | version: 0.0.0-use.local 1030 | resolution: "yarn-lock-to-package-json@workspace:." 1031 | dependencies: 1032 | "@changesets/changelog-github": "npm:^0.5.1" 1033 | "@changesets/cli": "npm:^2.29.7" 1034 | "@yarnpkg/parsers": "npm:^3.0.3" 1035 | zx: "npm:^8.8.4" 1036 | bin: 1037 | yarn-lock-to-package-json: cli.js 1038 | languageName: unknown 1039 | linkType: soft 1040 | 1041 | "zx@npm:^8.8.4": 1042 | version: 8.8.4 1043 | resolution: "zx@npm:8.8.4" 1044 | bin: 1045 | zx: build/cli.js 1046 | checksum: 10c0/fc03f24d9aef12bcff8b96a5f728f5fe3dd2952db73180f06348359fedbacfbd6a272684ba2d5b601cdd90a53ccc8ed5b97c3156b613aa04080183a8d7d41dd0 1047 | languageName: node 1048 | linkType: hard 1049 | --------------------------------------------------------------------------------