pnpm 7.14.1 → 7.15.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.
package/README.md CHANGED
@@ -39,12 +39,36 @@ To quote the [Rush](https://rushjs.io/) team:
39
39
  <a href="https://bit.dev/?utm_source=pnpm&utm_medium=readme" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"></a>
40
40
  </td>
41
41
  <td align="center" valign="middle">
42
- <a href="https://nhost.io/?utm_source=pnpm&utm_medium=readme" target="_blank"><img src="https://pnpm.io/img/users/nhost.svg" width="180"></a>
42
+ <a href="https://nhost.io/?utm_source=pnpm&utm_medium=readme" target="_blank">
43
+ <picture>
44
+ <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nhost.svg" />
45
+ <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nhost_light.svg" />
46
+ <img src="https://pnpm.io/img/users/nhost.svg" width="180" />
47
+ </picture>
48
+ </a>
43
49
  </td>
50
+ </tr>
51
+ <tr>
44
52
  <td align="center" valign="middle">
45
- <a href="https://novu.co/?utm_source=pnpm&utm_medium=readme" target="_blank"><img src="https://pnpm.io/img/users/novu.svg" width="180"></a>
53
+ <a href="https://novu.co/?utm_source=pnpm&utm_medium=readme" target="_blank">
54
+ <picture>
55
+ <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/novu.svg" />
56
+ <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/novu_light.svg" />
57
+ <img src="https://pnpm.io/img/users/novu.svg" width="180" />
58
+ </picture>
59
+ </a>
60
+ </td>
61
+ <td align="center" valign="middle">
62
+ <a href="https://prisma.io/?utm_source=pnpm&utm_medium=readme" target="_blank">
63
+ <picture>
64
+ <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/prisma.svg" />
65
+ <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/prisma_light.svg" />
66
+ <img src="https://pnpm.io/img/users/prisma.svg" width="180" />
67
+ </picture>
68
+ </a>
46
69
  </td>
47
70
  </tr>
71
+ </tbody>
48
72
  </table>
49
73
 
50
74
  ## Silver Sponsors
@@ -52,11 +76,6 @@ To quote the [Rush](https://rushjs.io/) team:
52
76
  <table>
53
77
  <tbody>
54
78
  <tr>
55
- <td align="center" valign="middle">
56
- <a href="https://prisma.io/?utm_source=pnpm&utm_medium=readme" target="_blank">
57
- <img src="https://pnpm.io/img/users/prisma.svg" width="180">
58
- </a>
59
- </td>
60
79
  <td align="center" valign="middle">
61
80
  <a href="https://leniolabs.com/?utm_source=pnpm&utm_medium=readme" target="_blank">
62
81
  <img src="https://pnpm.io/img/users/leniolabs.jpg" width="80">
@@ -64,7 +83,11 @@ To quote the [Rush](https://rushjs.io/) team:
64
83
  </td>
65
84
  <td align="center" valign="middle">
66
85
  <a href="https://vercel.com/?utm_source=pnpm&utm_medium=readme" target="_blank">
67
- <img src="https://pnpm.io/img/users/vercel.svg" width="180">
86
+ <picture>
87
+ <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/vercel.svg" />
88
+ <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/vercel_light.svg" />
89
+ <img src="https://pnpm.io/img/users/vercel.svg" width="180" />
90
+ </picture>
68
91
  </a>
69
92
  </td>
70
93
  </tr>
@@ -75,8 +98,12 @@ To quote the [Rush](https://rushjs.io/) team:
75
98
  </a>
76
99
  </td>
77
100
  <td align="center" valign="middle">
78
- <a href="https://doppler.com/?utm_source=pnpm&utm_medium=readme#gh-light-mode-only" target="_blank">
79
- <img src="https://pnpm.io/img/users/doppler.svg" width="280">
101
+ <a href="https://doppler.com/?utm_source=pnpm&utm_medium=readme" target="_blank">
102
+ <picture>
103
+ <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/doppler.svg" />
104
+ <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/doppler_light.svg" />
105
+ <img src="https://pnpm.io/img/users/doppler.svg" width="280" />
106
+ </picture>
80
107
  </a>
81
108
  </td>
82
109
  </tr>
@@ -7,11 +7,11 @@ included:
7
7
  injectedDeps: {}
8
8
  layoutVersion: 5
9
9
  nodeLinker: hoisted
10
- packageManager: pnpm@7.14.0
10
+ packageManager: pnpm@7.14.2
11
11
  pendingBuilds:
12
- - /node-gyp/9.2.0
12
+ - /node-gyp/9.3.0
13
13
  - /encoding/0.1.13
14
- prunedAt: Sat, 29 Oct 2022 10:47:46 GMT
14
+ prunedAt: Wed, 09 Nov 2022 23:17:18 GMT
15
15
  publicHoistPattern:
16
16
  - '*eslint*'
17
17
  - '*prettier*'
@@ -1,10 +1,10 @@
1
1
  lockfileVersion: 5.4
2
2
 
3
3
  specifiers:
4
- node-gyp: ^9.2.0
4
+ node-gyp: ^9.3.0
5
5
 
6
6
  optionalDependencies:
7
- node-gyp: 9.2.0
7
+ node-gyp: 9.3.0
8
8
 
9
9
  packages:
10
10
 
@@ -18,13 +18,14 @@ packages:
18
18
  engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
19
19
  dependencies:
20
20
  '@gar/promisify': 1.1.3
21
- semver: 7.3.7
21
+ semver: 7.3.8
22
22
  dev: false
23
23
  optional: true
24
24
 
25
25
  /@npmcli/move-file/2.0.1:
26
26
  resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==}
27
27
  engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
28
+ deprecated: This functionality has been moved to @npmcli/fs
28
29
  dependencies:
29
30
  mkdirp: 1.0.4
30
31
  rimraf: 3.0.2
@@ -511,8 +512,8 @@ packages:
511
512
  dev: false
512
513
  optional: true
513
514
 
514
- /node-gyp/9.2.0:
515
- resolution: {integrity: sha512-/+/YxGfIJOh/fnMsr4Ep0v6oOIjnO1BgLd2dcDspBX1spTkQU7xSIox5RdRE/2/Uq3ZwK8Z5swRIbMUmPlslmg==}
515
+ /node-gyp/9.3.0:
516
+ resolution: {integrity: sha512-A6rJWfXFz7TQNjpldJ915WFb1LnhO4lIve3ANPbWreuEoLoKlFT3sxIepPBkLhM27crW8YmN+pjlgbasH6cH/Q==}
516
517
  engines: {node: ^12.22 || ^14.13 || >=16}
517
518
  hasBin: true
518
519
  requiresBuild: true
@@ -524,7 +525,7 @@ packages:
524
525
  nopt: 6.0.0
525
526
  npmlog: 6.0.2
526
527
  rimraf: 3.0.2
527
- semver: 7.3.7
528
+ semver: 7.3.8
528
529
  tar: 6.1.11
529
530
  which: 2.0.2
530
531
  transitivePeerDependencies:
@@ -627,8 +628,8 @@ packages:
627
628
  dev: false
628
629
  optional: true
629
630
 
630
- /semver/7.3.7:
631
- resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==}
631
+ /semver/7.3.8:
632
+ resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
632
633
  engines: {node: '>=10'}
633
634
  hasBin: true
634
635
  dependencies:
@@ -767,4 +768,4 @@ packages:
767
768
  optional: true
768
769
 
769
770
  time:
770
- /node-gyp/9.2.0: '2022-10-04T10:40:24.552Z'
771
+ /node-gyp/9.3.0: '2022-10-11T04:54:21.968Z'
@@ -109,21 +109,35 @@
109
109
  ],
110
110
  }],
