GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — src: add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE by joyeecheung · Pull Request #54501 · nodejs/node

Conversation

@joyeecheung

@joyeecheung joyeecheung commented Aug 22, 2024 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

Text for releasers:

This adds a new API module.enableCompileCache() that can be used to enable on-disk code caching of all modules loaded after this API is called. Previously this could only be enabled by the NODE_COMPILE_CACHE environment variable, so it could only set by end-users. This API allows tooling and library authors to enable caching of their own code. This is a built-in alternative to the v8-compile-cache/v8-compile-cache-lib packages, but have better performance and supports ESM.

In addition this adds module.getCompileCacheDir() to query the status of the compile cache, and a NODE_DISABLE_COMPILE_CACHE environment variable to disable the code cache. This serves as an escape hatch for end users to avoid unexpected/undesired effects of the compile cache (e.g. less precise test coverage).

When the module.enableCompileCache() method is invoked without a specified directory, Node.js will use the value of the NODE_COMPILE_CACHE environment variable if it's set, or defaults to path.join(os.tmpdir(), 'node-compile-cache') otherwise. Therefore it's recommended for tools to call this method without a directory argument to allow overrides.

Fixes: #53639

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

merceyz, bpasero, ShenHongFei, exoego, robpalme, dubzzz, Bnaya, lin72h, btea, optionsx, and 5 more reacted with thumbs up emoji ShenHongFei, Mike-Dax, exoego, morgante, lin72h, optionsx, XinChou16, and RareScrap reacted with rocket emoji
All reactions
  • 👍 15 reactions
  • 🚀 8 reactions
@joyeecheung
src: add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE
d270a8e
This patch adds the following API for tools to enable compile
cache dynamically and query its status.

- module.enableCompileCache(cacheDir)
- module.getCompileCacheDir()

In addition this adds a NODE_DISABLE_COMPILE_CACHE environment
variable to disable the code cache enabled by the APIs as
an escape hatch to avoid unexpected/undesired effects of
the compile cache (e.g. less precise test coverage).

When the module.enableCompileCache() method is invoked without
a specified directory, Node.js will use the value of
the NODE_COMPILE_CACHE environment variable if it's set, or
defaults to `path.join(os.tmpdir(), 'node-compile-cache')`
otherwise. Therefore it's recommended for tools to call this
method without specifying the directory to allow overrides.
@nodejs-github-bot

nodejs-github-bot commented Aug 22, 2024

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/loaders
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. lib / src Issues and PRs involving general changes in the lib/ or src/ directories. needs-ci PRs that need a full CI run. labels Aug 22, 2024
@joyeecheung joyeecheung mentioned this pull request Aug 22, 2024
APIs for libraries/frameworks/tools to control on-disk compilation cache (NODE_COMPILE_CACHE) #53639
Closed
avivkeller
avivkeller reviewed Aug 22, 2024
View reviewed changes
Comment thread doc/api/module.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

benjamingr
benjamingr reviewed Aug 22, 2024
View reviewed changes
Comment thread doc/api/module.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

benjamingr
benjamingr reviewed Aug 22, 2024
View reviewed changes
Comment thread lib/internal/modules/helpers.js Resolved

Uh oh!

There was an error while loading. Please reload this page.

benjamingr
benjamingr reviewed Aug 22, 2024
View reviewed changes
Comment thread lib/internal/modules/helpers.js Resolved

Uh oh!

There was an error while loading. Please reload this page.

@jakebailey jakebailey mentioned this pull request Aug 22, 2024
Enable Node.js/v8 compile caching via entrypoint shims microsoft/TypeScript#59720
Merged
benjamingr
benjamingr approved these changes Aug 22, 2024
View reviewed changes

@benjamingr benjamingr left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@jakebailey

jakebailey commented Aug 22, 2024

Copy link
Copy Markdown
Member

I put together microsoft/TypeScript#59720 to enable this in TypeScript; the results are as expected:

Benchmark 1: ~/work/node/out/Release/node ./built/local/_tsc.js --version
  Time (mean ± σ):     120.5 ms ±   1.7 ms    [User: 108.6 ms, System: 11.2 ms]
  Range (min … max):   117.5 ms … 129.1 ms    100 runs
 
Benchmark 2: ~/work/node/out/Release/node ./built/local/tsc.js --version
  Time (mean ± σ):      51.8 ms ±   1.0 ms    [User: 42.3 ms, System: 9.0 ms]
  Range (min … max):    50.4 ms …  56.6 ms    100 runs
 
