@yarnpkg/plugin-essentials 4.0.0-rc.8 → 4.0.0

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.
Files changed (69) hide show
  1. package/lib/commands/add.d.ts +1 -1
  2. package/lib/commands/add.js +34 -25
  3. package/lib/commands/bin.d.ts +1 -1
  4. package/lib/commands/bin.js +1 -1
  5. package/lib/commands/cache/clean.d.ts +1 -1
  6. package/lib/commands/cache/clean.js +1 -1
  7. package/lib/commands/config/get.d.ts +2 -1
  8. package/lib/commands/config/get.js +4 -1
  9. package/lib/commands/config/set.d.ts +1 -1
  10. package/lib/commands/config/set.js +1 -1
  11. package/lib/commands/config/unset.d.ts +1 -1
  12. package/lib/commands/config/unset.js +1 -1
  13. package/lib/commands/config.d.ts +5 -3
  14. package/lib/commands/config.js +96 -39
  15. package/lib/commands/dedupe.d.ts +1 -1
  16. package/lib/commands/dedupe.js +7 -8
  17. package/lib/commands/entries/clipanion.js +1 -1
  18. package/lib/commands/entries/help.js +1 -1
  19. package/lib/commands/entries/version.js +1 -1
  20. package/lib/commands/exec.js +1 -1
  21. package/lib/commands/explain/peerRequirements.d.ts +2 -2
  22. package/lib/commands/explain/peerRequirements.js +4 -6
  23. package/lib/commands/explain.js +1 -1
  24. package/lib/commands/info.js +10 -18
  25. package/lib/commands/install.d.ts +1 -1
  26. package/lib/commands/install.js +245 -205
  27. package/lib/commands/link.d.ts +2 -2
  28. package/lib/commands/link.js +36 -32
  29. package/lib/commands/node.js +1 -1
  30. package/lib/commands/plugin/check.d.ts +8 -0
  31. package/lib/commands/plugin/check.js +61 -0
  32. package/lib/commands/plugin/import/sources.d.ts +3 -3
  33. package/lib/commands/plugin/import/sources.js +5 -5
  34. package/lib/commands/plugin/import.d.ts +5 -4
  35. package/lib/commands/plugin/import.js +15 -28
  36. package/lib/commands/plugin/list.d.ts +2 -2
  37. package/lib/commands/plugin/list.js +5 -6
  38. package/lib/commands/plugin/remove.d.ts +1 -1
  39. package/lib/commands/plugin/remove.js +14 -13
  40. package/lib/commands/plugin/runtime.d.ts +2 -2
  41. package/lib/commands/plugin/runtime.js +4 -4
  42. package/lib/commands/rebuild.d.ts +2 -2
  43. package/lib/commands/rebuild.js +10 -10
  44. package/lib/commands/remove.d.ts +1 -1
  45. package/lib/commands/remove.js +7 -8
  46. package/lib/commands/run.js +1 -1
  47. package/lib/commands/runIndex.d.ts +2 -2
  48. package/lib/commands/runIndex.js +3 -3
  49. package/lib/commands/set/resolution.d.ts +1 -1
  50. package/lib/commands/set/resolution.js +4 -6
  51. package/lib/commands/set/version/sources.d.ts +3 -2
  52. package/lib/commands/set/version/sources.js +21 -12
  53. package/lib/commands/set/version.d.ts +2 -3
  54. package/lib/commands/set/version.js +20 -16
  55. package/lib/commands/unlink.d.ts +1 -1
  56. package/lib/commands/unlink.js +7 -8
  57. package/lib/commands/up.d.ts +3 -3
  58. package/lib/commands/up.js +19 -17
  59. package/lib/commands/why.js +5 -13
  60. package/lib/commands/workspace.js +2 -5
  61. package/lib/commands/workspaces/list.d.ts +2 -1
  62. package/lib/commands/workspaces/list.js +8 -1
  63. package/lib/dedupeUtils.d.ts +3 -3
  64. package/lib/dedupeUtils.js +3 -5
  65. package/lib/index.d.ts +76 -1
  66. package/lib/index.js +40 -1
  67. package/lib/suggestUtils.d.ts +4 -4
  68. package/lib/suggestUtils.js +14 -12
  69. package/package.json +22 -17
package/lib/index.d.ts CHANGED
@@ -1,8 +1,83 @@
1
1
  import { Descriptor, Plugin, Package, formatUtils } from '@yarnpkg/core';