111
111
  [ 'OS=="zos"', {
112
- 'cflags': [
113
- '-q64',
114
- '-Wc,DLL',
115
- '-qlonglong',
116
- '-qenum=int',
117
- '-qxclang=-fexec-charset=ISO8859-1'
112
+ 'conditions': [
113
+ [ '"<!(echo $CC)" != "clang" and \
114
+ "<!(echo $CC)" != "ibm-clang64" and \
115
+ "<!(echo $CC)" != "ibm-clang"', {
116
+ 'cflags': [
117
+ '-q64',
118
+ '-Wc,DLL',
119
+ '-qlonglong',
120
+ '-qenum=int',
121
+ '-qxclang=-fexec-charset=ISO8859-1'
122
+ ],
123
+ 'ldflags': [
124
+ '-q64',
125
+ '<(node_exp_file)',
126
+ ],
127
+ }, {
128
+ 'cflags': [
129
+ '-m64',
130
+ ],
131
+ 'ldflags': [
132
+ '-m64',
133
+ '<(node_exp_file)',
134
+ ],
135
+ }],
118
136
  ],
119
137
  'defines': [
120
- '_ALL_SOURCE=1',
138
+ '_ALL_SOURCE',
121
139
  'MAP_FAILED=-1',
122
- '_UNIX03_SOURCE=1'
123
- ],
124
- 'ldflags': [
125
- '-q64',
126
- '<(node_exp_file)'
140
+ '_UNIX03_SOURCE',
127
141
  ],
128
142
  }],
