Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v15.12.0 proposal #37766

Merged
merged 101 commits into from
Mar 17, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
b277776
fs: improve fsPromises readFile performance
Linkgoron Mar 5, 2021
3572299
fs: add promisified readFile benchmark
Linkgoron Mar 5, 2021
7a1de1f
tools: update ESLint to 7.21.0
lpinca Feb 28, 2021
25a5f0b
tools: update eslint-plugin-markdown configuration
cjihrig Feb 28, 2021
1c09776
domain: show falsy names as anonymous for DEP0097
cjihrig Feb 28, 2021
236ba04
domain: add name to monkey-patched emit function
cjihrig Feb 28, 2021
daa4ac5
lib: remove use of array destructuring
aduh95 Jan 6, 2021
057c6a8
tools: add ESLint rule no-array-destructuring
aduh95 Jan 6, 2021
c09bd77
test: redownload wpt fixtures with correct encoding
targos Feb 21, 2021
a44daff
test: update all Web Platform Tests
targos Feb 21, 2021
f4fd3fb
worker: allow BroadcastChannel in receiveMessageOnPort
addaleax Feb 27, 2021
8024ffb
worker: add ports property to MessageEvents
addaleax Feb 27, 2021
33436e3
src: make BaseObject::is_snapshotable virtual
addaleax Feb 27, 2021
f56a805
doc: refactor signal info in child_process.md
RaisinTen Feb 26, 2021
fd7234c
tools: make update-eslint.sh work with npm@7
lpinca Mar 2, 2021
82e78f7
tools: fix compiler warning in inspector_protocol
RaisinTen Mar 2, 2021
7042ec8
tools: update remark-preset-lint-node to 2.1.1
Trott Mar 4, 2021
267bbe3
doc: document that NODE_EXTRA_CA_CERTS is read only once
jasnell Mar 1, 2021
732d8ca
doc: clarify that columnOffset applies only to the first line
jasnell Mar 1, 2021
8e1257e
cluster: clarify construct Handle
JacksonTian Feb 15, 2021
d81b9af
crypto: improve randomUUID performance
rangoo94 Feb 5, 2021
e9028eb
cluster: restructure to same prototype for cluster child
yashLadha Dec 23, 2020
0d04b6c
test: fix flaky test-child-process-exec-abortcontroller-promisified
aduh95 Mar 2, 2021
e0e7aa1
doc: add top-level await syntax in vm.md
aduh95 Jan 26, 2021
05badcf
doc: fix small typo in 15.11.0 release
bnb Mar 4, 2021
33180fa
crypto: add separate error for INVALID_KEY_TYPE
RaisinTen Mar 1, 2021
440c944
tools: fix object name in prefer-assert-methods.js
tniessen Feb 28, 2021
7422453
deps: upgrade npm to 7.6.1
ruyadorno Mar 4, 2021
5a9196e
doc: apply sentence case to headers in pull-requests.md
marsonya Mar 4, 2021
f50db89
doc: change lang info string in fs JS snippets
aduh95 Mar 4, 2021
07fc61b
tools: add support for mjs and cjs JS snippet linting
aduh95 Feb 10, 2021
9c0ca46
tools,doc: add support for several flavors of JS code snippets
aduh95 Jan 31, 2021
ec71a0f
tools: check version number in YAML comments from changelogs
aduh95 Feb 4, 2021
366772b
doc: add return type of readline.createInterface
RaisinTen Mar 4, 2021
23d6541
crypto,test: improve hmac coverage with webcrypto tests
obi-el Mar 2, 2021
0582c51
test: fix wasi/test-return-on-exit on 32-bit systems
cjihrig Mar 1, 2021
381fb98
test: clear FLAKY designation for test-http2-pipe
Trott Mar 6, 2021
d5ff50d
test: clear flaky designation for test-stream-pipeline-http2
Trott Mar 6, 2021
d17aab1
doc: add esm examples for assert
jasnell Mar 4, 2021
044fd2f
test: remove FLAKY status for fixed test
Trott Mar 6, 2021
1f63418
test: remove FLAKY status for test-async-hooks-http-parser-destroy
Trott Mar 6, 2021
ebc6f41
doc: fix linter issue
aduh95 Mar 8, 2021
257b1ab
test: update Web Platform Tests
targos Mar 6, 2021
b7ef829
test: ignore WPT worker errors after tests finished
targos Mar 6, 2021
f7edb07
test: terminate WPT workers after test completion
targos Mar 6, 2021
e4c8c50
doc: fix typos in /doc/api/fs.md
Luntke Mar 1, 2021
6192315
doc: remove generated from dsaEncoding description
kaznovac Feb 20, 2021
b0ed1e7
test: improve error reporting in test-child-process-pipe-dataflow
Trott Mar 6, 2021
cc48816
test: fix WPT URL tests that fetch JSON data
targos Mar 6, 2021
013b3ff
test: remove unnecessary V8 flag
aduh95 Mar 9, 2021
60d8afa
doc: document that module.evaluate fulfills as undefined
jasnell Mar 9, 2021
d59c6de
src: add error formatting support
devsnek Mar 4, 2021
7c0ce17
doc: fix typo in doc/guides/collaborator-guide.md
marsonya Mar 6, 2021
e5f7179
doc: add document for http.OutgoingMessage
Ayase-252 Feb 4, 2021
705bdfb
doc: fix grammar errors in http document
Ayase-252 Feb 24, 2021
852f53e
lib: fix typo in lib/internal/bootstrap/loaders.js
marsonya Mar 6, 2021
a3abd52
doc: add localPort to http.request() options
lpinca Mar 3, 2021
4de3b84
tools: update glob-parent to 5.1.2
Trott Mar 7, 2021
55e522c
crypto: support JWK objects in create*Key
panva Feb 6, 2021
a86334f
node-api: define version 8
gabrielschulhof Mar 7, 2021
922f2f0
crypto: add optional callback to crypto.sign and crypto.verify
panva Feb 24, 2021
b2fd003
deps: V8: cherry-pick 1648e050cade
cjihrig Mar 9, 2021
ed32cd4
test: fixup flaky test-crypto-x509
panva Mar 11, 2021
e7fc7a4
doc: crypto esm examples
jasnell Mar 3, 2021
d28ce32
src: fix variable name of OnCloseReceived callback
tniessen Feb 26, 2021
e55058f
doc: use sentence case in README.md headers
marsonya Mar 6, 2021
a2d08d5
crypto: add internal error codes
RaisinTen Mar 7, 2021
ae0e76c
module: refactor NativeModule to avoid unsafe array iteration
aduh95 Feb 12, 2021
0d3cc2d
doc: fix typo in description of close event
tniessen Mar 8, 2021
4bf1f33
stream,util: fix "the the" typo in comments
lpinca Mar 9, 2021
e63a25e
lib: fix typo in lib/internal/http2/core.js
marsonya Mar 10, 2021
764aa2d
doc: fix link to googletest fixtures
tniessen Mar 10, 2021
341ee31
crypto: reconcile duplicated code
jasnell Mar 11, 2021
5731977
test,crypto: ensure promises resolve in webcrypto tests
aduh95 Mar 8, 2021
6688569
http: refactor to avoid unsafe array iteration
aduh95 Feb 12, 2021
2d9b624
tls: refactor to avoid unsafe array iteration
aduh95 Feb 12, 2021
ba91ef2
fs: improve fsPromises writeFile performance
Linkgoron Mar 5, 2021
8666d77
benchmark: add benchmark for fsPromises.writeFile
Linkgoron Mar 5, 2021
4451460
assert,util: fix commutativity edge case
BridgeAR Mar 11, 2021
3e1a46a
deps: upgrade npm to 7.6.3
ruyadorno Mar 11, 2021
e384291
events: remove return value on addEventListener
jasnell Mar 10, 2021
c737df6
http2: make res.req a normal property
cjihrig Mar 11, 2021
12fb2ff
lib: use AbortError consistently
jasnell Mar 11, 2021
1022d3d
doc: recommend checking abortSignal.aborted first
jasnell Mar 11, 2021
80af610
util: inspect __proto__ key as written in object literal
addaleax Mar 11, 2021
ede34aa
test: address flaky wpt/test-timers
Trott Mar 13, 2021
6d77b61
deps: switch openssl to quictls/openssl
jasnell Mar 4, 2021
ce357c0
deps: update archs files for OpenSSL-1.1.1+quic
jasnell Mar 4, 2021
c2cb153
test: fixup test to account for quic openssl version
jasnell Mar 4, 2021
5d79373
doc: update maintaining-openssl guide
jasnell Mar 4, 2021
0d135e8
worker: add setEnvironmentData/getEnvironmentData
jasnell Feb 23, 2021
ac2f50b
lib: implement AbortSignal.abort()
jasnell Mar 10, 2021
1b53087
test: update dom/abort tests
jasnell Mar 15, 2021
3710857
doc: add hints to http.request() options
lpinca Mar 13, 2021
5a49e31
errors: remove experimental from --enable-source-maps
bcoe Mar 13, 2021
bd62771
tools: use bundled npm in update scripts
ruyadorno Mar 4, 2021
30c62de
src,test: support dynamically linking OpenSSL 3.0
danbev Oct 26, 2020
89f3aa9
doc: add marsonya as a triager
marsonya Mar 9, 2021
72af5d9
tools: parse changelogs only in the default branch
aduh95 Mar 16, 2021
dfca2fa
deps: update to [email protected]
guybedford Mar 11, 2021
5011009
2021-03-17, Version 15.12.0 (Current)
danielleadams Mar 16, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
24 changes: 17 additions & 7 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,6 @@ module.exports = {
overrides: [
{
files: [
'doc/api/esm.md',
'doc/api/fs.md',
'doc/api/module.md',
'doc/api/modules.md',
'doc/api/packages.md',
'doc/api/wasi.md',
'test/es-module/test-esm-type-flag.js',
'test/es-module/test-esm-type-flag-alias.js',
'*.mjs',
Expand All @@ -68,9 +62,24 @@ module.exports = {
},
{
files: ['**/*.md'],
parserOptions: { ecmaFeatures: { impliedStrict: true } },
processor: 'markdown/markdown',
},
{
files: ['**/*.md/*.cjs', '**/*.md/*.js'],
parserOptions: {
sourceType: 'script',
ecmaFeatures: { impliedStrict: true }
},
rules: { strict: 'off' },
},
{
files: [
'**/*.md/*.mjs',
'doc/api/esm.md/*.js',
'doc/api/packages.md/*.js',
],
parserOptions: { sourceType: 'module' },
},
],
rules: {
// ESLint built-in rules
Expand Down Expand Up @@ -306,6 +315,7 @@ module.exports = {
},
globals: {
AbortController: 'readable',
AbortSignal: 'readable',
Atomics: 'readable',
BigInt: 'readable',
BigInt64Array: 'readable',
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/linters.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,17 @@ jobs:
node-version: ${{ env.NODE_VERSION }}
- name: Environment Information
run: npx envinfo
- name: Get release version numbers
if: ${{ github.event.pull_request.base.ref == github.event.pull_request.base.repo.default_branch }}
id: get-released-versions
run: ./tools/node-lint-md-cli-rollup/src/list-released-versions-from-changelogs.mjs
- name: Lint docs
run: |
echo "::add-matcher::.github/workflows/remark-lint-problem-matcher.json"
NODE=$(command -v node) make lint-md
env:
NODE_RELEASED_VERSIONS: ${{ steps.get-released-versions.outputs.NODE_RELEASED_VERSIONS }}

lint-js:
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V15.md#15.11.0">15.11.0</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V15.md#15.12.0">15.12.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V15.md#15.11.0">15.11.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V15.md#15.10.0">15.10.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V15.md#15.9.0">15.9.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V15.md#15.8.0">15.8.0</a><br/>
Expand Down
7 changes: 3 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -1209,7 +1209,7 @@ lint-md: lint-js-doc | tools/.mdlintstamp
LINT_JS_TARGETS = .eslintrc.js benchmark doc lib test tools

run-lint-js = tools/node_modules/eslint/bin/eslint.js --cache \
--report-unused-disable-directives --ext=$(EXTENSIONS) $(LINT_JS_TARGETS)
--report-unused-disable-directives $(LINT_JS_TARGETS)
run-lint-js-fix = $(run-lint-js) --fix

.PHONY: lint-js-fix
Expand All @@ -1220,8 +1220,7 @@ lint-js-fix:
.PHONY: lint-js-doc
# Note that on the CI `lint-js-ci` is run instead.
# Lints the JavaScript code with eslint.
lint-js lint-js-fix: EXTENSIONS=.js,.mjs,.md
lint-js-doc: EXTENSIONS=.md
lint-js-doc: LINT_JS_TARGETS=doc
lint-js lint-js-doc:
@if [ "$(shell $(node_use_openssl))" != "true" ]; then \
echo "Skipping $@ (no crypto)"; \
Expand All @@ -1234,7 +1233,7 @@ jslint: lint-js
$(warning Please use lint-js instead of jslint)

run-lint-js-ci = tools/node_modules/eslint/bin/eslint.js \
--report-unused-disable-directives --ext=.js,.mjs,.md -f tap \
--report-unused-disable-directives -f tap \
-o test-eslint.tap $(LINT_JS_TARGETS)

.PHONY: lint-js-ci
Expand Down
16 changes: 9 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,19 @@ The Node.js project uses an [open governance model](./GOVERNANCE.md). The
# Table of contents

* [Support](#support)
* [Release Types](#release-types)
* [Release types](#release-types)
* [Download](#download)
* [Current and LTS Releases](#current-and-lts-releases)
* [Nightly Releases](#nightly-releases)
* [API Documentation](#api-documentation)
* [Verifying Binaries](#verifying-binaries)
* [Current and LTS releases](#current-and-lts-releases)
* [Nightly releases](#nightly-releases)
* [API documentation](#api-documentation)
* [Verifying binaries](#verifying-binaries)
* [Building Node.js](#building-nodejs)
* [Security](#security)
* [Contributing to Node.js](#contributing-to-nodejs)
* [Current Project Team Members](#current-project-team-members)
* [Current project team members](#current-project-team-members)
* [TSC (Technical Steering Committee)](#tsc-technical-steering-committee)
* [Collaborators](#collaborators)
* [Release Keys](#release-keys)
* [Release keys](#release-keys)
* [License](#license)

## Support
Expand Down Expand Up @@ -591,6 +591,8 @@ maintaining the Node.js project.

### Triagers

* [marsonya](https://github.com/marsonya) -
**Akhil Marsonya** &lt;[email protected]&gt; (he/him)
* [PoojaDurgad](https://github.com/PoojaDurgad) -
**Pooja Durgad** &lt;[email protected]&gt;
* [RaisinTen](https://github.com/RaisinTen) -
Expand Down
63 changes: 63 additions & 0 deletions benchmark/fs/readfile-promises.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
// Call fs.promises.readFile over and over again really fast.
// Then see how many times it got called.
// Yes, this is a silly benchmark. Most benchmarks are silly.
'use strict';

const path = require('path');
const common = require('../common.js');
const fs = require('fs');
const assert = require('assert');

const tmpdir = require('../../test/common/tmpdir');
tmpdir.refresh();
const filename = path.resolve(tmpdir.path,
`.removeme-benchmark-garbage-${process.pid}`);

const bench = common.createBenchmark(main, {
duration: [5],
len: [1024, 16 * 1024 * 1024],
concurrent: [1, 10]
});

function main({ len, duration, concurrent }) {
try { fs.unlinkSync(filename); } catch { }
let data = Buffer.alloc(len, 'x');
fs.writeFileSync(filename, data);
data = null;

let writes = 0;
let benchEnded = false;
bench.start();
setTimeout(() => {
benchEnded = true;
bench.end(writes);
try { fs.unlinkSync(filename); } catch { }
process.exit(0);
}, duration * 1000);

function read() {
fs.promises.readFile(filename)
.then((res) => afterRead(undefined, res))
.catch((err) => afterRead(err));
}

function afterRead(er, data) {
if (er) {
if (er.code === 'ENOENT') {
// Only OK if unlinked by the timer from main.
assert.ok(benchEnded);
return;
}
throw er;
}

if (data.length !== len)
throw new Error('wrong number of bytes returned');

writes++;
if (!benchEnded)
read();
}

while (concurrent--) read();
}
76 changes: 76 additions & 0 deletions benchmark/fs/writefile-promises.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
// Call fs.promises.writeFile over and over again really fast.
// Then see how many times it got called.
// Yes, this is a silly benchmark. Most benchmarks are silly.
'use strict';

const path = require('path');
const common = require('../common.js');
const fs = require('fs');
const assert = require('assert');
const tmpdir = require('../../test/common/tmpdir');

tmpdir.refresh();
const filename = path.resolve(tmpdir.path,
`.removeme-benchmark-garbage-${process.pid}`);
let filesWritten = 0;
const bench = common.createBenchmark(main, {
duration: [5],
encodingType: ['buf', 'asc', 'utf'],
size: [2, 1024, 65535, 1024 * 1024],
concurrent: [1, 10]
});

function main({ encodingType, duration, concurrent, size }) {
let encoding;
let chunk;
switch (encodingType) {
case 'buf':
chunk = Buffer.alloc(size, 'b');
break;
case 'asc':
chunk = 'a'.repeat(size);
encoding = 'ascii';
break;
case 'utf':
chunk = 'ü'.repeat(Math.ceil(size / 2));
encoding = 'utf8';
break;
default:
throw new Error(`invalid encodingType: ${encodingType}`);
}

let writes = 0;
let benchEnded = false;
bench.start();
setTimeout(() => {
benchEnded = true;
bench.end(writes);
for (let i = 0; i < filesWritten; i++) {
try { fs.unlinkSync(`${filename}-${i}`); } catch { }
}
process.exit(0);
}, duration * 1000);

function write() {
fs.promises.writeFile(`${filename}-${filesWritten++}`, chunk, encoding)
.then(() => afterWrite())
.catch((err) => afterWrite(err));
}

function afterWrite(er) {
if (er) {
if (er.code === 'ENOENT') {
// Only OK if unlinked by the timer from main.
assert.ok(benchEnded);
return;
}
throw er;
}

writes++;
if (!benchEnded)
write();
}

while (concurrent--) write();
}
5 changes: 5 additions & 0 deletions deps/cjs-module-lexer/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
1.1.0
- Support for Babel reexport conflict filter (https://github.com/guybedford/cjs-module-lexer/issues/36, @nicolo-ribaudo)
- Support trailing commas in getter patterns (https://github.com/guybedford/cjs-module-lexer/issues/31)
- Support for RollupJS reexports property checks (https://github.com/guybedford/cjs-module-lexer/issues/38)

1.0.0
- Unsafe getter tracking (https://github.com/guybedford/cjs-module-lexer/pull/29)

Expand Down
31 changes: 22 additions & 9 deletions deps/cjs-module-lexer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ EXPORTS_DOT_ASSIGN: EXPORTS_IDENTIFIER `.` IDENTIFIER `=`
EXPORTS_LITERAL_COMPUTED_ASSIGN: EXPORTS_IDENTIFIER `[` IDENTIFIER_STRING `]` `=`
EXPORTS_LITERAL_PROP: (IDENTIFIER `:` IDENTIFIER)?) | (IDENTIFIER_STRING `:` IDENTIFIER)
EXPORTS_LITERAL_PROP: (IDENTIFIER (`:` IDENTIFIER)?) | (IDENTIFIER_STRING `:` IDENTIFIER)
EXPORTS_SPREAD: `...` (IDENTIFIER | REQUIRE)
Expand All @@ -92,7 +92,7 @@ EXPORTS_DEFINE_VALUE: EXPORTS_DEFINE `, {`
(`enumerable: true,`)?
(
`value:` |
`get` (`: function` IDENTIFIER? )? `()` {` return IDENTIFIER (`.` IDENTIFIER | `[` IDENTIFIER_STRING `]`)? `;`? `}`
`get` (`: function` IDENTIFIER? )? `()` {` return IDENTIFIER (`.` IDENTIFIER | `[` IDENTIFIER_STRING `]`)? `;`? `}` `,`?
)
`})`
Expand All @@ -108,15 +108,18 @@ EXPORT_STAR: (`__export` | `__exportStar`) `(` REQUIRE
EXPORT_STAR_LIB: `Object.keys(` IDENTIFIER$1 `).forEach(function (` IDENTIFIER$2 `) {`
(
`if (` IDENTIFIER$2 `===` ( `'default'` | `"default"` ) `||` IDENTIFIER$2 `===` ( '__esModule' | `"__esModule"` ) `) return` `;`? |
`if (` IDENTIFIER$2 `!==` ( `'default'` | `"default"` ) `)`
(
`if (` IDENTIFIER$2 `===` ( `'default'` | `"default"` ) `||` IDENTIFIER$2 `===` ( '__esModule' | `"__esModule"` ) `) return` `;`?
(
(`if (Object` `.prototype`? `.hasOwnProperty.call(` IDENTIFIER `, ` IDENTIFIER$2 `)) return` `;`?)?
(`if (` IDENTIFIER$2 `in` EXPORTS_IDENTIFIER `&&` EXPORTS_IDENTIFIER `[` IDENTIFIER$2 `] ===` IDENTIFIER$1 `[` IDENTIFIER$2 `]) return` `;`)?
)?
) |
`if (` IDENTIFIER$2 `!==` ( `'default'` | `"default"` ) (`&& !` (`Object` `.prototype`? `.hasOwnProperty.call(` IDENTIFIER$1 `, ` IDENTIFIER$2 `)` | IDENTIFIER$1 `.hasOwnProperty(` IDENTIFIER$2 `)`))? `)`
)
(
`if (` IDENTIFIER$2 `in` EXPORTS_IDENTIFIER `&&` EXPORTS_IDENTIFIER `[` IDENTIFIER$2 `] ===` IDENTIFIER$1 `[` IDENTIFIER$2 `]) return` `;`?
)?
(
EXPORTS_IDENTIFIER `[` IDENTIFIER$2 `] =` IDENTIFIER$1 `[` IDENTIFIER$2 `]` `;`? |
`Object.defineProperty(` EXPORTS_IDENTIFIER `, ` IDENTIFIER$2 `, { enumerable: true, get: function () { return ` IDENTIFIER$1 `[` IDENTIFIER$2 `]` `;`? } })` `;`?
`Object.defineProperty(` EXPORTS_IDENTIFIER `, ` IDENTIFIER$2 `, { enumerable: true, get: function () { return ` IDENTIFIER$1 `[` IDENTIFIER$2 `]` `;`? `}` `,`? `})` `;`?
)
`})`
```
Expand Down Expand Up @@ -194,13 +197,23 @@ Object.defineProperty(exports, 'd', { value: 'd' });
Object.defineProperty(exports, '__esModule', { value: true });
```

Value properties are also detected specifically:

```js
Object.defineProperty(exports, 'a', {
value: 'no problem'
});
```

To avoid matching getters that have side effects, any getter for an export name that does not support the forms above will
opt-out of the getter matching:

```js
// DETECTS: NO EXPORTS
Object.defineProperty(exports, 'a', {
value: 'no problem'
get () {
return 'nope';
}
});

if (false) {
Expand Down
2 changes: 1 addition & 1 deletion deps/cjs-module-lexer/dist/lexer.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions deps/cjs-module-lexer/dist/lexer.mjs

Large diffs are not rendered by default.

Loading