2
2
  import { Workspace } from '@yarnpkg/core';
3
+ import AddCommand from './commands/add';
4
+ import BinCommand from './commands/bin';
5
+ import CacheCleanCommand from './commands/cache/clean';
6
+ import ConfigGetCommand from './commands/config/get';
7
+ import ConfigSetCommand from './commands/config/set';
8
+ import ConfigUnsetCommand from './commands/config/unset';
9
+ import ConfigCommand from './commands/config';
10
+ import DedupeCommand from './commands/dedupe';
11
+ import ClipanionCommand from './commands/entries/clipanion';
12
+ import HelpCommand from './commands/entries/help';
13
+ import EntryCommand from './commands/entries/run';
14
+ import VersionCommand from './commands/entries/version';
15
+ import ExecCommand from './commands/exec';
16
+ import ExplainPeerRequirementsCommand from './commands/explain/peerRequirements';
17
+ import ExplainCommand from './commands/explain';
18
+ import InfoCommand from './commands/info';
19
+ import YarnCommand from './commands/install';
20
+ import LinkCommand from './commands/link';
21
+ import NodeCommand from './commands/node';
22
+ import PluginCheckCommand from './commands/plugin/check';
23
+ import PluginImportSourcesCommand from './commands/plugin/import/sources';
24
+ import PluginImportCommand from './commands/plugin/import';
25
+ import PluginListCommand from './commands/plugin/list';
26
+ import PluginRemoveCommand from './commands/plugin/remove';
27
+ import PluginRuntimeCommand from './commands/plugin/runtime';
28
+ import RebuildCommand from './commands/rebuild';
29
+ import RemoveCommand from './commands/remove';
30
+ import RunIndexCommand from './commands/runIndex';
31
+ import RunCommand from './commands/run';
32
+ import SetResolutionCommand from './commands/set/resolution';
33
+ import SetVersionSourcesCommand from './commands/set/version/sources';
34
+ import SetVersionCommand from './commands/set/version';
35
+ import UnlinkCommand from './commands/unlink';
36
+ import UpCommand from './commands/up';
37
+ import WhyCommand from './commands/why';
38
+ import WorkspacesListCommand from './commands/workspaces/list';
39
+ import WorkspaceCommand from './commands/workspace';
3
40
  import * as dedupeUtils from './dedupeUtils';
4
41
  import * as suggestUtils from './suggestUtils';