129
143
  [ 'OS=="win"', {
@@ -2,7 +2,12 @@
2
2
  # TODO: Enable pytest --doctest-modules
3
3
 
4
4
  name: Python_tests
5
- on: [push, pull_request]
5
+ on:
6
+ push:
7
+ branches: [ main ]
8
+ pull_request:
9
+ branches: [ main ]
10
+ workflow_dispatch:
6
11
  jobs:
7
12
  Python_tests:
8
13
  runs-on: ${{ matrix.os }}
@@ -11,17 +16,18 @@ jobs:
11
16
  max-parallel: 8
12
17
  matrix:
13
18
  os: [macos-latest, ubuntu-latest] # , windows-latest]
14
- python-version: ["3.7", "3.8", "3.9", "3.10"]
19
+ python-version: ["3.7", "3.8", "3.9", "3.10", "3.11-dev"]
15
20
  steps:
16
21
  - uses: actions/checkout@v3
17
22
  - name: Set up Python ${{ matrix.python-version }}
18
- uses: actions/setup-python@v3
23
+ uses: actions/setup-python@v4
19
24
  with:
20
25
  python-version: ${{ matrix.python-version }}
21
26
  - name: Install dependencies
22
27
  run: |
23
- python -m pip install --upgrade pip
24
- pip install -r requirements_dev.txt
28
+ python -m pip install --upgrade pip setuptools
29
+ pip install --editable ".[dev]"
30
+ - run: ./gyp -V && ./gyp --version && gyp -V && gyp --version
25
31
  - name: Lint with flake8
26
32
  run: flake8 . --ignore=E203,W503 --max-complexity=101 --max-line-length=88 --show-source --statistics
27
33
  - name: Test with pytest
@@ -1,9 +1,12 @@
1
1
  name: node-gyp integration
2
-
3
- on: [push, pull_request]
4
-
2
+ on:
3
+ push:
4
+ branches: [ main ]
5
+ pull_request:
6
+ branches: [ main ]
7
+ workflow_dispatch:
5
8
  jobs:
6
- test:
9
+ integration:
7
10
  strategy:
8
11
  fail-fast: false
9
12
  matrix:
@@ -24,7 +27,7 @@ jobs:
24
27
  - uses: actions/setup-node@v3
25
28
  with:
26
29
  node-version: 14.x
27
- - uses: actions/setup-python@v3
30
+ - uses: actions/setup-python@v4
28
31
  with:
29
32
  python-version: ${{ matrix.python }}
30
33
  - name: Install dependencies
@@ -1,10 +1,15 @@
1
1
  name: Node.js Windows integration
2
2
 
3
- on: [push, pull_request]
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+ workflow_dispatch:
4
9
 
5
10
  jobs:
6
11
  build-windows:
7
- runs-on: windows-latest
12
+ runs-on: windows-2019
8
13
  steps:
9
14
  - name: Clone gyp-next
10
15
  uses: actions/checkout@v3
@@ -8,9 +8,9 @@ jobs:
8
8
  release-please:
9
9
  runs-on: ubuntu-latest
10
10
  steps:
11
- - uses: GoogleCloudPlatform/release-please-action@v2
11
+ - uses: google-github-actions/release-please-action@v3
12
12
  with:
13
13
  token: ${{ secrets.GITHUB_TOKEN }}
14
14
  release-type: python
15
15
  package-name: gyp-next
16
- bump-minor-pre-major: Yes
16
+ bump-minor-pre-major: true
@@ -15,6 +15,7 @@ import sys
15
15
  import traceback
16
16
  from gyp.common import GypError
17
17
 
18
+
18
19
  # Default debug modes for GYP
19
20
  debug = {}
20
21
 
@@ -463,8 +464,19 @@ def gyp_main(args):
463
464
  metavar="TARGET",
464
465
  help="include only TARGET and its deep dependencies",
465
466
  )
467
+ parser.add_argument(
468
+ "-V",
469
+ "--version",
470
+ dest="version",
471
+ action="store_true",
472
+ help="Show the version and exit.",
473
+ )
466
474
 
467
475
  options, build_files_arg = parser.parse_args(args)
476
+ if options.version:
477
+ import pkg_resources
478
+ print(f"v{pkg_resources.get_distribution('gyp-next').version}")
479
+ return 0
468
480
  build_files = build_files_arg
469
481
 
470
482
  # Set up the configuration directory (defaults to ~/.gyp)
@@ -470,6 +470,7 @@ def CopyTool(flavor, out_path, generator_flags={}):
470
470
  "os400": "flock",
471
471
  "solaris": "flock",
472
472
  "mac": "mac",
473
+ "ios": "mac",
473
474
  "win": "win",
474
475
  }.get(flavor, None)
