jiek 2.0.2 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli-only-build.cjs +12 -82
- package/dist/cli-only-build.js +12 -82
- package/dist/cli.cjs +243 -69
- package/dist/cli.js +246 -72
- package/dist/rollup/index.cjs +2 -2
- package/dist/rollup/index.js +2 -2
- package/package.json +26 -33
- package/rollup/package.json +1 -0
- package/src/commands/build.ts +13 -18
- package/src/commands/publish.ts +341 -128
- package/src/rollup/index.ts +2 -2
package/src/commands/publish.ts
CHANGED
@@ -7,7 +7,7 @@ import { program } from 'commander'
|
|
7
7
|
import detectIndent from 'detect-indent'
|
8
8
|
import { applyEdits, modify } from 'jsonc-parser'
|
9
9
|
|
10
|
-
import {
|
10
|
+
import type { ProjectsGraph } from '../utils/filterSupport'
|
11
11
|
import { getSelectedProjectsGraph } from '../utils/filterSupport'
|
12
12
|
import { getExports } from '../utils/getExports'
|
13
13
|
import { loadConfig } from '../utils/loadConfig'
|
@@ -28,177 +28,390 @@ declare module 'jiek' {
|
|
28
28
|
}
|
29
29
|
}
|
30
30
|
|
31
|
+
const description = `
|
32
|
+
Publish package to npm registry, and auto generate exports field and other fields in published package.json.
|
33
|
+
If you want to through the options to the \`pnpm publish\` command, you can pass the options after '--'.
|
34
|
+
`.trim()
|
35
|
+
|
36
|
+
async function forEachSelectedProjectsGraphEntries(
|
37
|
+
callback: (dir: string, manifest: NonNullable<ProjectsGraph['value']>[string]) => void
|
38
|
+
) {
|
39
|
+
const { value = {} } = await getSelectedProjectsGraph() ?? {}
|
40
|
+
const selectedProjectsGraphEntries = Object.entries(value)
|
41
|
+
if (selectedProjectsGraphEntries.length === 0) {
|
42
|
+
throw new Error('no packages selected')
|
43
|
+
}
|
44
|
+
for (const [dir, manifest] of selectedProjectsGraphEntries) {
|
45
|
+
callback(dir, manifest)
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
31
49
|
program
|
32
50
|
.command('publish')
|
51
|
+
.description(description)
|
33
52
|
.aliases(['pub', 'p'])
|
34
53
|
.option('-b, --bumper <bumper>', 'bump version', 'patch')
|
35
54
|
.option('-no-b, --no-bumper', 'no bump version')
|
36
55
|
.option('-o, --outdir <OUTDIR>', outdirDescription, String, 'dist')
|
37
|
-
.
|
38
|
-
.option('-p, --preview', 'preview publish')
|
39
|
-
.action(async ({ outdir, preview, silent, bumper, ...options }: {
|
56
|
+
.action(async ({ outdir, bumper }: {
|
40
57
|
outdir?: string
|
41
|
-
preview?: boolean
|
42
|
-
silent?: boolean
|
43
58
|
bumper: false | BumperType
|
44
59
|
}) => {
|
45
|
-
|
46
|
-
|
47
|
-
const { value = {} } = await getSelectedProjectsGraph() ?? {}
|
48
|
-
const selectedProjectsGraphEntries = Object.entries(value)
|
49
|
-
if (selectedProjectsGraphEntries.length === 0) {
|
50
|
-
throw new Error('no packages selected')
|
51
|
-
}
|
52
|
-
const manifests = selectedProjectsGraphEntries
|
53
|
-
.map(([dir, manifest]) => {
|
54
|
-
const { name, type, exports: entrypoints = {} } = manifest
|
55
|
-
if (!name) {
|
56
|
-
throw new Error(`package.json in ${dir} must have a name field`)
|
57
|
-
}
|
60
|
+
let shouldPassThrough = false
|
58
61
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
62
|
+
const passThroughOptions = process.argv
|
63
|
+
.reduce(
|
64
|
+
(acc, value) => {
|
65
|
+
if (shouldPassThrough) {
|
66
|
+
acc.push(value)
|
67
|
+
}
|
68
|
+
if (value === '--') {
|
69
|
+
shouldPassThrough = true
|
70
|
+
}
|
71
|
+
return acc
|
72
|
+
},
|
73
|
+
[] as string[]
|
74
|
+
)
|
75
|
+
|
76
|
+
await forEachSelectedProjectsGraphEntries(dir => {
|
77
|
+
const args = ['pnpm', 'publish', '--access', 'public', '--no-git-checks']
|
78
|
+
if (bumper && TAGS.includes(bumper)) {
|
79
|
+
args.push('--tag', bumper)
|
80
|
+
}
|
81
|
+
args.push(...passThroughOptions)
|
82
|
+
childProcess.execSync(args.join(' '), {
|
83
|
+
cwd: dir,
|
84
|
+
stdio: 'inherit',
|
85
|
+
env: {
|
86
|
+
...process.env,
|
87
|
+
JIEK_PUBLISH_OUTDIR: JSON.stringify(outdir),
|
88
|
+
JIEK_PUBLISH_BUMPER: JSON.stringify(bumper)
|
74
89
|
}
|
75
|
-
return [dir, newManifest, resolvedOutdir] as const
|
76
90
|
})
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
91
|
+
})
|
92
|
+
})
|
93
|
+
|
94
|
+
async function prepublish() {
|
95
|
+
const {
|
96
|
+
JIEK_PUBLISH_OUTDIR: outdirEnv,
|
97
|
+
JIEK_PUBLISH_BUMPER: bumperEnv
|
98
|
+
} = process.env
|
99
|
+
const outdir = outdirEnv ? JSON.parse(outdirEnv) : 'dist'
|
100
|
+
const bumper = bumperEnv ? JSON.parse(bumperEnv) : false
|
101
|
+
|
102
|
+
const generateNewManifest = (dir: string, manifest: NonNullable<ProjectsGraph['value']>[string]) => {
|
103
|
+
const { name, type, exports: entrypoints = {} } = manifest
|
104
|
+
if (!name) {
|
105
|
+
throw new Error(`package.json in ${dir} must have a name field`)
|
106
|
+
}
|
107
|
+
|
108
|
+
const pkgIsModule = type === 'module'
|
109
|
+
const newManifest = { ...manifest }
|
110
|
+
const [resolvedEntrypoints, exports, resolvedOutdir] = getExports({
|
111
|
+
entrypoints,
|
112
|
+
pkgIsModule,
|
113
|
+
pkgName: name,
|
114
|
+
config: loadConfig(dir),
|
115
|
+
dir,
|
116
|
+
defaultOutdir: outdir,
|
117
|
+
noFilter: true,
|
118
|
+
isPublish: true
|
119
|
+
})
|
120
|
+
newManifest.exports = {
|
121
|
+
...resolvedEntrypoints,
|
122
|
+
...exports
|
123
|
+
}
|
124
|
+
return [newManifest, resolvedOutdir] as const
|
125
|
+
}
|
126
|
+
|
127
|
+
const generateNewPackageJSONString = ({
|
128
|
+
oldJSONString,
|
129
|
+
oldJSON,
|
130
|
+
manifest,
|
131
|
+
formattingOptions
|
132
|
+
}: {
|
133
|
+
oldJSONString: string
|
134
|
+
oldJSON: Record<string, unknown>
|
135
|
+
manifest: NonNullable<ProjectsGraph['value']>[string]
|
136
|
+
formattingOptions: {
|
137
|
+
tabSize: number
|
138
|
+
insertSpaces: boolean
|
139
|
+
}
|
140
|
+
}) => {
|
141
|
+
let newJSONString = oldJSONString
|
142
|
+
newJSONString = applyEdits(
|
143
|
+
newJSONString,
|
144
|
+
modify(
|
97
145
|
newJSONString,
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
146
|
+
['publishConfig', 'typesVersions'],
|
147
|
+
{
|
148
|
+
'<5.0': {
|
149
|
+
'*': [
|
150
|
+
'*',
|
151
|
+
`./*`,
|
152
|
+
`./*/index.d.ts`,
|
153
|
+
`./*/index.d.mts`,
|
154
|
+
`./*/index.d.cts`
|
155
|
+
]
|
156
|
+
}
|
157
|
+
},
|
158
|
+
{ formattingOptions }
|
104
159
|
)
|
105
|
-
|
106
|
-
|
160
|
+
)
|
161
|
+
for (const [key, value] of Object.entries(manifest)) {
|
162
|
+
if (key === 'version') continue
|
163
|
+
if (JSON.stringify(value) === JSON.stringify(oldJSON[key])) continue
|
107
164
|
|
108
|
-
|
165
|
+
if (key !== 'exports') {
|
166
|
+
newJSONString = applyEdits(
|
167
|
+
newJSONString,
|
168
|
+
modify(
|
169
|
+
newJSONString,
|
170
|
+
['publishConfig', key],
|
171
|
+
value,
|
172
|
+
{ formattingOptions }
|
173
|
+
)
|
174
|
+
)
|
175
|
+
} else {
|
176
|
+
const exports = value as Record<string, unknown>
|
177
|
+
for (const [k, v] of Object.entries(exports)) {
|
109
178
|
newJSONString = applyEdits(
|
110
179
|
newJSONString,
|
111
180
|
modify(
|
112
181
|
newJSONString,
|
113
|
-
['publishConfig',
|
114
|
-
|
182
|
+
['publishConfig', 'exports', k],
|
183
|
+
v,
|
115
184
|
{ formattingOptions }
|
116
185
|
)
|
117
186
|
)
|
118
|
-
}
|
119
|
-
|
120
|
-
|
187
|
+
}
|
188
|
+
const index = exports?.['.']
|
189
|
+
const indexPublishConfig: Record<string, string> = {}
|
190
|
+
if (index) {
|
191
|
+
switch (typeof index) {
|
192
|
+
case 'string':
|
193
|
+
indexPublishConfig[
|
194
|
+
manifest?.type === 'module' ? 'module' : 'main'
|
195
|
+
] = index
|
196
|
+
break
|
197
|
+
case 'object': {
|
198
|
+
const indexExports = index as Record<string, string>
|
199
|
+
indexPublishConfig.main = indexExports['require'] ?? indexExports['default']
|
200
|
+
indexPublishConfig.module = indexExports['import'] ?? indexExports['module'] ?? indexExports['default']
|
201
|
+
break
|
202
|
+
}
|
203
|
+
}
|
204
|
+
for (const [k, v] of Object.entries(indexPublishConfig)) {
|
205
|
+
if (v === undefined) continue
|
121
206
|
newJSONString = applyEdits(
|
122
207
|
newJSONString,
|
123
208
|
modify(
|
124
209
|
newJSONString,
|
125
|
-
['publishConfig',
|
210
|
+
['publishConfig', k],
|
126
211
|
v,
|
127
212
|
{ formattingOptions }
|
128
213
|
)
|
129
214
|
)
|
130
215
|
}
|
131
|
-
const index = exports?.['.']
|
132
|
-
const indexPublishConfig: Record<string, string> = {}
|
133
|
-
if (index) {
|
134
|
-
switch (typeof index) {
|
135
|
-
case 'string':
|
136
|
-
indexPublishConfig[
|
137
|
-
manifest?.type === 'module' ? 'module' : 'main'
|
138
|
-
] = index
|
139
|
-
break
|
140
|
-
case 'object': {
|
141
|
-
const indexExports = index as Record<string, string>
|
142
|
-
indexPublishConfig.main = indexExports['require'] ?? indexExports['default']
|
143
|
-
indexPublishConfig.module = indexExports['import'] ?? indexExports['module'] ?? indexExports['default']
|
144
|
-
break
|
145
|
-
}
|
146
|
-
}
|
147
|
-
for (const [k, v] of Object.entries(indexPublishConfig)) {
|
148
|
-
if (v === undefined) continue
|
149
|
-
newJSONString = applyEdits(
|
150
|
-
newJSONString,
|
151
|
-
modify(
|
152
|
-
newJSONString,
|
153
|
-
['publishConfig', k],
|
154
|
-
v,
|
155
|
-
{ formattingOptions }
|
156
|
-
)
|
157
|
-
)
|
158
|
-
}
|
159
|
-
}
|
160
216
|
}
|
161
217
|
}
|
218
|
+
}
|
219
|
+
if (oldJSON['peerDependencies']) {
|
220
|
+
const peerDependenciesMeta = Object.keys(oldJSON['peerDependencies']).reduce(
|
221
|
+
(acc, key) => {
|
222
|
+
acc[key] = { optional: true }
|
223
|
+
return acc
|
224
|
+
},
|
225
|
+
{} as Record<string, { optional: boolean }>
|
226
|
+
)
|
162
227
|
newJSONString = applyEdits(
|
163
228
|
newJSONString,
|
164
229
|
modify(
|
165
230
|
newJSONString,
|
166
|
-
['
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
231
|
+
['peerDependenciesMeta'],
|
232
|
+
peerDependenciesMeta,
|
233
|
+
{ formattingOptions }
|
234
|
+
)
|
235
|
+
)
|
236
|
+
}
|
237
|
+
if (oldJSON['files']) {
|
238
|
+
newJSONString = applyEdits(
|
239
|
+
newJSONString,
|
240
|
+
modify(
|
241
|
+
newJSONString,
|
242
|
+
['files'],
|
243
|
+
undefined,
|
178
244
|
{ formattingOptions }
|
179
245
|
)
|
180
246
|
)
|
247
|
+
}
|
248
|
+
return newJSONString
|
249
|
+
}
|
250
|
+
|
251
|
+
await forEachSelectedProjectsGraphEntries((dir, originalManifest) => {
|
252
|
+
const [manifest, resolvedOutdir] = generateNewManifest(dir, originalManifest)
|
253
|
+
const resolveByDir = (...paths: string[]) => path.resolve(dir, ...paths)
|
254
|
+
|
255
|
+
const oldJSONString = fs.readFileSync(resolveByDir('package.json'), 'utf-8')
|
256
|
+
const oldJSON = JSON.parse(oldJSONString) ?? '0.0.0'
|
257
|
+
if (typeof oldJSON.version !== 'string') {
|
258
|
+
throw new Error(`${dir}/package.json must have a version field with a string value`)
|
259
|
+
}
|
260
|
+
|
261
|
+
// TODO detectIndent by editorconfig
|
262
|
+
const { indent = ' ' } = detectIndent(oldJSONString)
|
263
|
+
const formattingOptions = {
|
264
|
+
tabSize: indent.length,
|
265
|
+
insertSpaces: true
|
266
|
+
}
|
267
|
+
|
268
|
+
const newVersion = bumper ? bump(oldJSON.version, bumper) : oldJSON.version
|
269
|
+
const modifyVersionPackageJSON = applyEdits(
|
270
|
+
oldJSONString,
|
271
|
+
modify(oldJSONString, ['version'], newVersion, { formattingOptions })
|
272
|
+
)
|
273
|
+
|
274
|
+
const newJSONString = generateNewPackageJSONString({
|
275
|
+
oldJSONString: modifyVersionPackageJSON,
|
276
|
+
oldJSON: {
|
277
|
+
...oldJSON,
|
278
|
+
version: newVersion
|
279
|
+
},
|
280
|
+
manifest,
|
281
|
+
formattingOptions
|
282
|
+
})
|
283
|
+
|
284
|
+
const withPublishConfigDirectoryOldJSONString = applyEdits(
|
285
|
+
modifyVersionPackageJSON,
|
286
|
+
modify(modifyVersionPackageJSON, ['publishConfig', 'directory'], resolvedOutdir, { formattingOptions })
|
287
|
+
)
|
288
|
+
|
289
|
+
if (!fs.existsSync(resolveByDir(resolvedOutdir))) {
|
290
|
+
fs.mkdirSync(resolveByDir(resolvedOutdir))
|
291
|
+
}
|
292
|
+
const jiekTempDir = resolveByDir('node_modules/.jiek/.tmp')
|
293
|
+
if (!fs.existsSync(resolveByDir(jiekTempDir))) {
|
294
|
+
fs.mkdirSync(resolveByDir(jiekTempDir), { recursive: true })
|
295
|
+
}
|
296
|
+
|
297
|
+
fs.writeFileSync(resolveByDir(resolvedOutdir, 'package.json'), newJSONString)
|
298
|
+
fs.writeFileSync(resolveByDir(jiekTempDir, 'package.json'), modifyVersionPackageJSON)
|
299
|
+
fs.writeFileSync(resolveByDir('package.json'), withPublishConfigDirectoryOldJSONString)
|
300
|
+
|
301
|
+
const allBuildFiles = fs
|
302
|
+
.readdirSync(resolveByDir(resolvedOutdir), { recursive: true })
|
303
|
+
.filter(file => typeof file === 'string')
|
304
|
+
.filter(file => file !== 'package.json')
|
305
|
+
for (const file of allBuildFiles) {
|
306
|
+
const filepath = resolveByDir(resolvedOutdir, file)
|
307
|
+
const stat = fs.statSync(filepath)
|
308
|
+
if (stat.isDirectory()) {
|
309
|
+
const existsIndexFile = allBuildFiles
|
310
|
+
.some(f =>
|
311
|
+
[
|
312
|
+
path.join(file, 'index.js'),
|
313
|
+
path.join(file, 'index.mjs'),
|
314
|
+
path.join(file, 'index.cjs')
|
315
|
+
].includes(f)
|
316
|
+
)
|
317
|
+
if (existsIndexFile) {
|
318
|
+
const cpDistPath = resolveByDir(resolvedOutdir, resolvedOutdir, file)
|
319
|
+
const pkgJSONPath = resolveByDir(resolvedOutdir, file, 'package.json')
|
320
|
+
const relativePath = path.relative(filepath, cpDistPath)
|
321
|
+
const { type } = manifest
|
322
|
+
fs.writeFileSync(
|
323
|
+
pkgJSONPath,
|
324
|
+
JSON.stringify({
|
325
|
+
type,
|
326
|
+
main: [relativePath, `index.${type === 'module' ? 'c' : ''}js`].join('/'),
|
327
|
+
module: [relativePath, `index.${type === 'module' ? '' : 'm'}js`].join('/')
|
328
|
+
})
|
329
|
+
)
|
330
|
+
}
|
331
|
+
}
|
332
|
+
}
|
333
|
+
fs.mkdirSync(resolveByDir(resolvedOutdir, resolvedOutdir))
|
334
|
+
for (const file of allBuildFiles) {
|
335
|
+
const filepath = resolveByDir(resolvedOutdir, file)
|
336
|
+
const newFilepath = resolveByDir(resolvedOutdir, resolvedOutdir, file)
|
337
|
+
const stat = fs.statSync(filepath)
|
338
|
+
if (stat.isDirectory()) {
|
339
|
+
fs.mkdirSync(newFilepath, { recursive: true })
|
340
|
+
continue
|
341
|
+
}
|
342
|
+
if (stat.isFile()) {
|
343
|
+
fs.cpSync(filepath, newFilepath)
|
344
|
+
fs.rmSync(filepath)
|
345
|
+
}
|
346
|
+
}
|
347
|
+
|
348
|
+
if (oldJSON.files) {
|
349
|
+
if (!Array.isArray(oldJSON.files)) {
|
350
|
+
throw new Error(`${dir}/package.json files field must be an array`)
|
351
|
+
}
|
352
|
+
if (Array.isArray(oldJSON.files) && oldJSON.files.every((file: unknown) => typeof file !== 'string')) {
|
353
|
+
throw new Error(`${dir}/package.json files field must be an array of string`)
|
354
|
+
}
|
355
|
+
}
|
356
|
+
const resolvedOutdirAbs = resolveByDir(resolvedOutdir)
|
357
|
+
const files = (
|
358
|
+
(oldJSON.files as undefined | string[]) ?? fs.readdirSync(resolveByDir('.'))
|
359
|
+
).filter(file => file === 'node_modules' || resolveByDir(file) !== resolvedOutdirAbs)
|
360
|
+
|
361
|
+
for (const file of files) {
|
362
|
+
const path = resolveByDir(file)
|
181
363
|
try {
|
182
|
-
fs.
|
183
|
-
|
184
|
-
|
185
|
-
if (preview) {
|
364
|
+
const stat = fs.statSync(path)
|
365
|
+
if (stat.isDirectory()) {
|
366
|
+
fs.cpSync(path, resolveByDir(resolvedOutdir, file), { recursive: true })
|
186
367
|
continue
|
187
368
|
}
|
188
|
-
|
189
|
-
|
190
|
-
|
369
|
+
if (stat.isFile()) {
|
370
|
+
fs.cpSync(path, resolveByDir(resolvedOutdir, file))
|
371
|
+
continue
|
191
372
|
}
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
})
|
196
|
-
const modifyVersionPackageJSON = applyEdits(oldJSONString, modify(oldJSONString, ['version'], newVersion, {}))
|
197
|
-
fs.writeFileSync(path.join(dir, 'package.json.bak'), modifyVersionPackageJSON)
|
198
|
-
} finally {
|
199
|
-
fs.unlinkSync(path.join(dir, 'package.json'))
|
200
|
-
fs.renameSync(path.join(dir, 'package.json.bak'), path.join(dir, 'package.json'))
|
373
|
+
} catch (e) {
|
374
|
+
console.warn(String(e))
|
375
|
+
continue
|
201
376
|
}
|
377
|
+
throw new Error(`file type of ${path} is not supported`)
|
202
378
|
}
|
203
|
-
actionDone()
|
204
379
|
})
|
380
|
+
}
|
381
|
+
|
382
|
+
async function postpublish() {
|
383
|
+
await forEachSelectedProjectsGraphEntries(dir => {
|
384
|
+
const jiekTempDir = path.resolve(dir, 'node_modules/.jiek/.tmp')
|
385
|
+
const packageJSON = path.resolve(dir, 'package.json')
|
386
|
+
const jiekTempPackageJSON = path.resolve(jiekTempDir, 'package.json')
|
387
|
+
if (fs.existsSync(jiekTempPackageJSON)) {
|
388
|
+
fs.copyFileSync(jiekTempPackageJSON, packageJSON)
|
389
|
+
fs.rmSync(jiekTempPackageJSON)
|
390
|
+
console.log(`${dir}/package.json has been restored`)
|
391
|
+
} else {
|
392
|
+
throw new Error(
|
393
|
+
`jiek temp \`${dir}/package.json\` not found, please confirm the jiek pre-publish command has been executed`
|
394
|
+
)
|
395
|
+
}
|
396
|
+
})
|
397
|
+
}
|
398
|
+
|
399
|
+
program
|
400
|
+
.action(async () => {
|
401
|
+
const {
|
402
|
+
npm_lifecycle_event: NPM_LIFECYCLE_EVENT
|
403
|
+
} = process.env
|
404
|
+
switch (NPM_LIFECYCLE_EVENT) {
|
405
|
+
case 'prepublish':
|
406
|
+
await prepublish()
|
407
|
+
break
|
408
|
+
case 'postpublish':
|
409
|
+
await postpublish()
|
410
|
+
break
|
411
|
+
default:
|
412
|
+
program.help()
|
413
|
+
}
|
414
|
+
})
|
415
|
+
|
416
|
+
program.command('prepublish').action(prepublish)
|
417
|
+
program.command('postpublish').action(postpublish)
|
package/src/rollup/index.ts
CHANGED
@@ -39,7 +39,7 @@ const {
|
|
39
39
|
JIEK_WITHOUT_DTS,
|
40
40
|
JIEK_WITHOUT_MINIFY,
|
41
41
|
JIEK_MINIFY_TYPE,
|
42
|
-
|
42
|
+
JIEK_CLEAN,
|
43
43
|
JIEK_ONLY_MINIFY,
|
44
44
|
JIEK_TSCONFIG,
|
45
45
|
JIEK_DTSCONFIG
|
@@ -74,7 +74,7 @@ const WITHOUT_MINIFY = JIEK_WITHOUT_MINIFY === 'true'
|
|
74
74
|
|
75
75
|
const ONLY_MINIFY = JIEK_ONLY_MINIFY === 'true'
|
76
76
|
|
77
|
-
const CLEAN =
|
77
|
+
const CLEAN = JIEK_CLEAN === 'true'
|
78
78
|
|
79
79
|
const MINIFY_DEFAULT_VALUE = WITHOUT_MINIFY
|
80
80
|
? false
|