Summary
  '~/work/node/out/Release/node ./built/local/tsc.js --version' ran
    2.33 ± 0.06 times faster than '~/work/node/out/Release/node ./built/local/_tsc.js --version'
Benchmark 1: echo '{"seq": 1, "command": "status"}' | ~/work/node/out/Release/node ./built/local/_tsserver.js --disableAutomaticTypingAcquisition
  Time (mean ± σ):     192.3 ms ±   2.5 ms    [User: 178.3 ms, System: 19.8 ms]
  Range (min … max):   188.1 ms … 201.1 ms    100 runs
 
Benchmark 2: echo '{"seq": 1, "command": "status"}' | ~/work/node/out/Release/node ./built/local/tsserver.js --disableAutomaticTypingAcquisition
  Time (mean ± σ):      84.6 ms ±   1.1 ms    [User: 76.5 ms, System: 14.5 ms]
  Range (min … max):    82.6 ms …  88.6 ms    100 runs
 
Summary
  'echo '{"seq": 1, "command": "status"}' | ~/work/node/out/Release/node ./built/local/tsserver.js --disableAutomaticTypingAcquisition' ran
    2.27 ± 0.04 times faster than 'echo '{"seq": 1, "command": "status"}' | ~/work/node/out/Release/node ./built/local/_tsserver.js --disableAutomaticTypingAcquisition'
benjamingr, exoego, and vjau reacted with thumbs up emoji
All reactions
  • 👍 3 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@codecov

codecov Bot commented Aug 22, 2024 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 98.18182% with 2 lines in your changes missing coverage. Please review.

Project coverage is 87.34%. Comparing base (cc26951) to head (73c03b1).
Report is 354 commits behind head on main.

Files with missing lines Patch % Lines
src/compile_cache.cc 75.00% 1 Missing ⚠️
src/node_modules.cc 97.22% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##             main   #54501    +/-   ##
========================================
  Coverage   87.34%   87.34%            
========================================
  Files         649      649            
  Lines      182544   182666   +122     
  Branches    35030    35042    +12     
========================================
+ Hits       159445   159555   +110     
- Misses      16372    16387    +15     
+ Partials     6727     6724     -3     
Files with missing lines Coverage Δ
lib/internal/modules/helpers.js 97.85% <100.00%> (+0.28%) ⬆️
lib/module.js 100.00% <100.00%> (ø)
src/compile_cache.h 100.00% <ø> (+25.00%) ⬆️
src/env.cc 85.48% <100.00%> (+0.32%) ⬆️
src/compile_cache.cc 80.00% <75.00%> (ø)
src/node_modules.cc 76.97% <97.22%> (+2.07%) ⬆️

... and 57 files with indirect coverage changes

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@jakebailey

jakebailey commented Aug 22, 2024 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

