Skip to content

Commit b36a91e

Browse files
committed
[New] add pattern-trailers detection
- nodejs/node#39635 - nodejs/node#39888
1 parent cbfec0f commit b36a91e

File tree

4 files changed

+20
-2
lines changed

4 files changed

+20
-2
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ Require or import `has-package-exports/conditional` to determine if the current
1717

1818
Require or import `has-package-exports/pattern` to determine if the current environment supports exports patterns (as of this writing, node v12.20+ and v14.13+).
1919

20+
Require or import `has-package-exports/pattern-trailers` to determine if the current environment supports exports pattern trailers (as of this writing, node v14.19+ and v16.9+).
21+
2022
## Tests
2123
Simply clone the repo, `npm install`, and run `npm test`
2224

package.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
},
2626
"./no.js"
2727
],
28-
"./pattern": "./pattern.js"
28+
"./pattern": "./pattern.js",
29+
"./pattern-trailers": "./pattern-trailers.js"
2930
},
3031
"scripts": {
3132
"prepublish": "!(type safe-publish-latest 2>&1 >/dev/null) || not-in-publish || npm run prepublishOnly",
@@ -58,7 +59,7 @@
5859
},
5960
"homepage": "https://github.com/inspect-js/has-package-exports#readme",
6061
"dependencies": {
61-
"@ljharb/has-package-exports-patterns": "0.0.1"
62+
"@ljharb/has-package-exports-patterns": "^0.0.2"
6263
},
6364
"devDependencies": {
6465
"@ljharb/eslint-config": "^20.2.3",

pattern-trailers.js

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
'use strict';
2+
3+
var supported;
4+
try {
5+
/* eslint global-require: 0 */
6+
supported = require('@ljharb/has-package-exports-patterns/pattern-trailers/pattern')
7+
&& require('@ljharb/has-package-exports-patterns/pattern-trailers/pattern.js');
8+
} catch (e) {
9+
supported = false;
10+
}
11+
module.exports = supported;

test/index.js

+4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ var semver = require('semver');
55
var hasPackageExports = require('has-package-exports');
66
var hasConditionalPackageExports = require('has-package-exports/conditional');
77
var hasPackageExportPatterns = require('has-package-exports/pattern');
8+
var hasPackageExportPatternTrailers = require('has-package-exports/pattern-trailers');
89
// eslint-disable-next-line global-require
910
var spawnSync = typeof window === 'undefined' && require('child_process').spawnSync;
1011

@@ -31,5 +32,8 @@ test('has-package-exports', function (t) {
3132
var expectedPattern = typeof window === 'undefined' ? semver.satisfies(process.version, '^12.20.0 || >= 14.13') : null;
3233
t.equal(hasPackageExportPatterns, expectedPattern, './pattern entrypoint exports expected value: ' + expectedPattern);
3334

35+
var expectedPatternTrailers = typeof window === 'undefined' ? semver.satisfies(process.version, '^14.19 || >= 16.9') : null;
36+
t.equal(hasPackageExportPatternTrailers, expectedPatternTrailers, './pattern-trailers entrypoint exports expected value: ' + expectedPatternTrailers);
37+
3438
t.end();
3539
});

0 commit comments

Comments
 (0)