1
1
import { beforeAll , describe , expect , it } from '@jest/globals' ;
2
2
import { execFile } from 'child_process' ;
3
- import fs from 'fs' ;
4
- import os from 'os' ;
5
- import path from 'path' ;
3
+ import { mkdirSync , mkdtempSync , readFileSync , writeFileSync } from 'fs' ;
4
+ import { tmpdir } from 'os' ;
5
+ import { join } from 'path' ;
6
6
7
7
let directory = '' ;
8
8
9
9
describe ( 'pkg-ok' , ( ) => {
10
10
beforeAll ( ( ) => {
11
- directory = fs . mkdtempSync ( path . join ( os . tmpdir ( ) , 'pkg-ok-' ) ) ;
12
- fs . mkdirSync ( path . join ( directory , 'A' ) ) ;
13
- fs . writeFileSync (
14
- path . join ( directory , 'A/package.json' ) ,
11
+ directory = mkdtempSync ( join ( tmpdir ( ) , 'pkg-ok-' ) ) ;
12
+ mkdirSync ( join ( directory , 'A' ) ) ;
13
+ writeFileSync (
14
+ join ( directory , 'A/package.json' ) ,
15
15
JSON . stringify ( {
16
16
main : 'unknown.js' ,
17
17
bin : 'unknown.js' ,
@@ -23,71 +23,71 @@ describe('pkg-ok', () => {
23
23
exports : 'unknown.js' ,
24
24
} ) ,
25
25
) ;
26
- fs . mkdirSync ( path . join ( directory , 'B' ) ) ;
27
- fs . writeFileSync (
28
- path . join ( directory , 'B/package.json' ) ,
26
+ mkdirSync ( join ( directory , 'B' ) ) ;
27
+ writeFileSync (
28
+ join ( directory , 'B/package.json' ) ,
29
29
JSON . stringify ( {
30
30
bin : {
31
31
X : 'unknown.js' ,
32
32
Y : 'unknown.js' ,
33
33
} ,
34
34
} ) ,
35
35
) ;
36
- fs . mkdirSync ( path . join ( directory , 'C' ) ) ;
37
- fs . writeFileSync (
38
- path . join ( directory , 'C/package.json' ) ,
36
+ mkdirSync ( join ( directory , 'C' ) ) ;
37
+ writeFileSync (
38
+ join ( directory , 'C/package.json' ) ,
39
39
JSON . stringify ( {
40
40
foo : 'unknown.js' ,
41
41
} ) ,
42
42
) ;
43
- fs . mkdirSync ( path . join ( directory , 'D' ) ) ;
44
- fs . writeFileSync (
45
- path . join ( directory , 'D/package.json' ) ,
43
+ mkdirSync ( join ( directory , 'D' ) ) ;
44
+ writeFileSync (
45
+ join ( directory , 'D/package.json' ) ,
46
46
JSON . stringify ( {
47
47
foo : {
48
48
bar : 'bar' ,
49
49
baz : 'baz' ,
50
50
} ,
51
51
} ) ,
52
52
) ;
53
- fs . mkdirSync ( path . join ( directory , 'E' ) ) ;
54
- fs . writeFileSync (
55
- path . join ( directory , 'E/package.json' ) ,
53
+ mkdirSync ( join ( directory , 'E' ) ) ;
54
+ writeFileSync (
55
+ join ( directory , 'E/package.json' ) ,
56
56
JSON . stringify ( {
57
57
bin : './script.js' ,
58
58
} ) ,
59
59
) ;
60
- fs . writeFileSync ( path . join ( directory , 'E/script.js' ) , 'foo\r\nbar' ) ;
61
- fs . writeFileSync ( path . join ( directory , 'E/another-script.js' ) , 'baz\r\nqux' ) ;
62
- fs . mkdirSync ( path . join ( directory , 'F' ) ) ;
63
- fs . mkdirSync ( path . join ( directory , 'F' , 'dist' ) ) ;
64
- fs . writeFileSync (
65
- path . join ( directory , 'F/package.json' ) ,
60
+ writeFileSync ( join ( directory , 'E/script.js' ) , 'foo\r\nbar' ) ;
61
+ writeFileSync ( join ( directory , 'E/another-script.js' ) , 'baz\r\nqux' ) ;
62
+ mkdirSync ( join ( directory , 'F' ) ) ;
63
+ mkdirSync ( join ( directory , 'F' , 'dist' ) ) ;
64
+ writeFileSync (
65
+ join ( directory , 'F/package.json' ) ,
66
66
JSON . stringify ( {
67
67
browser : {
68
68
'./dist/lib.cjs.js' : './dist/lib.cjs.browser.js' ,
69
69
'./dist/lib.esm.js' : './dist/lib.esm.browser.js' ,
70
70
} ,
71
71
} ) ,
72
72
) ;
73
- fs . writeFileSync ( path . join ( directory , 'F/dist/lib.cjs.browser.js' ) , 'cjs' ) ;
74
- fs . writeFileSync ( path . join ( directory , 'F/dist/lib.esm.browser.js' ) , 'esm' ) ;
75
- fs . mkdirSync ( path . join ( directory , 'G' ) ) ;
76
- fs . mkdirSync ( path . join ( directory , 'G' , 'dist' ) ) ;
77
- fs . writeFileSync (
78
- path . join ( directory , 'G/package.json' ) ,
73
+ writeFileSync ( join ( directory , 'F/dist/lib.cjs.browser.js' ) , 'cjs' ) ;
74
+ writeFileSync ( join ( directory , 'F/dist/lib.esm.browser.js' ) , 'esm' ) ;
75
+ mkdirSync ( join ( directory , 'G' ) ) ;
76
+ mkdirSync ( join ( directory , 'G' , 'dist' ) ) ;
77
+ writeFileSync (
78
+ join ( directory , 'G/package.json' ) ,
79
79
JSON . stringify ( {
80
80
browser : {
81
81
'dist/lib.cjs.js' : './dist/lib.cjs.browser.js' ,
82
82
'./dist/lib.esm.js' : 'dist/lib.esm.browser.js' ,
83
83
} ,
84
84
} ) ,
85
85
) ;
86
- fs . writeFileSync ( path . join ( directory , 'G/dist/lib.cjs.js' ) , './dist/lib.cjs.browser.js' ) ;
86
+ writeFileSync ( join ( directory , 'G/dist/lib.cjs.js' ) , './dist/lib.cjs.browser.js' ) ;
87
87
} ) ;
88
88
89
89
it ( 'checks /A' , ( done ) => {
90
- execFile ( 'node' , [ 'dist/bin.js' , path . join ( directory , 'A' ) ] , ( _error , stdout ) => {
90
+ execFile ( 'node' , [ 'dist/bin.js' , join ( directory , 'A' ) ] , ( _error , stdout ) => {
91
91
expect ( stdout ) . toMatch (
92
92
/ m a i n [ \s \S ] * b i n [ \s \S ] * t y p e s [ \s \S ] * t y p i n g s [ \s \S ] * m o d u l e [ \s \S ] * e s 2 0 1 5 [ \s \S ] * b r o w s e r [ \s \S ] * e x p o r t s / ,
93
93
) ;
@@ -96,7 +96,7 @@ describe('pkg-ok', () => {
96
96
} ) ;
97
97
98
98
it ( 'checks /B' , ( done ) => {
99
- execFile ( 'node' , [ 'dist/bin.js' , path . join ( directory , 'B' ) ] , ( _error , stdout ) => {
99
+ execFile ( 'node' , [ 'dist/bin.js' , join ( directory , 'B' ) ] , ( _error , stdout ) => {
100
100
expect ( stdout ) . toMatch ( / b i n \. X [ \s \S ] * b i n \. Y / ) ;
101
101
done ( ) ;
102
102
} ) ;
@@ -105,7 +105,7 @@ describe('pkg-ok', () => {
105
105
it ( 'checks /C' , ( done ) => {
106
106
execFile (
107
107
'node' ,
108
- [ 'dist/bin.js' , path . join ( directory , 'C' ) , '--field' , 'foo' ] ,
108
+ [ 'dist/bin.js' , join ( directory , 'C' ) , '--field' , 'foo' ] ,
109
109
( _error , stdout ) => {
110
110
expect ( stdout ) . toMatch ( / f o o / ) ;
111
111
done ( ) ;
@@ -116,7 +116,7 @@ describe('pkg-ok', () => {
116
116
it ( 'checks /D' , ( done ) => {
117
117
execFile (
118
118
'node' ,
119
- [ 'dist/bin.js' , path . join ( directory , 'D' ) , '--field' , 'foo' ] ,
119
+ [ 'dist/bin.js' , join ( directory , 'D' ) , '--field' , 'foo' ] ,
120
120
( _error , stdout ) => {
121
121
expect ( stdout ) . toMatch ( / f o o \. b a r [ \s \S ] * f o o \. b a z / ) ;
122
122
done ( ) ;
@@ -127,10 +127,10 @@ describe('pkg-ok', () => {
127
127
it ( 'checks /E' , ( done ) => {
128
128
execFile (
129
129
'node' ,
130
- [ 'dist/bin.js' , path . join ( directory , 'E' ) , '--bin' , 'another-script.js' ] ,
130
+ [ 'dist/bin.js' , join ( directory , 'E' ) , '--bin' , 'another-script.js' ] ,
131
131
( ) => {
132
- expect ( fs . readFileSync ( path . join ( directory , '/E/script.js' ) , 'utf-8' ) ) . toEqual ( 'foo\nbar' ) ;
133
- expect ( fs . readFileSync ( path . join ( directory , '/E/another-script.js' ) , 'utf-8' ) ) . toEqual (
132
+ expect ( readFileSync ( join ( directory , '/E/script.js' ) , 'utf-8' ) ) . toEqual ( 'foo\nbar' ) ;
133
+ expect ( readFileSync ( join ( directory , '/E/another-script.js' ) , 'utf-8' ) ) . toEqual (
134
134
'baz\nqux' ,
135
135
) ;
136
136
done ( ) ;
@@ -141,13 +141,13 @@ describe('pkg-ok', () => {
141
141
it ( 'checks /F' , ( done ) => {
142
142
execFile (
143
143
'node' ,
144
- [ 'dist/bin.js' , path . join ( directory , 'F' ) , '--bin' , 'another-script.js' ] ,
144
+ [ 'dist/bin.js' , join ( directory , 'F' ) , '--bin' , 'another-script.js' ] ,
145
145
( ) => {
146
146
expect (
147
- fs . readFileSync ( path . join ( directory , '/F/dist/lib.cjs.browser.js' ) , 'utf-8' ) ,
147
+ readFileSync ( join ( directory , '/F/dist/lib.cjs.browser.js' ) , 'utf-8' ) ,
148
148
) . toEqual ( 'cjs' ) ;
149
149
expect (
150
- fs . readFileSync ( path . join ( directory , '/F/dist/lib.esm.browser.js' ) , 'utf-8' ) ,
150
+ readFileSync ( join ( directory , '/F/dist/lib.esm.browser.js' ) , 'utf-8' ) ,
151
151
) . toEqual ( 'esm' ) ;
152
152
done ( ) ;
153
153
} ,
@@ -157,7 +157,7 @@ describe('pkg-ok', () => {
157
157
it ( 'checks /G' , ( done ) => {
158
158
execFile (
159
159
'node' ,
160
- [ 'dist/bin.js' , path . join ( directory , 'G' ) , '--bin' , 'another-script.js' ] ,
160
+ [ 'dist/bin.js' , join ( directory , 'G' ) , '--bin' , 'another-script.js' ] ,
161
161
( _error , stdout ) => {
162
162
expect ( stdout ) . toMatch ( / b r o w s e r .* p a t h [ \s \S ] * b r o w s e r .* p a t h [ \s \S ] * b r o w s e r .* m u s t / ) ;
163
163
done ( ) ;
0 commit comments