For fun, this is eslint (with enablecompileCache added to bin/eslint.js:

Benchmark 1: NODE_DISABLE_COMPILE_CACHE=true ~/work/node/out/Release/node ./node_modules/eslint/bin/eslint.js --version
  Time (mean ± σ):     129.9 ms ±   7.8 ms    [User: 128.6 ms, System: 17.4 ms]
  Range (min … max):   126.1 ms … 204.6 ms    100 runs
 
  Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet PC without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
 
Benchmark 2: ~/work/node/out/Release/node ./node_modules/eslint/bin/eslint.js --version
  Time (mean ± σ):     105.5 ms ±   1.8 ms    [User: 103.3 ms, System: 18.6 ms]
  Range (min … max):   101.7 ms … 114.5 ms    100 runs
 
Summary
  '~/work/node/out/Release/node ./node_modules/eslint/bin/eslint.js --version' ran
    1.23 ± 0.08 times faster than 'NODE_DISABLE_COMPILE_CACHE=true ~/work/node/out/Release/node ./node_modules/eslint/bin/eslint.js --version'
Benchmark 1: NODE_DISABLE_COMPILE_CACHE=true ~/work/node/out/Release/node ./node_modules/eslint/bin/eslint.js --print-config ./src/compiler/debug.ts
  Time (mean ± σ):     791.6 ms ±   6.2 ms    [User: 987.2 ms, System: 86.3 ms]
  Range (min … max):   779.1 ms … 811.3 ms    100 runs
 
Benchmark 2: ~/work/node/out/Release/node ./node_modules/eslint/bin/eslint.js --print-config ./src/compiler/debug.ts
  Time (mean ± σ):     595.0 ms ±   6.4 ms    [User: 786.4 ms, System: 89.5 ms]
  Range (min … max):   583.7 ms … 621.3 ms    100 runs
 
Summary
  '~/work/node/out/Release/node ./node_modules/eslint/bin/eslint.js --print-config ./src/compiler/debug.ts' ran
    1.33 ± 0.02 times faster than 'NODE_DISABLE_COMPILE_CACHE=true ~/work/node/out/Release/node ./node_modules/eslint/bin/eslint.js --print-config ./src/compiler/debug.ts'
leaftail1880 reacted with laugh emoji
All reactions
  • 😄 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@richardlau richardlau added the semver-minor PRs that contain new features and should be released in the next minor version. label Aug 22, 2024
aduh95
aduh95 reviewed Aug 23, 2024
View reviewed changes
Comment thread doc/api/cli.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

aduh95
aduh95 reviewed Aug 23, 2024
View reviewed changes
Comment thread doc/api/cli.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

aduh95
aduh95 reviewed Aug 23, 2024
View reviewed changes
Comment thread doc/api/module.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

aduh95
aduh95 reviewed Aug 23, 2024
View reviewed changes
Comment thread doc/api/module.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

aduh95
aduh95 reviewed Aug 23, 2024
View reviewed changes
Comment thread doc/api/module.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

aduh95
aduh95 reviewed Aug 23, 2024
View reviewed changes
Comment thread doc/api/module.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

joyeecheung added 2 commits August 23, 2024 23:46
@joyeecheung
fixup! src: add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE
82f7e87
@joyeecheung
fixup! fixup! src: add JS APIs for compile cache and NODE_DISABLE_COM…
3bd39dd
…PILE_CACHE
jasnell
jasnell approved these changes Aug 23, 2024
View reviewed changes
@joyeecheung joyeecheung added the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Aug 25, 2024
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Aug 25, 2024
@nodejs-github-bot

nodejs-github-bot commented Aug 25, 2024

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/61445/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nodejs-github-bot

nodejs-github-bot commented Aug 26, 2024

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/61502/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@joyeecheung
fixup! src: add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE
ff7ba92
RafaelGSS pushed a commit that referenced this pull request Aug 30, 2024
@joyeecheung @RafaelGSS
src: add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE
4baf463
This patch adds the following API for tools to enable compile
cache dynamically and query its status.

- module.enableCompileCache(cacheDir)
- module.getCompileCacheDir()

In addition this adds a NODE_DISABLE_COMPILE_CACHE environment
variable to disable the code cache enabled by the APIs as
an escape hatch to avoid unexpected/undesired effects of
the compile cache (e.g. less precise test coverage).

When the module.enableCompileCache() method is invoked without
a specified directory, Node.js will use the value of
the NODE_COMPILE_CACHE environment variable if it's set, or
defaults to `path.join(os.tmpdir(), 'node-compile-cache')`
otherwise. Therefore it's recommended for tools to call this
method without specifying the directory to allow overrides.

PR-URL: #54501
Fixes: #53639
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
RafaelGSS added a commit that referenced this pull request Aug 30, 2024
@RafaelGSS
2024-09-02, Version 22.8.0 (Current)
bce5d12
Notable changes:

net:
  * (SEMVER-MINOR) exclude ipv6 loopback addresses from server.listen (Giovanni Bucci) #54264
src:
  * (SEMVER-MINOR) add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE (Joyee Cheung) #54501
src,lib:
  * (SEMVER-MINOR) add performance.uvMetricsInfo (Rafael Gonzaga) #54413
test_runner:
  * (SEMVER-MINOR) add support for coverage thresholds (Aviv Keller) #54429
  * (SEMVER-MINOR) support running tests in process (Colin Ihrig) #53927
  * (SEMVER-MINOR) defer inheriting hooks until run() (Colin Ihrig) #53927
vm:
  * (SEMVER-MINOR) introduce vanilla contexts via vm.constants.DONT_CONTEXTIFY (Joyee Cheung) #54394

PR-URL: #54560
@RafaelGSS RafaelGSS mentioned this pull request Aug 30, 2024
v22.8.0 proposal #54560
Merged
RafaelGSS added a commit that referenced this pull request Aug 31, 2024
@RafaelGSS
2024-09-02, Version 22.8.0 (Current)
0101f1f
Notable changes:

net:
  * (SEMVER-MINOR) exclude ipv6 loopback addresses from server.listen (Giovanni Bucci) #54264
src:
  * (SEMVER-MINOR) add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE (Joyee Cheung) #54501
src,lib:
  * (SEMVER-MINOR) add performance.uvMetricsInfo (Rafael Gonzaga) #54413
test_runner:
  * (SEMVER-MINOR) add support for coverage thresholds (Aviv Keller) #54429
  * (SEMVER-MINOR) support running tests in process (Colin Ihrig) #53927
  * (SEMVER-MINOR) defer inheriting hooks until run() (Colin Ihrig) #53927
vm:
  * (SEMVER-MINOR) introduce vanilla contexts via vm.constants.DONT_CONTEXTIFY (Joyee Cheung) #54394

PR-URL: #54560
RafaelGSS added a commit that referenced this pull request Sep 1, 2024
@RafaelGSS
2024-09-02, Version 22.8.0 (Current)
7096d14
Notable changes:

net:
  * (SEMVER-MINOR) exclude ipv6 loopback addresses from server.listen (Giovanni Bucci) #54264
src:
  * (SEMVER-MINOR) add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE (Joyee Cheung) #54501
src,lib:
  * (SEMVER-MINOR) add performance.uvMetricsInfo (Rafael Gonzaga) #54413
test_runner:
  * (SEMVER-MINOR) add support for coverage thresholds (Aviv Keller) #54429
  * (SEMVER-MINOR) support running tests in process (Colin Ihrig) #53927
  * (SEMVER-MINOR) defer inheriting hooks until run() (Colin Ihrig) #53927
vm:
  * (SEMVER-MINOR) introduce vanilla contexts via vm.constants.DONT_CONTEXTIFY (Joyee Cheung) #54394

PR-URL: #54560
RafaelGSS added a commit that referenced this pull request Sep 2, 2024
@RafaelGSS
2024-09-02, Version 22.8.0 (Current)
729abbe
Notable changes:

net:
  * (SEMVER-MINOR) exclude ipv6 loopback addresses from server.listen (Giovanni Bucci) #54264
src:
  * (SEMVER-MINOR) add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE (Joyee Cheung) #54501
src,lib:
  * (SEMVER-MINOR) add performance.uvMetricsInfo (Rafael Gonzaga) #54413
test_runner:
  * (SEMVER-MINOR) add support for coverage thresholds (Aviv Keller) #54429
  * (SEMVER-MINOR) support running tests in process (Colin Ihrig) #53927
  * (SEMVER-MINOR) defer inheriting hooks until run() (Colin Ihrig) #53927
vm:
  * (SEMVER-MINOR) introduce vanilla contexts via vm.constants.DONT_CONTEXTIFY (Joyee Cheung) #54394

PR-URL: #54560
RafaelGSS added a commit that referenced this pull request Sep 3, 2024
@RafaelGSS
2024-09-03, Version 22.8.0 (Current)
78ee90e
Notable changes:

net:
  * (SEMVER-MINOR) exclude ipv6 loopback addresses from server.listen (Giovanni Bucci) #54264
src:
  * (SEMVER-MINOR) add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE (Joyee Cheung) #54501
src,lib:
  * (SEMVER-MINOR) add performance.uvMetricsInfo (Rafael Gonzaga) #54413
test_runner:
  * (SEMVER-MINOR) add support for coverage thresholds (Aviv Keller) #54429
  * (SEMVER-MINOR) support running tests in process (Colin Ihrig) #53927
  * (SEMVER-MINOR) defer inheriting hooks until run() (Colin Ihrig) #53927
vm:
  * (SEMVER-MINOR) introduce vanilla contexts via vm.constants.DONT_CONTEXTIFY (Joyee Cheung) #54394

PR-URL: #54560
RafaelGSS added a commit that referenced this pull request Sep 3, 2024
@RafaelGSS
2024-09-03, Version 22.8.0 (Current)
9e5d2b7
Notable changes:

net:
  * (SEMVER-MINOR) exclude ipv6 loopback addresses from server.listen (Giovanni Bucci) #54264
src:
  * (SEMVER-MINOR) add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE (Joyee Cheung) #54501
src,lib:
  * (SEMVER-MINOR) add performance.uvMetricsInfo (Rafael Gonzaga) #54413
test_runner:
  * (SEMVER-MINOR) add support for coverage thresholds (Aviv Keller) #54429
  * (SEMVER-MINOR) support running tests in process (Colin Ihrig) #53927
  * (SEMVER-MINOR) defer inheriting hooks until run() (Colin Ihrig) #53927
vm:
  * (SEMVER-MINOR) introduce vanilla contexts via vm.constants.DONT_CONTEXTIFY (Joyee Cheung) #54394

PR-URL: #54560
@targos targos added the dont-land-on-v20.x label Sep 22, 2024
@pi0 pi0 mentioned this pull request Sep 30, 2024
perf(cli): enable node 22 compile cache unjs/jiti#312
Merged
@chenjiahan chenjiahan mentioned this pull request Oct 2, 2024
perf(CLI): enable Node.js compile cache web-infra-dev/rsbuild#3627
Merged
2 tasks
CharlesCowan
CharlesCowan reviewed Oct 10, 2024
View reviewed changes

@CharlesCowan CharlesCowan left a comment

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔥

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@sapphi-red sapphi-red mentioned this pull request Oct 10, 2024
perf: call module.enableCompileCache() vitejs/vite#18323
Merged
This was referenced Nov 4, 2024
perf(cli): enable Node.js compile cache web-infra-dev/rspack#8331
Merged
perf(CLI): enable Node cache before loading modules web-infra-dev/rslib#366
Merged
perf(cli): enable Node.js compile cache web-infra-dev/rspress#1549
Merged
@H4ad H4ad mentioned this pull request Nov 10, 2024
fix(perf): enable compile cache npm/cli#7901
Merged
wraithgar pushed a commit to npm/cli that referenced this pull request Nov 20, 2024
@H4ad
fix(perf): enable compile cache if present (#7901)
e19bff0
Adding support to
[module.enableCompileCache](https://nodejs.org/docs/v22.11.0/api/module.html#moduleenablecompilecachecachedir),
added by nodejs/node#54501, Typescript got [2.5x
perf on
tsc](https://devblogs.microsoft.com/typescript/announcing-typescript-5-7-beta/#support-for-v8-compile-caching-in-node.js).

On my machine, for the command `--version`, I got the following results:

```bash
Benchmark 1: node bin/npm-cli.js --version
  Time (mean ± σ):      58.0 ms ±   1.1 ms    [User: 51.8 ms, System: 16.8 ms]
  Range (min … max):    56.5 ms …  62.6 ms    51 runs
 
Benchmark 2: node bin/npm-cli-with-cache.js --version
  Time (mean ± σ):      52.9 ms ±   1.0 ms    [User: 46.5 ms, System: 16.8 ms]
  Range (min … max):    51.4 ms …  55.5 ms    56 runs
 
Summary
  'node bin/npm-cli-with-cache.js --version' ran
    1.10 ± 0.03 times faster than 'node bin/npm-cli.js --version'
```

I run the same test with `npm run empty` and I got the same 10%
improvement.
@btea btea mentioned this pull request Apr 25, 2025
perf: call module.enableCompileCache() rolldown/tsdown#153
Merged
@joyeecheung joyeecheung mentioned this pull request Nov 8, 2025
Tracking issue: compile cache #52696
Open
5 of 13 tasks
@filafb filafb mentioned this pull request Dec 16, 2025
fix-deps vtex/toolbelt#1263
Merged
@zhangguiping-xydt zhangguiping-xydt mentioned this pull request Jun 11, 2026
fix(cli): skip compile cache on early Node 24.x to avoid startup deadlock openclaw/openclaw#89799
Merged
@coderabbitai coderabbitai Bot mentioned this pull request Jul 26, 2026
perf(eslint): register preset plugins lazily christopher-buss/eslint-config#650
Merged
@coderabbitai coderabbitai Bot mentioned this pull request Aug 4, 2026
perf(cli): enable Node module compile cache Twigpine/openclaude#2092
Merged
11 tasks done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@jasnell jasnell jasnell approved these changes
@cjihrig cjihrig cjihrig left review comments
@avivkeller avivkeller avivkeller left review comments
@benjamingr benjamingr benjamingr approved these changes
@aduh95 aduh95 aduh95 approved these changes
+1 more reviewer
@CharlesCowan CharlesCowan CharlesCowan left review comments
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

author ready PRs with CI started, the required approvals, and no outstanding review comments. c++ Issues and PRs that require attention from people who are familiar with C++. commit-queue-squash PRs the Commit Queue should land as one squashed commit. lib / src Issues and PRs involving general changes in the lib/ or src/ directories. needs-ci PRs that need a full CI run. notable-change PRs with changes that should be highlighted in changelogs. semver-minor PRs that contain new features and should be released in the next minor version.

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

APIs for libraries/frameworks/tools to control on-disk compilation cache (NODE_COMPILE_CACHE)

Uh oh!

There was an error while loading. Please reload this page.

11 participants

@joyeecheung @nodejs-github-bot @jakebailey @jasnell @benjamingr @cjihrig @aduh95 @avivkeller @CharlesCowan @targos @richardlau
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.