+5583
-518
lines changed Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
1
+
releases:
2
+
"@yarnpkg/cli": minor
3
+
"@yarnpkg/libzip": minor
4
+
"@yarnpkg/plugin-pnp": minor
5
+
"@yarnpkg/pnp": minor
6
+
7
+
declined:
8
+
- "@yarnpkg/plugin-compat"
9
+
- "@yarnpkg/plugin-constraints"
10
+
- "@yarnpkg/plugin-dlx"
11
+
- "@yarnpkg/plugin-essentials"
12
+
- "@yarnpkg/plugin-file"
13
+
- "@yarnpkg/plugin-init"
14
+
- "@yarnpkg/plugin-interactive-tools"
15
+
- "@yarnpkg/plugin-nm"
16
+
- "@yarnpkg/plugin-npm-cli"
17
+
- "@yarnpkg/plugin-pack"
18
+
- "@yarnpkg/plugin-patch"
19
+
- "@yarnpkg/plugin-pnpm"
20
+
- "@yarnpkg/plugin-stage"
21
+
- "@yarnpkg/plugin-typescript"
22
+
- "@yarnpkg/plugin-version"
23
+
- "@yarnpkg/plugin-workspace-tools"
24
+
- vscode-zipfs
25
+
- "@yarnpkg/builder"
26
+
- "@yarnpkg/core"
27
+
- "@yarnpkg/doctor"
28
+
- "@yarnpkg/fslib"
29
+
- "@yarnpkg/nm"
30
+
- "@yarnpkg/pnpify"
31
+
- "@yarnpkg/sdks"
Original file line number Diff line number Diff line change
@@ -15,6 +15,8 @@ immutablePatterns:
15
15
16
16
initScope: yarnpkg
17
17
18
+
pnpZipBackend: js
19
+
18
20
npmPublishAccess: public
19
21
20
22
packageExtensions:
Original file line number Diff line number Diff line change
@@ -5,6 +5,9 @@ const {
5
5
6
6
const configs = [{
7
7
nodeLinker: `pnp`,
8
+
}, {
9
+
nodeLinker: `pnp`,
10
+
pnpZipBackend: `js`,
8
11
}, {
9
12
nodeLinker: `pnpm`,
10
13
}, {
@@ -13,7 +16,7 @@ const configs = [{
13
16
14
17
describe(`Basic tests`, () => {
15
18
for (const config of configs) {
16
-
describe(`w/ the ${config.nodeLinker} linker`, () => {
19
+
describe(`w/ the ${config.nodeLinker} linker${config.pnpZipBackend ? ` and ${config.pnpZipBackend} zip backend` : ``}`, () => {
17
20
test(
18
21
`it should correctly handle browser fields in package.json`,
19
22
makeTemporaryEnv(
Original file line number Diff line number Diff line change
@@ -267,6 +267,7 @@ export class PnpInstaller implements Installer {
267
267
const ignorePattern = miscUtils.buildIgnorePattern([`.yarn/sdks/**`, ...this.opts.project.configuration.get(`pnpIgnorePatterns`)]);
268
268
const packageRegistry = this.packageRegistry;
269
269
const shebang = this.opts.project.configuration.get(`pnpShebang`);
270
+
const pnpZipBackend = this.opts.project.configuration.get(`pnpZipBackend`);
270
271
271
272
if (pnpFallbackMode === `dependencies-only`)
272
273
for (const pkg of this.opts.project.storedPackages.values())
@@ -281,6 +282,7 @@ export class PnpInstaller implements Installer {
281
282
fallbackExclusionList,
282
283
fallbackPool,
283
284
ignorePattern,
285
+
pnpZipBackend,
284
286
packageRegistry,
285
287
shebang,
286
288
});
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
1
1
import {Hooks as CoreHooks, Plugin, Project, SettingsType, WindowsLinkType} from '@yarnpkg/core';
2
2
import {Filename, PortablePath, npath, ppath, xfs} from '@yarnpkg/fslib';
3
3
import {Hooks as StageHooks} from '@yarnpkg/plugin-stage';
4
+
import {PnpZipBackend} from '@yarnpkg/pnp';
4
5
import {pathToFileURL} from 'url';
5
6
6
7
import {PnpLinker} from './PnpLinker';
@@ -70,12 +71,14 @@ declare module '@yarnpkg/core' {
70
71
nodeLinker: string;
71
72
winLinkType: string;
72
73
pnpMode: string;
74
+
minizip: boolean;
73
75
pnpShebang: string;
74
76
pnpIgnorePatterns: Array<string>;
75
77
pnpEnableEsmLoader: boolean;
76
78
pnpEnableInlining: boolean;
77
79
pnpFallbackMode: string;
78
80
pnpUnpluggedFolder: PortablePath;
81
+
pnpZipBackend: PnpZipBackend;
79
82
}
80
83
}
81
84
@@ -90,6 +93,11 @@ const plugin: Plugin<CoreHooks & StageHooks> = {
90
93
type: SettingsType.STRING,
91
94
default: `pnp`,
92
95
},
96
+
minizip: {
97
+
description: `Whether Yarn should use minizip to extract archives`,
98
+
type: SettingsType.BOOLEAN,
99
+
default: false,
100
+
},
93
101
winLinkType: {
94
102
description: `Whether Yarn should use Windows Junctions or symlinks when creating links on Windows.`,
95
103
type: SettingsType.STRING,
@@ -115,6 +123,15 @@ const plugin: Plugin<CoreHooks & StageHooks> = {
115
123
default: [],
116
124
isArray: true,
117
125
},
126
+
pnpZipBackend: {
127
+
description: `Whether to use the experimental js implementation for the ZipFS`,
128
+
type: SettingsType.STRING,
129
+
values: [
130
+
`libzip`,
131
+
`js`,
132
+
],
133
+
default: `libzip`,
134
+
},
118
135
pnpEnableEsmLoader: {
119
136
description: `If true, Yarn will generate an ESM loader (\`.pnp.loader.mjs\`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.`,
120
137
type: SettingsType.BOOLEAN,
Original file line number Diff line number Diff line change
@@ -38,6 +38,7 @@
38
38
},
39
39
"devDependencies": {
40
40
"@types/prettier": "1.19.0",
41
+
"globby": "^11.0.1",
41
42
"prettier": "^1.19.1"
42
43
},
43
44
"dependencies": {
You can’t perform that action at this time.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4