475
476
  if not prefix:
@@ -101,6 +101,7 @@ def CalculateVariables(default_variables, params):
101
101
  default_variables.setdefault("SHARED_LIB_SUFFIX", ".a")
102
102
  elif flavor == "zos":
103
103
  default_variables.setdefault("SHARED_LIB_SUFFIX", ".x")
104
+ COMPILABLE_EXTENSIONS.update({".pli": "pli"})
104
105
  else:
105
106
  default_variables.setdefault("SHARED_LIB_SUFFIX", ".so")
106
107
  default_variables.setdefault("SHARED_LIB_DIR", "$(builddir)/lib.$(TOOLSET)")
@@ -318,7 +319,7 @@ quiet_cmd_link = LINK($(TOOLSET)) $@
318
319
  cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(LD_INPUTS) $(LIBS)
319
320
 
320
321
  quiet_cmd_solink = SOLINK($(TOOLSET)) $@
321
- cmd_solink = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,DLL -o $(patsubst %.x,%.so,$@) $(LD_INPUTS) $(LIBS) && if [ -f $(notdir $@) ]; then /bin/cp $(notdir $@) $@; else true; fi
322
+ cmd_solink = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(LD_INPUTS) $(LIBS)
322
323
 
323
324
  quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@
324
325
  cmd_solink_module = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(filter-out FORCE_DO_CMD, $^) $(LIBS)
@@ -378,6 +379,7 @@ CXXFLAGS.target ?= $(CPPFLAGS) $(CXXFLAGS)
378
379
  LINK.target ?= %(LINK.target)s
379
380
  LDFLAGS.target ?= $(LDFLAGS)
380
381
  AR.target ?= $(AR)
382
+ PLI.target ?= %(PLI.target)s
381
383
 
382
384
  # C++ apps need to be linked with g++.
383
385
  LINK ?= $(CXX.target)
@@ -391,6 +393,7 @@ CXXFLAGS.host ?= $(CPPFLAGS_host) $(CXXFLAGS_host)
391
393
  LINK.host ?= %(LINK.host)s
392
394
  LDFLAGS.host ?= $(LDFLAGS_host)
393
395
  AR.host ?= %(AR.host)s
396
+ PLI.host ?= %(PLI.host)s
394
397
 
395
398
  # Define a dir function that can handle spaces.
396
399
  # http://www.gnu.org/software/make/manual/make.html#Syntax-of-Functions
@@ -628,6 +631,15 @@ def WriteRootHeaderSuffixRules(writer):
628
631
  writer.write("\n")
629
632
 
630
633
 
634
+ SHARED_HEADER_OS390_COMMANDS = """
635
+ PLIFLAGS.target ?= -qlp=64 -qlimits=extname=31 $(PLIFLAGS)
636
+ PLIFLAGS.host ?= -qlp=64 -qlimits=extname=31 $(PLIFLAGS)
637
+
638
+ quiet_cmd_pli = PLI($(TOOLSET)) $@
639
+ cmd_pli = $(PLI.$(TOOLSET)) $(GYP_PLIFLAGS) $(PLIFLAGS.$(TOOLSET)) -c $< && \
640
+ if [ -f $(notdir $@) ]; then /bin/cp $(notdir $@) $@; else true; fi
641
+ """
642
+
631
643
  SHARED_HEADER_SUFFIX_RULES_COMMENT1 = """\
632
644
  # Suffix rules, putting all outputs into $(obj).
633
645
  """
@@ -2450,10 +2462,12 @@ def GenerateOutput(target_list, target_dicts, data, params):
2450
2462
  "AR.target": GetEnvironFallback(("AR_target", "AR"), "$(AR)"),
