@@ -131,7 +131,7 @@ class PluginAPI {
131
131
/**
132
132
* Generate a cache identifier from a number of variables
133
133
*/
134
- genCacheConfig ( id , partialIdentifier , configFiles ) {
134
+ genCacheConfig ( id , partialIdentifier , configFiles = [ ] ) {
135
135
const fs = require ( 'fs' )
136
136
const cacheDirectory = this . resolve ( `node_modules/.cache/${ id } ` )
137
137
@@ -155,31 +155,38 @@ class PluginAPI {
155
155
]
156
156
}
157
157
158
- if ( configFiles ) {
159
- const readConfig = file => {
160
- const absolutePath = this . resolve ( file )
161
- if ( fs . existsSync ( absolutePath ) ) {
162
- if ( absolutePath . endsWith ( '.js' ) ) {
163
- // should evaluate config scripts to reflect environment variable changes
164
- try {
165
- return JSON . stringify ( require ( absolutePath ) )
166
- } catch ( e ) {
167
- return fs . readFileSync ( absolutePath , 'utf-8' )
168
- }
169
- } else {
170
- return fs . readFileSync ( absolutePath , 'utf-8' )
171
- }
172
- }
173
- }
174
- if ( ! Array . isArray ( configFiles ) ) {
175
- configFiles = [ configFiles ]
158
+ if ( ! Array . isArray ( configFiles ) ) {
159
+ configFiles = [ configFiles ]
160
+ }
161
+ configFiles = configFiles . concat ( [
162
+ 'package-lock.json' ,
163
+ 'yarn.lock' ,
164
+ 'pnpm-lock.yaml'
165
+ ] )
166
+
167
+ const readConfig = file => {
168
+ const absolutePath = this . resolve ( file )
169
+ if ( ! fs . existsSync ( absolutePath ) ) {
170
+ return
176
171
}
177
- for ( const file of configFiles ) {
178
- const content = readConfig ( file )
179
- if ( content ) {
180
- variables . configFiles = content . replace ( / \r \n ? / g, '\n' )
181
- break
172
+
173
+ if ( absolutePath . endsWith ( '.js' ) ) {
174
+ // should evaluate config scripts to reflect environment variable changes
175
+ try {
176
+ return JSON . stringify ( require ( absolutePath ) )
177
+ } catch ( e ) {
178
+ return fs . readFileSync ( absolutePath , 'utf-8' )
182
179
}
180
+ } else {
181
+ return fs . readFileSync ( absolutePath , 'utf-8' )
182
+ }
183
+ }
184
+
185
+ for ( const file of configFiles ) {
186
+ const content = readConfig ( file )
187
+ if ( content ) {
188
+ variables . configFiles = content . replace ( / \r \n ? / g, '\n' )
189
+ break
183
190
}
184
191
}
185
192
0 commit comments