piral-cli 0.15.0-beta.4633 → 0.15.0-beta.4670
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/README.md +17 -0
- package/lib/apps/debug-pilet.js +106 -96
- package/lib/apps/debug-pilet.js.map +1 -1
- package/lib/apps/debug-piral.js +58 -55
- package/lib/apps/debug-piral.js.map +1 -1
- package/lib/apps/upgrade-pilet.js +5 -8
- package/lib/apps/upgrade-pilet.js.map +1 -1
- package/lib/common/declaration.js +2 -0
- package/lib/common/declaration.js.map +1 -1
- package/lib/common/index.d.ts +2 -0
- package/lib/common/index.js +2 -0
- package/lib/common/index.js.map +1 -1
- package/lib/common/package.d.ts +0 -4
- package/lib/common/package.js +5 -7
- package/lib/common/package.js.map +1 -1
- package/lib/common/watcher.d.ts +5 -0
- package/lib/common/watcher.js +21 -0
- package/lib/common/watcher.js.map +1 -0
- package/lib/external/index.js +274 -274
- package/package.json +2 -2
- package/src/apps/debug-pilet.ts +131 -113
- package/src/apps/debug-piral.ts +69 -62
- package/src/apps/upgrade-pilet.ts +7 -9
- package/src/common/declaration.ts +2 -0
- package/src/common/index.ts +2 -0
- package/src/common/package.ts +5 -5
- package/src/common/watcher.ts +24 -0
package/src/apps/debug-pilet.ts
CHANGED
|
@@ -22,6 +22,7 @@ import {
|
|
|
22
22
|
createInitialKrasConfig,
|
|
23
23
|
getAvailablePort,
|
|
24
24
|
combinePiletExternals,
|
|
25
|
+
watcherTask,
|
|
25
26
|
} from '../common';
|
|
26
27
|
|
|
27
28
|
export interface DebugPiletOptions {
|
|
@@ -216,131 +217,148 @@ export async function debugPilet(baseDir = process.cwd(), options: DebugPiletOpt
|
|
|
216
217
|
} = options;
|
|
217
218
|
const publicUrl = normalizePublicUrl(originalPublicUrl);
|
|
218
219
|
const fullBase = resolve(process.cwd(), baseDir);
|
|
220
|
+
const port = await getAvailablePort(originalPort);
|
|
219
221
|
setLogLevel(logLevel);
|
|
220
222
|
|
|
221
223
|
await hooks.onBegin?.({ options, fullBase });
|
|
222
|
-
progress('Reading configuration ...');
|
|
223
|
-
const api = `${publicUrl}${config.piletApi.replace(/^\/+/, '')}`;
|
|
224
|
-
const entryList = Array.isArray(entry) ? entry : [entry];
|
|
225
|
-
const multi = entryList.length > 1 || entryList[0].indexOf('*') !== -1;
|
|
226
|
-
log('generalDebug_0003', `Looking for (${multi ? 'multi' : 'single'}) "${entryList.join('", "')}" in "${fullBase}".`);
|
|
227
|
-
|
|
228
|
-
const allEntries = await matchAnyPilet(fullBase, entryList);
|
|
229
|
-
const maxListeners = Math.max(2 + allEntries.length * 2, 16);
|
|
230
|
-
log('generalDebug_0003', `Found the following entries: ${allEntries.join(', ')}`);
|
|
231
|
-
|
|
232
|
-
if (allEntries.length === 0) {
|
|
233
|
-
fail('entryFileMissing_0077');
|
|
234
|
-
}
|
|
235
224
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
const externals = combinePiletExternals(piralInstances, peerDependencies, peerModules, importmap);
|
|
245
|
-
const mocks = join(targetDir, 'mocks');
|
|
246
|
-
const dest = resolve(root, target);
|
|
247
|
-
const outDir = dirname(dest);
|
|
248
|
-
const outFile = basename(dest);
|
|
249
|
-
const mocksExists = await checkExistingDirectory(mocks);
|
|
250
|
-
|
|
251
|
-
await hooks.beforeBuild?.({ root, publicUrl, importmap, entryModule, schemaVersion });
|
|
252
|
-
|
|
253
|
-
const bundler = await callPiletDebug(
|
|
254
|
-
{
|
|
255
|
-
root,
|
|
256
|
-
piralInstances,
|
|
257
|
-
optimizeModules,
|
|
258
|
-
hmr,
|
|
259
|
-
externals,
|
|
260
|
-
targetDir,
|
|
261
|
-
importmap,
|
|
262
|
-
outFile,
|
|
263
|
-
outDir,
|
|
264
|
-
entryModule: `./${relative(root, entryModule)}`,
|
|
265
|
-
logLevel,
|
|
266
|
-
version: schemaVersion,
|
|
267
|
-
ignored,
|
|
268
|
-
_,
|
|
269
|
-
},
|
|
270
|
-
bundlerName,
|
|
225
|
+
await watcherTask(async (watcherContext) => {
|
|
226
|
+
progress('Reading configuration ...');
|
|
227
|
+
const api = `${publicUrl}${config.piletApi.replace(/^\/+/, '')}`;
|
|
228
|
+
const entryList = Array.isArray(entry) ? entry : [entry];
|
|
229
|
+
const multi = entryList.length > 1 || entryList[0].indexOf('*') !== -1;
|
|
230
|
+
log(
|
|
231
|
+
'generalDebug_0003',
|
|
232
|
+
`Looking for (${multi ? 'multi' : 'single'}) "${entryList.join('", "')}" in "${fullBase}".`,
|
|
271
233
|
);
|
|
272
234
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
});
|
|
276
|
-
|
|
277
|
-
return {
|
|
278
|
-
apps,
|
|
279
|
-
publicUrl,
|
|
280
|
-
externals,
|
|
281
|
-
bundler,
|
|
282
|
-
mocks: mocksExists ? mocks : undefined,
|
|
283
|
-
root,
|
|
284
|
-
};
|
|
285
|
-
});
|
|
235
|
+
const allEntries = await matchAnyPilet(fullBase, entryList);
|
|
236
|
+
const maxListeners = Math.max(2 + allEntries.length * 2, 16);
|
|
237
|
+
log('generalDebug_0003', `Found the following entries: ${allEntries.join(', ')}`);
|
|
286
238
|
|
|
287
|
-
|
|
288
|
-
|
|
239
|
+
if (allEntries.length === 0) {
|
|
240
|
+
fail('entryFileMissing_0077');
|
|
241
|
+
}
|
|
289
242
|
|
|
290
|
-
|
|
291
|
-
|
|
243
|
+
process.stderr.setMaxListeners(maxListeners);
|
|
244
|
+
process.stdout.setMaxListeners(maxListeners);
|
|
245
|
+
process.stdin.setMaxListeners(maxListeners);
|
|
246
|
+
|
|
247
|
+
const pilets = await concurrentWorkers(allEntries, concurrency, async (entryModule) => {
|
|
248
|
+
const targetDir = dirname(entryModule);
|
|
249
|
+
const { peerDependencies, peerModules, root, apps, ignored, importmap } = await retrievePiletData(targetDir, app);
|
|
250
|
+
const piralInstances = apps.map((m) => m.appPackage.name);
|
|
251
|
+
const externals = combinePiletExternals(piralInstances, peerDependencies, peerModules, importmap);
|
|
252
|
+
const mocks = join(targetDir, 'mocks');
|
|
253
|
+
const dest = resolve(root, target);
|
|
254
|
+
const outDir = dirname(dest);
|
|
255
|
+
const outFile = basename(dest);
|
|
256
|
+
const mocksExists = await checkExistingDirectory(mocks);
|
|
257
|
+
|
|
258
|
+
await hooks.beforeBuild?.({ root, publicUrl, importmap, entryModule, schemaVersion });
|
|
259
|
+
|
|
260
|
+
const bundler = await callPiletDebug(
|
|
261
|
+
{
|
|
262
|
+
root,
|
|
263
|
+
piralInstances,
|
|
264
|
+
optimizeModules,
|
|
265
|
+
hmr,
|
|
266
|
+
externals,
|
|
267
|
+
targetDir,
|
|
268
|
+
importmap,
|
|
269
|
+
outFile,
|
|
270
|
+
outDir,
|
|
271
|
+
entryModule: `./${relative(root, entryModule)}`,
|
|
272
|
+
logLevel,
|
|
273
|
+
version: schemaVersion,
|
|
274
|
+
ignored,
|
|
275
|
+
_,
|
|
276
|
+
},
|
|
277
|
+
bundlerName,
|
|
278
|
+
);
|
|
292
279
|
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
280
|
+
bundler.on((args) => {
|
|
281
|
+
hooks.afterBuild?.({
|
|
282
|
+
...args,
|
|
283
|
+
root,
|
|
284
|
+
publicUrl,
|
|
285
|
+
importmap,
|
|
286
|
+
entryModule,
|
|
287
|
+
schemaVersion,
|
|
288
|
+
bundler,
|
|
289
|
+
outFile,
|
|
290
|
+
outDir,
|
|
291
|
+
});
|
|
292
|
+
});
|
|
297
293
|
|
|
298
|
-
|
|
294
|
+
return {
|
|
295
|
+
apps,
|
|
296
|
+
publicUrl,
|
|
297
|
+
externals,
|
|
298
|
+
bundler,
|
|
299
|
+
mocks: mocksExists ? mocks : undefined,
|
|
300
|
+
root,
|
|
301
|
+
};
|
|
302
|
+
});
|
|
299
303
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
304
|
+
// sanity check see #250
|
|
305
|
+
checkSanity(pilets);
|
|
306
|
+
|
|
307
|
+
await hooks.beforeApp?.({ appInstanceDir, pilets });
|
|
308
|
+
const appDirs = [appInstanceDir] || (await getOrMakeApps(pilets[0], logLevel));
|
|
309
|
+
|
|
310
|
+
await Promise.all(
|
|
311
|
+
appDirs.map(async (appDir) => {
|
|
312
|
+
const appRoot = dirname(await findFile(appDir, 'package.json'));
|
|
313
|
+
await hooks.afterApp?.({ appInstanceDir, pilets });
|
|
314
|
+
|
|
315
|
+
Promise.all(pilets.map((p) => p.bundler.ready())).then(() => logDone(`Ready!`));
|
|
316
|
+
|
|
317
|
+
const sources = pilets.map((m) => m.mocks).filter(Boolean);
|
|
318
|
+
const baseMocks = resolve(fullBase, 'mocks');
|
|
319
|
+
const krasBaseConfig = resolve(fullBase, krasrc);
|
|
320
|
+
const krasRootConfig = resolve(appRoot, krasrc);
|
|
321
|
+
const initial = createInitialKrasConfig(baseMocks, sources, { [api]: '' }, feed);
|
|
322
|
+
const required = {
|
|
323
|
+
injectors: {
|
|
324
|
+
piral: {
|
|
325
|
+
active: false,
|
|
326
|
+
},
|
|
327
|
+
pilet: {
|
|
328
|
+
active: true,
|
|
329
|
+
pilets,
|
|
330
|
+
app: appDir,
|
|
331
|
+
publicUrl,
|
|
332
|
+
handle: ['/', api],
|
|
333
|
+
api,
|
|
334
|
+
},
|
|
309
335
|
},
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
336
|
+
};
|
|
337
|
+
const configs = [krasBaseConfig, ...pilets.map((p) => resolve(p.root, krasrc)), krasRootConfig];
|
|
338
|
+
const krasConfig = readKrasConfig({ port, initial, required }, ...configs);
|
|
339
|
+
|
|
340
|
+
log('generalVerbose_0004', `Using kras with configuration: ${JSON.stringify(krasConfig, undefined, 2)}`);
|
|
341
|
+
|
|
342
|
+
const krasServer = buildKrasWithCli(krasConfig);
|
|
343
|
+
krasServer.setMaxListeners(maxListeners);
|
|
344
|
+
krasServer.removeAllListeners('open');
|
|
345
|
+
krasServer.on(
|
|
346
|
+
'open',
|
|
347
|
+
notifyServerOnline(
|
|
348
|
+
pilets.map((p) => p.bundler),
|
|
314
349
|
publicUrl,
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
krasServer.setMaxListeners(maxListeners);
|
|
328
|
-
krasServer.removeAllListeners('open');
|
|
329
|
-
krasServer.on(
|
|
330
|
-
'open',
|
|
331
|
-
notifyServerOnline(
|
|
332
|
-
pilets.map((p) => p.bundler),
|
|
333
|
-
publicUrl,
|
|
334
|
-
krasConfig.api,
|
|
335
|
-
),
|
|
336
|
-
);
|
|
350
|
+
krasConfig.api,
|
|
351
|
+
),
|
|
352
|
+
);
|
|
353
|
+
|
|
354
|
+
await hooks.beforeOnline?.({ krasServer, krasConfig, open, port, api, feed, pilets, publicUrl });
|
|
355
|
+
await krasServer.start();
|
|
356
|
+
openBrowser(open, port, publicUrl, !!krasConfig.ssl);
|
|
357
|
+
await hooks.afterOnline?.({ krasServer, krasConfig, open, port, api, feed, pilets, publicUrl });
|
|
358
|
+
await new Promise((resolve) => krasServer.on('close', resolve));
|
|
359
|
+
}),
|
|
360
|
+
);
|
|
361
|
+
});
|
|
337
362
|
|
|
338
|
-
|
|
339
|
-
await krasServer.start();
|
|
340
|
-
openBrowser(open, port, publicUrl, !!krasConfig.ssl);
|
|
341
|
-
await hooks.afterOnline?.({ krasServer, krasConfig, open, port, api, feed, pilets, publicUrl });
|
|
342
|
-
await new Promise((resolve) => krasServer.on('close', resolve));
|
|
343
|
-
await hooks.onEnd?.({});
|
|
344
|
-
}),
|
|
345
|
-
);
|
|
363
|
+
await hooks.onEnd?.({});
|
|
346
364
|
}
|
package/src/apps/debug-piral.ts
CHANGED
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
createInitialKrasConfig,
|
|
19
19
|
getAvailablePort,
|
|
20
20
|
checkExistingDirectory,
|
|
21
|
+
watcherTask,
|
|
21
22
|
} from '../common';
|
|
22
23
|
|
|
23
24
|
export interface DebugPiralOptions {
|
|
@@ -118,77 +119,83 @@ export async function debugPiral(baseDir = process.cwd(), options: DebugPiralOpt
|
|
|
118
119
|
} = options;
|
|
119
120
|
const publicUrl = normalizePublicUrl(originalPublicUrl);
|
|
120
121
|
const fullBase = resolve(process.cwd(), baseDir);
|
|
122
|
+
const port = await getAvailablePort(originalPort);
|
|
121
123
|
setLogLevel(logLevel);
|
|
122
124
|
|
|
123
125
|
await hooks.onBegin?.({ options, fullBase });
|
|
124
|
-
progress('Reading configuration ...');
|
|
125
|
-
const entryFiles = await retrievePiralRoot(fullBase, entry);
|
|
126
|
-
const targetDir = dirname(entryFiles);
|
|
127
|
-
const { externals, name, root, ignored } = await retrievePiletsInfo(entryFiles);
|
|
128
|
-
const piralInstances = [name];
|
|
129
|
-
const dest = getDestination(entryFiles, resolve(fullBase, target));
|
|
130
|
-
|
|
131
|
-
await checkCliCompatibility(root);
|
|
132
|
-
|
|
133
|
-
await hooks.beforeBuild?.({ root, publicUrl, externals, entryFiles, piralInstances });
|
|
134
|
-
|
|
135
|
-
const bundler = await callPiralDebug(
|
|
136
|
-
{
|
|
137
|
-
root,
|
|
138
|
-
piralInstances,
|
|
139
|
-
optimizeModules,
|
|
140
|
-
hmr,
|
|
141
|
-
externals,
|
|
142
|
-
publicUrl,
|
|
143
|
-
entryFiles,
|
|
144
|
-
logLevel,
|
|
145
|
-
ignored,
|
|
146
|
-
...dest,
|
|
147
|
-
_,
|
|
148
|
-
},
|
|
149
|
-
bundlerName,
|
|
150
|
-
);
|
|
151
|
-
|
|
152
|
-
bundler.ready().then(() => logDone(`Ready!`));
|
|
153
|
-
|
|
154
|
-
bundler.on((args) => {
|
|
155
|
-
hooks.afterBuild?.({ ...args, root, publicUrl, externals, entryFiles, piralInstances, bundler, ...dest });
|
|
156
|
-
});
|
|
157
126
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
127
|
+
await watcherTask(async (watcherContext) => {
|
|
128
|
+
progress('Reading configuration ...');
|
|
129
|
+
const entryFiles = await retrievePiralRoot(fullBase, entry);
|
|
130
|
+
const targetDir = dirname(entryFiles);
|
|
131
|
+
const { externals, name, root, ignored } = await retrievePiletsInfo(entryFiles);
|
|
132
|
+
const piralInstances = [name];
|
|
133
|
+
const dest = getDestination(entryFiles, resolve(fullBase, target));
|
|
134
|
+
|
|
135
|
+
await checkCliCompatibility(root);
|
|
136
|
+
|
|
137
|
+
await hooks.beforeBuild?.({ root, publicUrl, externals, entryFiles, piralInstances });
|
|
138
|
+
|
|
139
|
+
const bundler = await callPiralDebug(
|
|
140
|
+
{
|
|
141
|
+
root,
|
|
142
|
+
piralInstances,
|
|
143
|
+
optimizeModules,
|
|
144
|
+
hmr,
|
|
145
|
+
externals,
|
|
171
146
|
publicUrl,
|
|
172
|
-
|
|
147
|
+
entryFiles,
|
|
148
|
+
logLevel,
|
|
149
|
+
ignored,
|
|
150
|
+
...dest,
|
|
151
|
+
_,
|
|
173
152
|
},
|
|
174
|
-
|
|
175
|
-
|
|
153
|
+
bundlerName,
|
|
154
|
+
);
|
|
155
|
+
|
|
156
|
+
bundler.ready().then(() => logDone(`Ready!`));
|
|
157
|
+
|
|
158
|
+
bundler.on((args) => {
|
|
159
|
+
hooks.afterBuild?.({ ...args, root, publicUrl, externals, entryFiles, piralInstances, bundler, ...dest });
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
const krasBaseConfig = resolve(fullBase, krasrc);
|
|
163
|
+
const krasRootConfig = resolve(root, krasrc);
|
|
164
|
+
const mocks = join(targetDir, 'mocks');
|
|
165
|
+
const baseMocks = resolve(fullBase, 'mocks');
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
const mocksExist = await checkExistingDirectory(mocks);
|
|
169
|
+
const sources = [mocksExist ? mocks : undefined].filter(Boolean);
|
|
170
|
+
const initial = createInitialKrasConfig(baseMocks, sources);
|
|
171
|
+
const required = {
|
|
172
|
+
injectors: {
|
|
173
|
+
piral: {
|
|
174
|
+
active: true,
|
|
175
|
+
handle: ['/'],
|
|
176
|
+
feed,
|
|
177
|
+
publicUrl,
|
|
178
|
+
bundler,
|
|
179
|
+
},
|
|
180
|
+
pilet: {
|
|
181
|
+
active: false,
|
|
182
|
+
},
|
|
176
183
|
},
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
const port = await getAvailablePort(originalPort);
|
|
180
|
-
const krasConfig = readKrasConfig({ port, initial, required }, krasBaseConfig, krasRootConfig);
|
|
184
|
+
};
|
|
185
|
+
const krasConfig = readKrasConfig({ port, initial, required }, krasBaseConfig, krasRootConfig);
|
|
181
186
|
|
|
182
|
-
|
|
187
|
+
log('generalVerbose_0004', `Using kras with configuration: ${JSON.stringify(krasConfig, undefined, 2)}`);
|
|
183
188
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
189
|
+
const krasServer = buildKrasWithCli(krasConfig);
|
|
190
|
+
krasServer.removeAllListeners('open');
|
|
191
|
+
krasServer.on('open', notifyServerOnline([bundler], publicUrl, krasConfig.api));
|
|
192
|
+
|
|
193
|
+
await hooks.beforeOnline?.({ krasServer, krasConfig, open, port, publicUrl });
|
|
194
|
+
await krasServer.start();
|
|
195
|
+
openBrowser(open, port, publicUrl, !!krasConfig.ssl);
|
|
196
|
+
await hooks.afterOnline?.({ krasServer, krasConfig, open, port, publicUrl });
|
|
197
|
+
await new Promise((resolve) => krasServer.on('close', resolve));
|
|
198
|
+
});
|
|
187
199
|
|
|
188
|
-
await hooks.beforeOnline?.({ krasServer, krasConfig, open, port, publicUrl });
|
|
189
|
-
await krasServer.start();
|
|
190
|
-
openBrowser(open, port, publicUrl, !!krasConfig.ssl);
|
|
191
|
-
await hooks.afterOnline?.({ krasServer, krasConfig, open, port, publicUrl });
|
|
192
|
-
await new Promise((resolve) => krasServer.on('close', resolve));
|
|
193
200
|
await hooks.onEnd?.({});
|
|
194
201
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { resolve } from 'path';
|
|
2
2
|
import { LogLevels, NpmClientType } from '../types';
|
|
3
3
|
import {
|
|
4
|
-
readJson,
|
|
5
4
|
installNpmPackage,
|
|
6
5
|
checkExistingDirectory,
|
|
7
6
|
patchPiletPackage,
|
|
@@ -24,6 +23,7 @@ import {
|
|
|
24
23
|
getPiralPath,
|
|
25
24
|
isMonorepoPackageRef,
|
|
26
25
|
getPiletScaffoldData,
|
|
26
|
+
retrievePiletData,
|
|
27
27
|
} from '../common';
|
|
28
28
|
|
|
29
29
|
export interface UpgradePiletOptions {
|
|
@@ -99,11 +99,11 @@ export async function upgradePilet(baseDir = process.cwd(), options: UpgradePile
|
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
const npmClient = await determineNpmClient(root, defaultNpmClient);
|
|
102
|
-
const
|
|
103
|
-
const { devDependencies = {}, dependencies = {},
|
|
102
|
+
const { apps, piletPackage } = await retrievePiletData(root);
|
|
103
|
+
const { devDependencies = {}, dependencies = {}, source } = piletPackage;
|
|
104
104
|
|
|
105
|
-
|
|
106
|
-
const sourceName =
|
|
105
|
+
for (const { appPackage } of apps) {
|
|
106
|
+
const sourceName = appPackage.name;
|
|
107
107
|
const language = /\.jsx?$/.test(source) ? 'js' : 'ts';
|
|
108
108
|
|
|
109
109
|
if (!sourceName || typeof sourceName !== 'string') {
|
|
@@ -170,9 +170,7 @@ export async function upgradePilet(baseDir = process.cwd(), options: UpgradePile
|
|
|
170
170
|
log('generalDebug_0003', `Run: ${postUpgrade}`);
|
|
171
171
|
await runScript(postUpgrade, root);
|
|
172
172
|
}
|
|
173
|
-
|
|
174
|
-
logDone('Pilet upgraded successfully!');
|
|
175
|
-
} else {
|
|
176
|
-
fail('invalidPiletPackage_0041');
|
|
177
173
|
}
|
|
174
|
+
|
|
175
|
+
logDone('Pilet upgraded successfully!');
|
|
178
176
|
}
|
|
@@ -124,6 +124,7 @@ export async function createPiletDeclaration(
|
|
|
124
124
|
types: [...types, ...files],
|
|
125
125
|
plugins: [createExcludePlugin([name])],
|
|
126
126
|
apis: [],
|
|
127
|
+
noModuleDeclaration: true,
|
|
127
128
|
imports: allowedImports,
|
|
128
129
|
logLevel,
|
|
129
130
|
logger: createLogger(),
|
|
@@ -149,6 +150,7 @@ export async function createPiralDeclaration(
|
|
|
149
150
|
files,
|
|
150
151
|
types: findDeclaredTypings(root),
|
|
151
152
|
apis: findPiralBaseApi(root),
|
|
153
|
+
noModuleDeclaration: true,
|
|
152
154
|
imports: externals,
|
|
153
155
|
logLevel,
|
|
154
156
|
logger: createLogger(),
|
package/src/common/index.ts
CHANGED
package/src/common/package.ts
CHANGED
|
@@ -574,7 +574,7 @@ export async function patchPiletPackage(
|
|
|
574
574
|
log('generalDebug_0003', `Succesfully patched the pilet.json.`);
|
|
575
575
|
}
|
|
576
576
|
|
|
577
|
-
|
|
577
|
+
async function getPiletPackage(
|
|
578
578
|
root: string,
|
|
579
579
|
name: string,
|
|
580
580
|
version: string,
|
|
@@ -582,11 +582,13 @@ export async function getPiletPackage(
|
|
|
582
582
|
fromEmulator: boolean,
|
|
583
583
|
newInfo?: { language: SourceLanguage; bundler: string },
|
|
584
584
|
) {
|
|
585
|
+
const { piralCLI = { version: cliVersion } } = piralInfo;
|
|
585
586
|
const { externals, packageOverrides, ...info } = getPiletsInfo(piralInfo);
|
|
586
587
|
const piralDependencies = {
|
|
587
588
|
...piralInfo.devDependencies,
|
|
588
589
|
...piralInfo.dependencies,
|
|
589
590
|
};
|
|
591
|
+
const toolVersion = piralCLI.version;
|
|
590
592
|
const typeDependencies = newInfo ? getDevDependencies(newInfo.language) : {};
|
|
591
593
|
const scripts = newInfo
|
|
592
594
|
? {
|
|
@@ -617,13 +619,11 @@ export async function getPiletPackage(
|
|
|
617
619
|
return deps;
|
|
618
620
|
}, {}),
|
|
619
621
|
[name]: `${version || piralInfo.version}`,
|
|
622
|
+
['piral-cli']: toolVersion,
|
|
620
623
|
};
|
|
621
624
|
|
|
622
625
|
if (newInfo) {
|
|
623
|
-
|
|
624
|
-
const version = `^${cliVersion}`;
|
|
625
|
-
devDependencies['piral-cli'] = version;
|
|
626
|
-
await appendBundler(devDependencies, bundler, version);
|
|
626
|
+
await appendBundler(devDependencies, newInfo.bundler, toolVersion);
|
|
627
627
|
}
|
|
628
628
|
|
|
629
629
|
return deepMerge(packageOverrides, {
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface WatcherContext {
|
|
2
|
+
onClean(dispose: () => void): void;
|
|
3
|
+
watch(file: string): void;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export function watcherTask(cb: (watcherContext: WatcherContext) => Promise<void>) {
|
|
7
|
+
return new Promise<void>((resolve, reject) => {
|
|
8
|
+
const disposers: Array<() => void> = [];
|
|
9
|
+
const context: WatcherContext = {
|
|
10
|
+
onClean(dispose) {
|
|
11
|
+
disposers.push(dispose);
|
|
12
|
+
},
|
|
13
|
+
watch(file) {},
|
|
14
|
+
};
|
|
15
|
+
cb(context).then(
|
|
16
|
+
() => {
|
|
17
|
+
resolve();
|
|
18
|
+
},
|
|
19
|
+
(err) => {
|
|
20
|
+
reject(err);
|
|
21
|
+
},
|
|
22
|
+
);
|
|
23
|
+
});
|
|
24
|
+
}
|