2451
2463
  "CXX.target": GetEnvironFallback(("CXX_target", "CXX"), "$(CXX)"),
2452
2464
  "LINK.target": GetEnvironFallback(("LINK_target", "LINK"), "$(LINK)"),
2465
+ "PLI.target": GetEnvironFallback(("PLI_target", "PLI"), "pli"),
2453
2466
  "CC.host": GetEnvironFallback(("CC_host", "CC"), "gcc"),
2454
2467
  "AR.host": GetEnvironFallback(("AR_host", "AR"), "ar"),
2455
2468
  "CXX.host": GetEnvironFallback(("CXX_host", "CXX"), "g++"),
2456
2469
  "LINK.host": GetEnvironFallback(("LINK_host", "LINK"), "$(CXX.host)"),
2470
+ "PLI.host": GetEnvironFallback(("PLI_host", "PLI"), "pli"),
2457
2471
  }
2458
2472
  if flavor == "mac":
2459
2473
  flock_command = "./gyp-mac-tool flock"
@@ -2469,16 +2483,36 @@ def GenerateOutput(target_list, target_dicts, data, params):
2469
2483
  header_params.update({"link_commands": LINK_COMMANDS_ANDROID})
2470
2484
  elif flavor == "zos":
2471
2485
  copy_archive_arguments = "-fPR"
2472
- makedep_arguments = "-qmakedep=gcc"
2486
+ CC_target = GetEnvironFallback(("CC_target", "CC"), "njsc")
2487
+ makedep_arguments = "-MMD"
2488
+ if CC_target == "clang":
2489
+ CC_host = GetEnvironFallback(("CC_host", "CC"), "clang")
2490
+ CXX_target = GetEnvironFallback(("CXX_target", "CXX"), "clang++")
2491
+ CXX_host = GetEnvironFallback(("CXX_host", "CXX"), "clang++")
2492
+ elif CC_target == "ibm-clang64":
2493
+ CC_host = GetEnvironFallback(("CC_host", "CC"), "ibm-clang64")
2494
+ CXX_target = GetEnvironFallback(("CXX_target", "CXX"), "ibm-clang++64")
2495
+ CXX_host = GetEnvironFallback(("CXX_host", "CXX"), "ibm-clang++64")
2496
+ elif CC_target == "ibm-clang":
2497
+ CC_host = GetEnvironFallback(("CC_host", "CC"), "ibm-clang")
2498
+ CXX_target = GetEnvironFallback(("CXX_target", "CXX"), "ibm-clang++")
2499
+ CXX_host = GetEnvironFallback(("CXX_host", "CXX"), "ibm-clang++")
2500
+ else:
2501
+ # Node.js versions prior to v18:
2502
+ makedep_arguments = "-qmakedep=gcc"
2503
+ CC_host = GetEnvironFallback(("CC_host", "CC"), "njsc")
2504
+ CXX_target = GetEnvironFallback(("CXX_target", "CXX"), "njsc++")
2505
+ CXX_host = GetEnvironFallback(("CXX_host", "CXX"), "njsc++")
2473
2506
  header_params.update(
2474
2507
  {
2475
2508
  "copy_archive_args": copy_archive_arguments,
2476
2509
  "makedep_args": makedep_arguments,
2477
2510
  "link_commands": LINK_COMMANDS_OS390,
2478
- "CC.target": GetEnvironFallback(("CC_target", "CC"), "njsc"),
2479
- "CXX.target": GetEnvironFallback(("CXX_target", "CXX"), "njsc++"),
2480
- "CC.host": GetEnvironFallback(("CC_host", "CC"), "njsc"),
2481
- "CXX.host": GetEnvironFallback(("CXX_host", "CXX"), "njsc++"),
2511
+ "extra_commands": SHARED_HEADER_OS390_COMMANDS,
2512
+ "CC.target": CC_target,
2513
+ "CXX.target": CXX_target,
2514
+ "CC.host": CC_host,
2515
+ "CXX.host": CXX_host,
2482
2516
  }
2483
2517
  )
2484
2518
  elif flavor == "solaris":
@@ -1583,7 +1583,7 @@ class NinjaWriter:
1583
1583
  elif spec["type"] == "static_library":
1584
1584
  self.target.binary = self.ComputeOutput(spec)
1585
1585
  if (
1586
- self.flavor not in ("mac", "openbsd", "netbsd", "win")
1586
+ self.flavor not in ("ios", "mac", "netbsd", "openbsd", "win")
1587
1587
  and not self.is_standalone_static_library
1588
1588
  ):