5
- export { dedupeUtils, suggestUtils, };
42
+ export { AddCommand };
43
+ export { BinCommand };
44
+ export { CacheCleanCommand };
45
+ export { ConfigGetCommand };
46
+ export { ConfigSetCommand };
47
+ export { ConfigUnsetCommand };
48
+ export { ConfigCommand };
49
+ export { DedupeCommand };
50
+ export { ClipanionCommand };
51
+ export { HelpCommand };
52
+ export { EntryCommand };
53
+ export { VersionCommand };
54
+ export { ExecCommand };
55
+ export { ExplainPeerRequirementsCommand };
56
+ export { ExplainCommand };
57
+ export { InfoCommand };
58
+ export { YarnCommand };
59
+ export { LinkCommand };
60
+ export { NodeCommand };
61
+ export { PluginImportSourcesCommand };
62
+ export { PluginCheckCommand };
63
+ export { PluginImportCommand };
64
+ export { PluginListCommand };
65
+ export { PluginRemoveCommand };
66
+ export { PluginRuntimeCommand };
67
+ export { RebuildCommand };
68
+ export { RemoveCommand };
69
+ export { RunIndexCommand };
70
+ export { RunCommand };
71
+ export { SetResolutionCommand };
72
+ export { SetVersionSourcesCommand };
73
+ export { SetVersionCommand };
74
+ export { UnlinkCommand };
75
+ export { UpCommand };
76
+ export { WhyCommand };
77
+ export { WorkspacesListCommand };
78
+ export { WorkspaceCommand };
79
+ export { dedupeUtils };
80
+ export { suggestUtils };
6
81
  export interface Hooks {
7
82
  /**
8
83
  * Called when a new dependency is added to a workspace. Note that this hook
package/lib/index.js CHANGED
@@ -1,45 +1,83 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.suggestUtils = exports.dedupeUtils = void 0;
3
+ exports.suggestUtils = exports.dedupeUtils = exports.WorkspaceCommand = exports.WorkspacesListCommand = exports.WhyCommand = exports.UpCommand = exports.UnlinkCommand = exports.SetVersionCommand = exports.SetVersionSourcesCommand = exports.SetResolutionCommand = exports.RunCommand = exports.RunIndexCommand = exports.RemoveCommand = exports.RebuildCommand = exports.PluginRuntimeCommand = exports.PluginRemoveCommand = exports.PluginListCommand = exports.PluginImportCommand = exports.PluginCheckCommand = exports.PluginImportSourcesCommand = exports.NodeCommand = exports.LinkCommand = exports.YarnCommand = exports.InfoCommand = exports.ExplainCommand = exports.ExplainPeerRequirementsCommand = exports.ExecCommand = exports.VersionCommand = exports.EntryCommand = exports.HelpCommand = exports.ClipanionCommand = exports.DedupeCommand = exports.ConfigCommand = exports.ConfigUnsetCommand = exports.ConfigSetCommand = exports.ConfigGetCommand = exports.CacheCleanCommand = exports.BinCommand = exports.AddCommand = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const core_1 = require("@yarnpkg/core");
6
6
  const ci_info_1 = require("ci-info");
7
7
  const add_1 = tslib_1.__importDefault(require("./commands/add"));
8
+ exports.AddCommand = add_1.default;
8
9
  const bin_1 = tslib_1.__importDefault(require("./commands/bin"));
10
+ exports.BinCommand = bin_1.default;
9
11
  const clean_1 = tslib_1.__importDefault(require("./commands/cache/clean"));
12
+ exports.CacheCleanCommand = clean_1.default;
10
13
  const get_1 = tslib_1.__importDefault(require("./commands/config/get"));
14
+ exports.ConfigGetCommand = get_1.default;
11
15
  const set_1 = tslib_1.__importDefault(require("./commands/config/set"));
16
+ exports.ConfigSetCommand = set_1.default;
12
17
  const unset_1 = tslib_1.__importDefault(require("./commands/config/unset"));
18
+ exports.ConfigUnsetCommand = unset_1.default;
13
19
  const config_1 = tslib_1.__importDefault(require("./commands/config"));
20
+ exports.ConfigCommand = config_1.default;
14
21
  const dedupe_1 = tslib_1.__importDefault(require("./commands/dedupe"));
22
+ exports.DedupeCommand = dedupe_1.default;
15
23
  const clipanion_1 = tslib_1.__importDefault(require("./commands/entries/clipanion"));
24
+ exports.ClipanionCommand = clipanion_1.default;
16
25
  const help_1 = tslib_1.__importDefault(require("./commands/entries/help"));
26
+ exports.HelpCommand = help_1.default;
17
27
  const run_1 = tslib_1.__importDefault(require("./commands/entries/run"));
28
+ exports.EntryCommand = run_1.default;
18
29
  const version_1 = tslib_1.__importDefault(require("./commands/entries/version"));
30
+ exports.VersionCommand = version_1.default;
19
31
  const exec_1 = tslib_1.__importDefault(require("./commands/exec"));
32
+ exports.ExecCommand = exec_1.default;
20
33
  const peerRequirements_1 = tslib_1.__importDefault(require("./commands/explain/peerRequirements"));
34
+ exports.ExplainPeerRequirementsCommand = peerRequirements_1.default;
21
35
  const explain_1 = tslib_1.__importDefault(require("./commands/explain"));
36
+ exports.ExplainCommand = explain_1.default;
22
37
  const info_1 = tslib_1.__importDefault(require("./commands/info"));
38
+ exports.InfoCommand = info_1.default;
23
39
  const install_1 = tslib_1.__importDefault(require("./commands/install"));
40
+ exports.YarnCommand = install_1.default;
24
41
  const link_1 = tslib_1.__importDefault(require("./commands/link"));
42
+ exports.LinkCommand = link_1.default;
25
43
  const node_1 = tslib_1.__importDefault(require("./commands/node"));
44
+ exports.NodeCommand = node_1.default;
45
+ const check_1 = tslib_1.__importDefault(require("./commands/plugin/check"));
46
+ exports.PluginCheckCommand = check_1.default;
26
47
  const sources_1 = tslib_1.__importDefault(require("./commands/plugin/import/sources"));
48
+ exports.PluginImportSourcesCommand = sources_1.default;
27
49
  const import_1 = tslib_1.__importDefault(require("./commands/plugin/import"));
50
+ exports.PluginImportCommand = import_1.default;
28
51
  const list_1 = tslib_1.__importDefault(require("./commands/plugin/list"));
52
+ exports.PluginListCommand = list_1.default;
29
53
  const remove_1 = tslib_1.__importDefault(require("./commands/plugin/remove"));
54
+ exports.PluginRemoveCommand = remove_1.default;
30
55
  const runtime_1 = tslib_1.__importDefault(require("./commands/plugin/runtime"));
56
+ exports.PluginRuntimeCommand = runtime_1.default;
31
57
  const rebuild_1 = tslib_1.__importDefault(require("./commands/rebuild"));
58
+ exports.RebuildCommand = rebuild_1.default;
32
59
  const remove_2 = tslib_1.__importDefault(require("./commands/remove"));
60
+ exports.RemoveCommand = remove_2.default;
33
61
  const runIndex_1 = tslib_1.__importDefault(require("./commands/runIndex"));
62
+ exports.RunIndexCommand = runIndex_1.default;
34
63
  const run_2 = tslib_1.__importDefault(require("./commands/run"));
64
+ exports.RunCommand = run_2.default;
35
65
  const resolution_1 = tslib_1.__importDefault(require("./commands/set/resolution"));
66
+ exports.SetResolutionCommand = resolution_1.default;
36
67
  const sources_2 = tslib_1.__importDefault(require("./commands/set/version/sources"));
68
+ exports.SetVersionSourcesCommand = sources_2.default;
37
69
  const version_2 = tslib_1.__importDefault(require("./commands/set/version"));
70
+ exports.SetVersionCommand = version_2.default;
38
71
  const unlink_1 = tslib_1.__importDefault(require("./commands/unlink"));
72
+ exports.UnlinkCommand = unlink_1.default;
39
73
  const up_1 = tslib_1.__importDefault(require("./commands/up"));
74
+ exports.UpCommand = up_1.default;
40
75
  const why_1 = tslib_1.__importDefault(require("./commands/why"));
76
+ exports.WhyCommand = why_1.default;
41
77
  const list_2 = tslib_1.__importDefault(require("./commands/workspaces/list"));
78
+ exports.WorkspacesListCommand = list_2.default;
42
79
  const workspace_1 = tslib_1.__importDefault(require("./commands/workspace"));
80
+ exports.WorkspaceCommand = workspace_1.default;
43
81
  const dedupeUtils = tslib_1.__importStar(require("./dedupeUtils"));
44
82
  exports.dedupeUtils = dedupeUtils;
45
83
  const suggestUtils = tslib_1.__importStar(require("./suggestUtils"));
@@ -88,6 +126,7 @@ const plugin = {
88
126
  link_1.default,
89
127
  unlink_1.default,
90
128
  node_1.default,
129
+ check_1.default,
91
130
  sources_1.default,
92
131
  import_1.default,
93
132
  remove_1.default,
@@ -1,16 +1,16 @@
1
1
  import { Cache, DescriptorHash, Descriptor, Ident, Locator, Project, Workspace } from '@yarnpkg/core';
2
2
  import { PortablePath } from '@yarnpkg/fslib';
3
- export declare type Suggestion = {
3
+ export type Suggestion = {
4
4
  descriptor: Descriptor;
5
5
  name: string;
6
6
  reason: string;
7
7
  };
8
- export declare type NullableSuggestion = {
8
+ export type NullableSuggestion = {
9
9
  descriptor: Descriptor | null;
10
10
  name: string;
11
11
  reason: string;
12
12
  };
13
- export declare type Results = {
13
+ export type Results = {
14
14
  suggestions: Array<NullableSuggestion>;
15
15
  rejections: Array<Error>;
16
16
  };
@@ -88,7 +88,7 @@ export declare function getSuggestedDescriptors(request: Descriptor, { project,
88
88
  strategies: Array<Strategy>;
89
89
  maxResults?: number;
90
90
  }): Promise<Results>;
91
- export declare type FetchDescriptorFromOptions = {
91
+ export type FetchDescriptorFromOptions = {
92
92
  project: Project;
93
93
  cache: Cache;
94
94
  workspace: Workspace;
@@ -12,19 +12,19 @@ var Target;
12
12
  Target["REGULAR"] = "dependencies";
13
13
  Target["DEVELOPMENT"] = "devDependencies";
14
14
  Target["PEER"] = "peerDependencies";
15
- })(Target = exports.Target || (exports.Target = {}));
15
+ })(Target || (exports.Target = Target = {}));
16
16
  var Modifier;
17
17
  (function (Modifier) {
18
18
  Modifier["CARET"] = "^";
19
19
  Modifier["TILDE"] = "~";
20
20
  Modifier["EXACT"] = "";
21
- })(Modifier = exports.Modifier || (exports.Modifier = {}));
21
+ })(Modifier || (exports.Modifier = Modifier = {}));
22
22
  var WorkspaceModifier;
23
23
  (function (WorkspaceModifier) {
24
24
  WorkspaceModifier["CARET"] = "^";
25
25
  WorkspaceModifier["TILDE"] = "~";
26
26
  WorkspaceModifier["EXACT"] = "*";
27
- })(WorkspaceModifier = exports.WorkspaceModifier || (exports.WorkspaceModifier = {}));
27
+ })(WorkspaceModifier || (exports.WorkspaceModifier = WorkspaceModifier = {}));
28
28
  var Strategy;
29
29
  (function (Strategy) {
30
30
  /**
@@ -52,7 +52,7 @@ var Strategy;
52
52
  * versions of the package that are already within our cache.
53
53
  */
54
54
  Strategy["CACHE"] = "cache";
55
- })(Strategy = exports.Strategy || (exports.Strategy = {}));
55
+ })(Strategy || (exports.Strategy = Strategy = {}));
56
56
  function getModifier(flags, project) {
57
57
  if (flags.exact)
58
58
  return Modifier.EXACT;
@@ -109,7 +109,7 @@ async function findProjectDescriptors(ident, { project, target }) {
109
109
  if (target === Target.PEER) {
110
110
  const peerDescriptor = workspace.manifest.peerDependencies.get(ident.identHash);
111
111
  if (peerDescriptor !== undefined) {
112
- getDescriptorEntry(peerDescriptor).locators.push(workspace.locator);
112
+ getDescriptorEntry(peerDescriptor).locators.push(workspace.anchoredLocator);
113
113
  }
114
114
  }
115
115
  else {
@@ -117,18 +117,18 @@ async function findProjectDescriptors(ident, { project, target }) {
117
117
  const developmentDescriptor = workspace.manifest.devDependencies.get(ident.identHash);
118
118
  if (target === Target.DEVELOPMENT) {
119
119
  if (developmentDescriptor !== undefined) {
120
- getDescriptorEntry(developmentDescriptor).locators.push(workspace.locator);
120
+ getDescriptorEntry(developmentDescriptor).locators.push(workspace.anchoredLocator);
121
121
  }
122
122
  else if (regularDescriptor !== undefined) {
123
- getDescriptorEntry(regularDescriptor).locators.push(workspace.locator);
123
+ getDescriptorEntry(regularDescriptor).locators.push(workspace.anchoredLocator);
124
124
  }
125
125
  }
126
126
  else {
127
127
  if (regularDescriptor !== undefined) {
128
- getDescriptorEntry(regularDescriptor).locators.push(workspace.locator);
128
+ getDescriptorEntry(regularDescriptor).locators.push(workspace.anchoredLocator);
129
129
  }
130
130
  else if (developmentDescriptor !== undefined) {
131
- getDescriptorEntry(developmentDescriptor).locators.push(workspace.locator);
131
+ getDescriptorEntry(developmentDescriptor).locators.push(workspace.anchoredLocator);
132
132
  }
133
133
  }
134
134
  }
@@ -269,6 +269,8 @@ async function getSuggestedDescriptors(request, { project, workspace, cache, tar
269
269
  break;
270
270
  case Strategy.LATEST:
271
271
  {
272
+ const hasNetwork = project.configuration.get(`enableNetwork`);
273
+ const isOfflineMode = project.configuration.get(`enableOfflineMode`);
272
274
  await trySuggest(async () => {
273
275
  if (target === Target.PEER) {
274
276
  suggested.push({
@@ -277,7 +279,7 @@ async function getSuggestedDescriptors(request, { project, workspace, cache, tar
277
279
  reason: `(catch-all peer dependency pattern)`,
278
280
  });
279
281
  }
280
- else if (!project.configuration.get(`enableNetwork`)) {
282
+ else if (!hasNetwork && !isOfflineMode) {
281
283
  suggested.push({
282
284
  descriptor: null,
283
285
  name: `Resolve from latest`,
@@ -290,7 +292,7 @@ async function getSuggestedDescriptors(request, { project, workspace, cache, tar
290
292
  suggested.push({
291
293
  descriptor: latest,
292
294
  name: `Use ${core_2.structUtils.prettyDescriptor(project.configuration, latest)}`,
293
- reason: `(resolved from latest)`,
295
+ reason: `(resolved from ${isOfflineMode ? `the cache` : `latest`})`,
294
296
  });
295
297
  }
296
298
  }
@@ -310,7 +312,7 @@ async function fetchDescriptorFrom(ident, range, { project, cache, workspace, pr
310
312
  const report = new core_1.ThrowReport();
311
313
  const fetcher = project.configuration.makeFetcher();
312
314
  const resolver = project.configuration.makeResolver();
313
- const fetchOptions = { project, fetcher, cache, checksums: project.storedChecksums, report, cacheOptions: { skipIntegrityCheck: true }, skipIntegrityCheck: true };
315
+ const fetchOptions = { project, fetcher, cache, checksums: project.storedChecksums, report, cacheOptions: { skipIntegrityCheck: true } };
314
316
  const resolveOptions = { ...fetchOptions, resolver, fetchOptions };
315
317
  // The descriptor has to be bound for the resolvers that need a parent locator. (e.g. FileResolver)
316
318
  // If we didn't bind it, `yarn add ./folder` wouldn't work.
package/package.json CHANGED
@@ -1,32 +1,36 @@
1
1
  {
2
2
  "name": "@yarnpkg/plugin-essentials",
3
- "version": "4.0.0-rc.8",
3
+ "version": "4.0.0",
4
4
  "license": "BSD-2-Clause",
5
5
  "main": "./lib/index.js",
6
+ "exports": {
7
+ ".": "./lib/index.js",
8
+ "./package.json": "./package.json"
9
+ },
6
10
  "dependencies": {
7
- "@yarnpkg/fslib": "^3.0.0-rc.8",
8
- "@yarnpkg/parsers": "^3.0.0-rc.8",
11
+ "@yarnpkg/fslib": "^3.0.0",
12
+ "@yarnpkg/parsers": "^3.0.0",
9
13
  "ci-info": "^3.2.0",
10
- "clipanion": "^3.2.0-rc.10",
14
+ "clipanion": "^4.0.0-rc.2",
11
15
  "enquirer": "^2.3.6",
12
16
  "lodash": "^4.17.15",
13
17
  "micromatch": "^4.0.2",
14
18
  "semver": "^7.1.2",
15
- "tslib": "^1.13.0",
16
- "typanion": "^3.3.0"
19
+ "tslib": "^2.4.0",
20
+ "typanion": "^3.14.0"
17
21
  },
18
22
  "peerDependencies": {
19
- "@yarnpkg/cli": "^4.0.0-rc.8",
20
- "@yarnpkg/core": "^4.0.0-rc.8",
21
- "@yarnpkg/plugin-git": "^3.0.0-rc.8"
23
+ "@yarnpkg/cli": "^4.0.0",
24
+ "@yarnpkg/core": "^4.0.0",
25
+ "@yarnpkg/plugin-git": "^3.0.0"
22
26
  },
23
27
  "devDependencies": {
24
28
  "@types/lodash": "^4.14.136",
25
29
  "@types/micromatch": "^4.0.1",
26
30
  "@types/semver": "^7.1.0",
27
- "@yarnpkg/cli": "^4.0.0-rc.8",
28
- "@yarnpkg/core": "^4.0.0-rc.8",
29
- "@yarnpkg/plugin-git": "^3.0.0-rc.8"
31
+ "@yarnpkg/cli": "^4.0.0",
32
+ "@yarnpkg/core": "^4.0.0",
33
+ "@yarnpkg/plugin-git": "^3.0.0"
30
34
  },
31
35
  "repository": {
32
36
  "type": "git",
@@ -39,14 +43,15 @@
39
43
  },
40
44
  "publishConfig": {
41
45
  "main": "./lib/index.js",
42
- "typings": "./lib/index.d.ts"
46
+ "exports": {
47
+ ".": "./lib/index.js",
48
+ "./package.json": "./package.json"
49
+ }
43
50
  },
44
51
  "files": [
45
52
  "/lib/**/*"
46
53
  ],
47
54
  "engines": {
48
- "node": ">=14.15.0"
49
- },
50
- "stableVersion": "3.2.0",
51
- "typings": "./lib/index.d.ts"
55
+ "node": ">=18.12.0"
56
+ }
52
57
  }