@antongolub/lockfile 0.0.0-snapshot.14 → 0.0.0-snapshot.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -11
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -60,9 +60,9 @@ idx.edges
|
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
### Terms
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
`nmtree` — fs projection of deps, directories structure
|
|
64
|
+
`deptree` — bounds full dep paths with their resolved packages
|
|
65
|
+
`depgraph` — describes how resolved pkgs are related with each other
|
|
66
66
|
|
|
67
67
|
### Lockfiles types
|
|
68
68
|
| Package manager | Meta format | Read | Write |
|
|
@@ -73,7 +73,7 @@ idx.edges
|
|
|
73
73
|
| yarn 1 (classic) | 1 | ✓ | ✓ |
|
|
74
74
|
| yarn 2, 3, 4 (berry) | 5, 6, 7 | ✓ | ✓ |
|
|
75
75
|
|
|
76
|
-
###
|
|
76
|
+
### Dependency protocols
|
|
77
77
|
| Type | Supported | Example | Description |
|
|
78
78
|
|-----------|-----------|-----------------------------------------|----------------------------------------------------------------|
|
|
79
79
|
| semver | ✓ | `^1.2.3` | Resolves from the default registry |
|
|
@@ -88,8 +88,9 @@ idx.edges
|
|
|
88
88
|
| portal | | `portal:./my-folder` | Creates a link to the ./my-folder folder (follow dependencies) |
|
|
89
89
|
| workspace | _limited_ | `workspace:*` | Creates a link to a package in another workspace |
|
|
90
90
|
|
|
91
|
-
https://v3.yarnpkg.com/features/protocols
|
|
92
|
-
https://yarnpkg.com/protocols
|
|
91
|
+
https://v3.yarnpkg.com/features/protocols
|
|
92
|
+
https://yarnpkg.com/protocols
|
|
93
|
+
https://docs.npmjs.com/cli/v10/configuring-npm/package-json#dependencies
|
|
93
94
|
|
|
94
95
|
### `TSnapshot`
|
|
95
96
|
```ts
|
|
@@ -107,8 +108,8 @@ export type TEntry = {
|
|
|
107
108
|
md5?: string
|
|
108
109
|
}
|
|
109
110
|
source: {
|
|
110
|
-
type:
|
|
111
|
-
id:
|
|
111
|
+
type: TSourceType // npm, workspace, gh, patch, etc
|
|
112
|
+
id: string
|
|
112
113
|
registry?: string
|
|
113
114
|
}
|
|
114
115
|
// optional pm-specific lockfile meta
|
|
@@ -123,7 +124,7 @@ export type TEntry = {
|
|
|
123
124
|
bin?: Record<string, string>
|
|
124
125
|
engines?: Record<string, string>
|
|
125
126
|
funding?: Record<string, string>
|
|
126
|
-
}
|
|
127
|
+
}
|
|
127
128
|
```
|
|
128
129
|
|
|
129
130
|
### `TSnapshotIndex`
|
|
@@ -156,7 +157,7 @@ export interface TSnapshotIndex {
|
|
|
156
157
|
* yarn berry: no idea how to resolve and inject PnP patches https://github.com/yarnpkg/berry/tree/master/packages/plugin-compat
|
|
157
158
|
* npm2 and npm3 requires `engines` and `funding` data, while yarn* or npm1 does not contain it
|
|
158
159
|
* many `nmtree` projections may correspond to the specified `depgraph`
|
|
159
|
-
* pkg.json `resolutions`
|
|
160
|
+
* pkg.json `resolutions` and `overrides` directives are completely ignored for now
|
|
160
161
|
* pkg aliases are not supported yet [#2](https://github.com/antongolub/lockfile/issues/2#issuecomment-1786613893)
|
|
161
162
|
|
|
162
163
|
### Inspired by
|
|
@@ -171,6 +172,12 @@ export interface TSnapshotIndex {
|
|
|
171
172
|
* [what-is-package-lock-json](https://snyk.io/blog/what-is-package-lock-json/)
|
|
172
173
|
* [the-ultimate-guide-to-yarn-lock-lockfiles](https://www.arahansen.com/the-ultimate-guide-to-yarn-lock-lockfiles/)
|
|
173
174
|
* [package-lock-json-the-complete-guide](https://medium.com/helpshift-engineering/package-lock-json-the-complete-guide-2ae40175ebdd)
|
|
175
|
+
<details>
|
|
176
|
+
<summary>more</summary>
|
|
177
|
+
|
|
178
|
+
* [cvent/pnpm-lock-export](https://github.com/cvent/pnpm-lock-export)
|
|
179
|
+
* [why-keep-package-lockjson](https://blog.npmjs.org/post/621733939456933888/npm-v7-series-why-keep-package-lockjson.html)
|
|
180
|
+
</details>
|
|
174
181
|
|
|
175
|
-
|
|
182
|
+
## License
|
|
176
183
|
[MIT](./LICENSE)
|