File tree Expand file tree Collapse file tree 2 files changed +25
-1
lines changed Expand file tree Collapse file tree 2 files changed +25
-1
lines changed Original file line number Diff line number Diff line change 30
30
},
31
31
"scripts" : {
32
32
"lint" : " eslint . --report-unused-disable-directives" ,
33
+ "prepare" : " node tests/patch-esmock.js" ,
33
34
"release:generate:latest" : " eslint-generate-release" ,
34
35
"release:generate:alpha" : " eslint-generate-prerelease alpha" ,
35
36
"release:generate:beta" : " eslint-generate-prerelease beta" ,
58
59
"eslint" : " ^8.48.0" ,
59
60
"eslint-config-eslint" : " ^9.0.0" ,
60
61
"eslint-release" : " ^3.2.0" ,
61
- "esmock" : " ^2.2.3" ,
62
+ "esmock" : " ^2.5.8" ,
63
+ "esmock_legacy" : " npm:esmock@~2.3.8" ,
62
64
"espree" : " ^9.0.0" ,
63
65
"globals" : " ^13.21.0" ,
64
66
"lint-staged" : " ^12.1.2" ,
Original file line number Diff line number Diff line change
1
+ /**
2
+ * @fileoverview Run by npm to replace esmock with a legacy release on older versions of Node.js.
3
+ * @author Francesco Trotta
4
+ */
5
+
6
+ import { promises as fs } from "fs" ;
7
+
8
+ // * esmock < 2.4 works only on Node.js < 19.
9
+ // * esmock >= 2.4 works only on Node.js >= 18.6.
10
+ // If we are running Node.js < 19, replace the esmock dependency with the legacy release.
11
+ // 111 is the ABI version number of Node.js 19: https://nodejs.org/en/download/releases
12
+ if ( process . versions . modules < 111 ) {
13
+ ( async ( ) => {
14
+ try {
15
+ await fs . access ( "node_modules/esmock_legacy" ) ;
16
+ } catch {
17
+ return ;
18
+ }
19
+ await fs . rmdir ( "node_modules/esmock" , { recursive : true } ) ;
20
+ await fs . rename ( "node_modules/esmock_legacy" , "node_modules/esmock" ) ;
21
+ } ) ( ) ;
22
+ }
You can’t perform that action at this time.
0 commit comments