@dbx-tools/projen 0.9.120 → 0.9.122
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 +15 -8
- package/index.ts +1 -1
- package/package.json +5 -5
- package/src/vscode.ts +5 -0
- package/tasks/dev-watch.ts +4 -14
- package/tasks/release.ts +8 -9
package/README.md
CHANGED
|
@@ -508,19 +508,26 @@ bun run release --publish pypi --no-docs
|
|
|
508
508
|
bun run release --no-npm --no-local-publish
|
|
509
509
|
bun run release --publish local --install never
|
|
510
510
|
bun run release --local-registry false --local-pypi auto
|
|
511
|
-
bun run release --demo-deploy
|
|
511
|
+
bun run release --demo-deploy --profile FEVM-REGGIE-PIERCE-AWS
|
|
512
512
|
bun run release --no-release-notes
|
|
513
513
|
bun run release --release-notes-text "# Release 1.2.3"
|
|
514
514
|
bun run release --release-notes-file ./notes.md
|
|
515
515
|
bun run release --release-notes-instructions "Focus on operator-visible changes."
|
|
516
516
|
```
|
|
517
517
|
|
|
518
|
-
`--demo-deploy` is off by default
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
518
|
+
`--demo-deploy` is off by default. After tagging and any local registry
|
|
519
|
+
publication it runs `bun run demo:deploy`, which stages the AppKit demo from
|
|
520
|
+
locally compiled Node packages and locally built Python wheels, resolves
|
|
521
|
+
the default environment or configured credentials through
|
|
522
|
+
`@dbx-tools/auth`, including `DATABRICKS_CONFIG_PROFILE`, `DATABRICKS_HOST`,
|
|
523
|
+
and the other auth options, force-refreshes its token with interactive login
|
|
524
|
+
fallback, and deploys it. When auth selects a profile, the deploy passes that
|
|
525
|
+
resolved profile explicitly to every bundle command. That step is local only
|
|
526
|
+
and is not recorded in the annotated tag.
|
|
527
|
+
|
|
528
|
+
Pass `--profile <name>` to set `DATABRICKS_CONFIG_PROFILE` only for that local
|
|
529
|
+
demo deployment. The profile is not forwarded as a release subcommand
|
|
530
|
+
argument or stored in the release tag.
|
|
524
531
|
|
|
525
532
|
After bump and configured validation, release writes
|
|
526
533
|
`docs/releases/vX.Y.Z.md` with `dbx genie exec -C "$PWD" --sandbox read-only
|
|
@@ -618,7 +625,7 @@ release [options]
|
|
|
618
625
|
| `--release-notes-instructions <value>` | Append instructions to the Genie release-note prompt (env: PROJEN_RELEASE_RELEASE_NOTES_INSTRUCTIONS) |
|
|
619
626
|
| `--demo-deploy` | Deploy the AppKit demo after tagging and local publication (env: PROJEN_RELEASE_DEMO_DEPLOY) |
|
|
620
627
|
| `--no-demo-deploy` | Disable deploy the appkit demo after tagging and local publication |
|
|
621
|
-
| `--profile <value>` |
|
|
628
|
+
| `--profile <value>` | Optional Databricks CLI profile passed to the demo deployment (env: PROJEN_RELEASE_PROFILE) |
|
|
622
629
|
| `--local-publish` | Publish to configured local registries (default: true, env: PROJEN_RELEASE_LOCAL_PUBLISH) |
|
|
623
630
|
| `--no-local-publish` | Disable publish to configured local registries |
|
|
624
631
|
| `--local-registry <value>` | Local npm registry selection: auto, false, or URL (default: "auto", env: PROJEN_RELEASE_LOCAL_REGISTRY) |
|
package/index.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
|
|
5
5
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/projen";
|
|
6
|
-
export const PACKAGE_VERSION = "0.9.
|
|
6
|
+
export const PACKAGE_VERSION = "0.9.122";
|
|
7
7
|
export * as barrels from "./src/barrels.ts";
|
|
8
8
|
export * as bunApp from "./src/bun-app.ts";
|
|
9
9
|
export * as bunWorkflow from "./src/bun-workflow.ts";
|
package/package.json
CHANGED
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@clack/prompts": "^1.7.0",
|
|
33
|
-
"@dbx-tools/cli-args": "^0.9.
|
|
34
|
-
"@dbx-tools/core": "^0.9.
|
|
35
|
-
"@dbx-tools/path": "^0.9.
|
|
36
|
-
"@dbx-tools/shared-core": "^0.9.
|
|
33
|
+
"@dbx-tools/cli-args": "^0.9.122",
|
|
34
|
+
"@dbx-tools/core": "^0.9.122",
|
|
35
|
+
"@dbx-tools/path": "^0.9.122",
|
|
36
|
+
"@dbx-tools/shared-core": "^0.9.122",
|
|
37
37
|
"commander": "^15.0.0",
|
|
38
38
|
"concurrently": "^10.0.3",
|
|
39
39
|
"constructs": "^10.6.0",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
},
|
|
56
56
|
"main": "index.ts",
|
|
57
57
|
"license": "Apache-2.0",
|
|
58
|
-
"version": "0.9.
|
|
58
|
+
"version": "0.9.122",
|
|
59
59
|
"types": "index.ts",
|
|
60
60
|
"type": "module",
|
|
61
61
|
"exports": {
|
package/src/vscode.ts
CHANGED
|
@@ -33,6 +33,11 @@ export function configureVsCode(scope: javascript.NodeProject): void {
|
|
|
33
33
|
"**/node_modules/**": true,
|
|
34
34
|
"**/dist/**": true,
|
|
35
35
|
},
|
|
36
|
+
"search.exclude": {
|
|
37
|
+
"**/.prettierrc.json": true,
|
|
38
|
+
"**/eslintrc.json": true,
|
|
39
|
+
"docs/**/archived/**": true,
|
|
40
|
+
},
|
|
36
41
|
});
|
|
37
42
|
editor.extensions.addRecommendations(
|
|
38
43
|
"esbenp.prettier-vscode",
|
package/tasks/dev-watch.ts
CHANGED
|
@@ -265,24 +265,14 @@ export async function main(args: string[] = process.argv.slice(2)): Promise<void
|
|
|
265
265
|
},
|
|
266
266
|
});
|
|
267
267
|
|
|
268
|
-
function interruptChild(): void {
|
|
269
|
-
const current = child;
|
|
270
|
-
if (!current?.pid) return;
|
|
271
|
-
try {
|
|
272
|
-
current.kill("SIGINT");
|
|
273
|
-
} catch {
|
|
274
|
-
// The command already exited.
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
|
|
278
268
|
async function stopChild(): Promise<void> {
|
|
279
269
|
const current = child;
|
|
280
270
|
if (!current) return;
|
|
281
271
|
child = undefined;
|
|
282
272
|
try {
|
|
283
|
-
await
|
|
284
|
-
|
|
285
|
-
|
|
273
|
+
await current.shutdown({
|
|
274
|
+
terminateTimeout: SHUTDOWN_TIMEOUT_MS,
|
|
275
|
+
killTimeout: SHUTDOWN_TIMEOUT_MS,
|
|
286
276
|
});
|
|
287
277
|
} catch (err) {
|
|
288
278
|
logger.error("failed to stop command process tree", {
|
|
@@ -300,6 +290,7 @@ export async function main(args: string[] = process.argv.slice(2)): Promise<void
|
|
|
300
290
|
stdout: "inherit",
|
|
301
291
|
stderr: "inherit",
|
|
302
292
|
check: false,
|
|
293
|
+
forwardTerminationSignals: false,
|
|
303
294
|
});
|
|
304
295
|
child = current;
|
|
305
296
|
void current
|
|
@@ -387,7 +378,6 @@ export async function main(args: string[] = process.argv.slice(2)): Promise<void
|
|
|
387
378
|
clearTimeout(timer);
|
|
388
379
|
restartReason = undefined;
|
|
389
380
|
restoreStdin();
|
|
390
|
-
interruptChild();
|
|
391
381
|
await Promise.race([
|
|
392
382
|
Promise.allSettled([watcher.close(), stopChild()]),
|
|
393
383
|
asyncUtils.sleep(SHUTDOWN_TIMEOUT_MS),
|
package/tasks/release.ts
CHANGED
|
@@ -233,7 +233,7 @@ export async function runRelease(
|
|
|
233
233
|
readonly validationTasks?: readonly string[];
|
|
234
234
|
/** After tagging, stage and deploy the AppKit demo app. Off by default. */
|
|
235
235
|
readonly demoDeploy?: boolean;
|
|
236
|
-
/**
|
|
236
|
+
/** Optional Databricks CLI profile passed to the local demo deployment. */
|
|
237
237
|
readonly demoProfile?: string;
|
|
238
238
|
/** Write `docs/releases/vX.Y.Z.md` via Genie, with a git-log fallback. On by default. */
|
|
239
239
|
readonly releaseNotes?: boolean;
|
|
@@ -249,11 +249,7 @@ export async function runRelease(
|
|
|
249
249
|
const { branch, prefix, remote, root } = options;
|
|
250
250
|
const selection = releaseStepSelection(options);
|
|
251
251
|
const install = options.install ?? "auto";
|
|
252
|
-
const demoProfile = options.demoProfile?.trim();
|
|
253
252
|
|
|
254
|
-
if (options.demoDeploy && !demoProfile) {
|
|
255
|
-
throw new Error("--demo-deploy requires --profile <name>");
|
|
256
|
-
}
|
|
257
253
|
if (options.releaseNotesText !== undefined && options.releaseNotesFile !== undefined) {
|
|
258
254
|
throw new Error("--release-notes-text and --release-notes-file are mutually exclusive");
|
|
259
255
|
}
|
|
@@ -364,8 +360,12 @@ export async function runRelease(
|
|
|
364
360
|
});
|
|
365
361
|
}
|
|
366
362
|
|
|
367
|
-
if (options.demoDeploy
|
|
368
|
-
runTaskCommand(root, "bun", [
|
|
363
|
+
if (options.demoDeploy) {
|
|
364
|
+
runTaskCommand(root, "bun", [
|
|
365
|
+
"run",
|
|
366
|
+
"demo:deploy",
|
|
367
|
+
...(options.demoProfile ? ["--", "--profile", options.demoProfile] : []),
|
|
368
|
+
]);
|
|
369
369
|
}
|
|
370
370
|
|
|
371
371
|
return tag;
|
|
@@ -420,8 +420,7 @@ export const ReleaseOptionsSchema = z.object({
|
|
|
420
420
|
.trim()
|
|
421
421
|
.min(1)
|
|
422
422
|
.optional()
|
|
423
|
-
.describe("
|
|
424
|
-
.meta({ env: [], helpDefault: false }),
|
|
423
|
+
.describe("Optional Databricks CLI profile passed to the demo deployment"),
|
|
425
424
|
localPublish: z.boolean().default(true).describe("Publish to configured local registries"),
|
|
426
425
|
localRegistry: z
|
|
427
426
|
.string()
|