@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 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 and requires `--profile <name>`. After tagging
519
- and any local registry publication it runs `bun run demo:deploy`, which stages
520
- the AppKit demo from locally compiled Node packages and locally built Python
521
- wheels, resolves only the selected workspace profile through `@dbx-tools/auth`,
522
- force-refreshes its token with interactive login fallback, and deploys it. That
523
- step is local only and is not recorded in the annotated tag.
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>` | Explicit Databricks CLI profile for demo deployment |
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.120";
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.120",
34
- "@dbx-tools/core": "^0.9.120",
35
- "@dbx-tools/path": "^0.9.120",
36
- "@dbx-tools/shared-core": "^0.9.120",
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.120",
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",
@@ -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 exec.kill(current, {
284
- gracefulTimeoutMs: SHUTDOWN_TIMEOUT_MS,
285
- forceTimeoutMs: SHUTDOWN_TIMEOUT_MS,
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
- /** Explicit Databricks CLI profile used by the optional demo deployment. */
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 && demoProfile) {
368
- runTaskCommand(root, "bun", ["run", "demo:deploy", "--profile", demoProfile]);
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("Explicit Databricks CLI profile for demo deployment")
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()