1589
1589
  self.ninja.build(
@@ -2496,7 +2496,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, config_name
2496
2496
  ),
2497
2497
  )
2498
2498
 
2499
- if flavor != "mac" and flavor != "win":
2499
+ if flavor not in ("ios", "mac", "win"):
2500
2500
  master_ninja.rule(
2501
2501
  "alink",
2502
2502
  description="AR $out",
@@ -2990,7 +2990,7 @@ class PBXProject(XCContainerPortal):
2990
2990
  # Xcode seems to sort this list case-insensitively
2991
2991
  self._properties["projectReferences"] = sorted(
2992
2992
  self._properties["projectReferences"],
2993
- key=lambda x: x["ProjectRef"].Name().lower
2993
+ key=lambda x: x["ProjectRef"].Name().lower()
2994
2994
  )
2995
2995
  else:
2996
2996
  # The link already exists. Pull out the relevnt data.
@@ -0,0 +1,41 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "gyp-next"
7
+ version = "0.14.0"
8
+ authors = [
9
+ { name="Node.js contributors", email="ryzokuken@disroot.org" },
10
+ ]
11
+ description = "A fork of the GYP build system for use in the Node.js projects"
12
+ readme = "README.md"
13
+ license = { file="LICENSE" }
14
+ requires-python = ">=3.6"
15
+ classifiers = [
16
+ "Development Status :: 3 - Alpha",
17
+ "Environment :: Console",
18
+ "Intended Audience :: Developers",
19
+ "License :: OSI Approved :: BSD License",
20
+ "Natural Language :: English",
21
+ "Programming Language :: Python",
22
+ "Programming Language :: Python :: 3",
23
+ "Programming Language :: Python :: 3.6",
24
+ "Programming Language :: Python :: 3.7",
25
+ "Programming Language :: Python :: 3.8",
26
+ "Programming Language :: Python :: 3.9",
27
+ "Programming Language :: Python :: 3.10",
28
+ ]
29
+
30
+ [project.optional-dependencies]
31
+ dev = ["flake8", "pytest"]
32
+
33
+ [project.scripts]
34
+ gyp = "gyp:script_main"
35
+
36
+ [project.urls]
37
+ "Homepage" = "https://github.com/nodejs/gyp-next"
38
+
39
+ [tool.setuptools]
40
+ package-dir = {"" = "pylib"}
41
+ packages = ["gyp", "gyp.generator"]
@@ -347,6 +347,11 @@ VisualStudioFinder.prototype = {
347
347
 
348
348
  // Find an installation of Visual Studio 2015 to use
349
349
  findVisualStudio2015: function findVisualStudio2015 (cb) {
350
+ if (this.nodeSemver.major >= 19) {
351
+ this.addLog(
352
+ 'not looking for VS2015 as it is only supported up to Node.js 18')
353
+ return cb(null)
354
+ }
350
355
  return this.findOldVS({
351
356
  version: '14.0',
352
357
  versionMajor: 14,
@@ -11,7 +11,7 @@
11
11
  "bindings",
12
12
  "gyp"
13
13
  ],
14
- "version": "9.2.0",
14
+ "version": "9.3.0",
15
15
  "installVersion": 9,
16
16
  "author": "Nathan Rajlich <nathan@tootallnate.net> (http://tootallnate.net)",
17
17
  "repository": {
@@ -252,6 +252,7 @@ const isX = id => !id || id.toLowerCase() === 'x' || id === '*'
252
252
  // ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0
253
253
  // ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0
254
254
  // ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0
255
+ // ~0.0.1 --> >=0.0.1 <0.1.0-0
255
256
  const replaceTildes = (comp, options) =>
256
257
  comp.trim().split(/\s+/).map((c) => {
257
258
  return replaceTilde(c, options)
@@ -291,6 +292,8 @@ const replaceTilde = (comp, options) => {
291
292
  // ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0
292
293
  // ^1.2.3 --> >=1.2.3 <2.0.0-0
293
294
  // ^1.2.0 --> >=1.2.0 <2.0.0-0
295
+ // ^0.0.1 --> >=0.0.1 <0.0.2-0
296
+ // ^0.1.0 --> >=0.1.0 <0.2.0-0
294
297
  const replaceCarets = (comp, options) =>
295
298
  comp.trim().split(/\s+/).map((c) => {
296
299
  return replaceCaret(c, options)