@dbx-tools/projen 0.9.153 → 0.9.157
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 +44 -52
- package/index.ts +43 -21
- package/package.json +8 -8
- package/src/_task-command.ts +7 -7
- package/src/appkit-workspace.ts +278 -104
- package/src/barrels.ts +147 -259
- package/src/bun-app.ts +54 -10
- package/src/clean.ts +6 -6
- package/src/engine-root.ts +4 -4
- package/src/mixin.ts +0 -2
- package/src/module-exports.ts +4 -5
- package/src/npm-packaging.ts +128 -0
- package/src/npm-release.ts +200 -0
- package/src/packages.ts +11 -11
- package/src/project-js.ts +209 -103
- package/src/project-predicate.ts +5 -12
- package/src/project-py.ts +8 -6
- package/src/project.ts +7 -14
- package/src/publish.ts +3 -3
- package/src/python-node-bindings.ts +16 -12
- package/src/python-packaging.ts +177 -0
- package/src/release-context.ts +4 -0
- package/src/release-options.ts +2 -2
- package/src/release.ts +133 -13
- package/src/shared-core-usage.ts +17 -4
- package/src/tags.ts +10 -9
- package/src/watch.ts +7 -9
- package/src/workspace-lock.ts +2 -2
- package/src/workspace-manifest.ts +2 -2
- package/tasks/appkit-deploy.ts +35 -15
- package/tasks/barrels.ts +6 -9
- package/tasks/bump.ts +1 -1
- package/tasks/clean.ts +3 -3
- package/tasks/cli.ts +3 -3
- package/tasks/compile-workspace.ts +8 -8
- package/tasks/dev-watch.ts +11 -11
- package/tasks/local-publish.ts +6 -6
- package/tasks/publish-npm.ts +11 -317
- package/tasks/publish-python.ts +2 -180
- package/tasks/publish.ts +6 -11
- package/tasks/python-node-bindings.ts +2 -2
- package/tasks/python-registry.ts +6 -6
- package/tasks/python-sync.ts +2 -3
- package/tasks/release-version.ts +1 -1
- package/tasks/release.ts +11 -11
- package/tasks/sync.ts +2 -2
- package/tasks/test-workspace.ts +9 -9
- package/tasks/verify-publications.ts +273 -0
- package/tasks/version-check.ts +5 -5
- /package/{tasks → src}/python-release.ts +0 -0
package/README.md
CHANGED
|
@@ -7,9 +7,9 @@ dbx-tools workspaces.
|
|
|
7
7
|
## Define a workspace root
|
|
8
8
|
|
|
9
9
|
```ts
|
|
10
|
-
import {
|
|
10
|
+
import { projectJs } from "@dbx-tools/projen";
|
|
11
11
|
|
|
12
|
-
const rootProject = new
|
|
12
|
+
const rootProject = new projectJs.DBXToolsNodeProject({
|
|
13
13
|
name: "my-apps",
|
|
14
14
|
scope: "my-apps",
|
|
15
15
|
packageRoots: ["packages", "examples"],
|
|
@@ -88,9 +88,9 @@ sibling registry requirements there with parsed TOML. Source manifests already
|
|
|
88
88
|
carry the root `VERSION` and are never rewritten for publication.
|
|
89
89
|
|
|
90
90
|
```ts
|
|
91
|
-
import {
|
|
91
|
+
import { projectJs, projectPy } from "@dbx-tools/projen";
|
|
92
92
|
|
|
93
|
-
const root = new
|
|
93
|
+
const root = new projectJs.DBXToolsNodeProject({ name: "my-apps" });
|
|
94
94
|
|
|
95
95
|
new projectPy.DBXToolsPythonWorkspace(root, {
|
|
96
96
|
root: "python/packages",
|
|
@@ -131,9 +131,9 @@ one binding object or an array. Projen writes one
|
|
|
131
131
|
in consuming repositories after `@dbx-tools/projen` is installed.
|
|
132
132
|
|
|
133
133
|
```ts
|
|
134
|
-
import {
|
|
134
|
+
import { projectJs, projectPy } from "@dbx-tools/projen";
|
|
135
135
|
|
|
136
|
-
const root = new
|
|
136
|
+
const root = new projectJs.DBXToolsNodeProject({ name: "my-apps" });
|
|
137
137
|
|
|
138
138
|
new projectPy.DBXToolsPythonWorkspace(root, {
|
|
139
139
|
root: "packages/py",
|
|
@@ -238,9 +238,9 @@ Use a package's `sync` field when published Python code must include a reviewed
|
|
|
238
238
|
subset of a Git repository instead of exposing a direct URL dependency:
|
|
239
239
|
|
|
240
240
|
```ts
|
|
241
|
-
import {
|
|
241
|
+
import { projectJs, projectPy } from "@dbx-tools/projen";
|
|
242
242
|
|
|
243
|
-
const root = new
|
|
243
|
+
const root = new projectJs.DBXToolsNodeProject({ name: "my-apps" });
|
|
244
244
|
|
|
245
245
|
new projectPy.DBXToolsPythonWorkspace(root, {
|
|
246
246
|
root: "packages/py",
|
|
@@ -292,9 +292,9 @@ pinned source intentionally.
|
|
|
292
292
|
## Customize packages with mixins
|
|
293
293
|
|
|
294
294
|
```ts
|
|
295
|
-
import { project } from "@dbx-tools/projen";
|
|
295
|
+
import { project, projectJs } from "@dbx-tools/projen";
|
|
296
296
|
|
|
297
|
-
const rootProject = new
|
|
297
|
+
const rootProject = new projectJs.DBXToolsNodeProject();
|
|
298
298
|
|
|
299
299
|
project.applyToProjects(rootProject, { tags: "shared" }, (pkg) => {
|
|
300
300
|
pkg.addDeps("zod@catalog:");
|
|
@@ -322,23 +322,18 @@ parameter to `Project`). Drop to `mixin.create(predicate, fn)` +
|
|
|
322
322
|
Built-in tag mixins set runtime defaults for `shared`, `node`, `cli`, `server`,
|
|
323
323
|
`ui`, and `app`. Repo-specific mixins layer package-specific dependencies,
|
|
324
324
|
scripts, and generated files on top. `ui` is for reusable React component
|
|
325
|
-
libraries. `app` owns a Bun
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
`
|
|
335
|
-
|
|
336
|
-
config
|
|
337
|
-
`appkit: false` to disable this ownership. Set `appkit: true` to require AppKit
|
|
338
|
-
and fail synthesis when either package role or its required entry files are
|
|
339
|
-
missing. Keep application-specific UI and server dependencies in the consuming
|
|
340
|
-
`.projenrc.ts`. A workspace with one `server` package also receives standard
|
|
341
|
-
`check`, `dev`, and `start` tasks unless the repository defines them.
|
|
325
|
+
libraries. The generic `app` tag still owns a standalone Bun browser package.
|
|
326
|
+
|
|
327
|
+
One private Bun/AppKit application can live at `packages/app`, with browser
|
|
328
|
+
source under `client/` and backend source under `server/`. Set `appRoot` to
|
|
329
|
+
override that location or false to disable application-root discovery. AppKit
|
|
330
|
+
mode defaults to `auto` and configures the application whenever the root exists;
|
|
331
|
+
`appkit: true` additionally requires `client/index.html` and
|
|
332
|
+
`server/server.ts`. The engine generates the root Bun/TypeScript/AppKit
|
|
333
|
+
configuration, `client/vite.config.ts`, `app.yaml`, and a minimal direct-engine
|
|
334
|
+
bundle. Set `appBundle: false` when the application owns a richer
|
|
335
|
+
`databricks.yml`. Put repository-specific Vite settings in the unmanaged
|
|
336
|
+
`client/vite.config.override.ts`.
|
|
342
337
|
|
|
343
338
|
The generated `deploy` task validates with the native Bun build, then delegates
|
|
344
339
|
to `appkit:deploy` unless the repository already owns `deploy`. The AppKit task
|
|
@@ -370,11 +365,6 @@ dependencies are watched with the shared generated/dependency/test/temp ignores.
|
|
|
370
365
|
The configured restart key triggers an immediate restart. The demo uses this
|
|
371
366
|
task to run its concrete server entrypoint. The `server` tag does not assume one.
|
|
372
367
|
|
|
373
|
-
AppKit 0.81's `appkitServerConfig()` is the preferred tsdown preset for a
|
|
374
|
-
consumer app using conventional compiled `server/agents/*/agent.ts` entries. It
|
|
375
|
-
does not replace this engine's package discovery, Bun browser build, source-run
|
|
376
|
-
server, publication, or Databricks deployment staging.
|
|
377
|
-
|
|
378
368
|
A tag layers over a shared compiler floor that every package receives at
|
|
379
369
|
construction: ES2022 plus the web-platform globals available in every runtime,
|
|
380
370
|
with no DOM library and no Node types. The tags add an environment on top.
|
|
@@ -431,9 +421,9 @@ barrels.generateBarrels();
|
|
|
431
421
|
Add declaration inputs through the owning package's typed config:
|
|
432
422
|
|
|
433
423
|
```ts
|
|
434
|
-
import { project } from "@dbx-tools/projen";
|
|
424
|
+
import { project, projectJs } from "@dbx-tools/projen";
|
|
435
425
|
|
|
436
|
-
const rootProject = new
|
|
426
|
+
const rootProject = new projectJs.DBXToolsNodeProject({ name: "my-apps" });
|
|
437
427
|
project.applyToProjects(rootProject, { path: "packages/shared/generated" }, (pkg) => {
|
|
438
428
|
pkg.dbxToolsConfig.codegenInputs.push("node_modules/example/model.d.ts");
|
|
439
429
|
});
|
|
@@ -448,16 +438,15 @@ added to `ignorePatterns` at synth - named individually using
|
|
|
448
438
|
package may hold hand-written modules beside its generated ones, and those must
|
|
449
439
|
stay linted.
|
|
450
440
|
|
|
451
|
-
`generateBarrels()` writes
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
`@scope/package/example
|
|
455
|
-
|
|
456
|
-
generated surface at the package root or any nested level. Existing hand-written
|
|
457
|
-
`index.ts` entrypoints remain authoritative.
|
|
441
|
+
`generateBarrels()` writes read-only entrypoints at the package root. Modules
|
|
442
|
+
directly under `src` go into `index.ts`; modules directly under
|
|
443
|
+
`src/example/wasm` go into `index.example.wasm.ts` and are importable through
|
|
444
|
+
`@scope/package/example/wasm`. The generator never writes nested
|
|
445
|
+
`src/**/index.ts` files or per-module package exports.
|
|
458
446
|
|
|
459
|
-
Generated barrels include module namespaces and flat
|
|
460
|
-
The package root additionally exposes `PACKAGE_IDENTIFIER
|
|
447
|
+
Generated barrels include module namespaces and conflict-free flat value and
|
|
448
|
+
type exports. The package root additionally exposes `PACKAGE_IDENTIFIER` and
|
|
449
|
+
`PACKAGE_VERSION`, even when no module lives directly under `src`. A name two modules
|
|
461
450
|
both declare is ambiguous and stays namespace-only, except when one is generated:
|
|
462
451
|
the hand-written module is the curated view of the generated shape
|
|
463
452
|
(`shared-genie`'s `genie-model.ts` extends its own codegen'd `dashboards.ts`), so
|
|
@@ -469,9 +458,9 @@ is attempted even if one fails. Failures are re-thrown together as an
|
|
|
469
458
|
## Configure pnpm catalogs
|
|
470
459
|
|
|
471
460
|
```ts
|
|
472
|
-
import {
|
|
461
|
+
import { projectJs } from "@dbx-tools/projen";
|
|
473
462
|
|
|
474
|
-
const rootProject = new
|
|
463
|
+
const rootProject = new projectJs.DBXToolsNodeProject({ name: "my-apps" });
|
|
475
464
|
rootProject.pnpmWorkspace?.addCatalog("react", "^19");
|
|
476
465
|
rootProject.pnpmWorkspace?.allowBuild("esbuild");
|
|
477
466
|
```
|
|
@@ -483,9 +472,9 @@ setting goes through the root's `workspaceYaml` option, which is projen's typed
|
|
|
483
472
|
`PnpmWorkspaceYamlOptions`:
|
|
484
473
|
|
|
485
474
|
```ts
|
|
486
|
-
import {
|
|
475
|
+
import { projectJs } from "@dbx-tools/projen";
|
|
487
476
|
|
|
488
|
-
const rootProject = new
|
|
477
|
+
const rootProject = new projectJs.DBXToolsNodeProject({
|
|
489
478
|
name: "my-apps",
|
|
490
479
|
pnpmOptions: {
|
|
491
480
|
workspaceYamlOptions: {
|
|
@@ -601,11 +590,14 @@ site. Install validation prerequisites through `releaseSetupSteps`.
|
|
|
601
590
|
Publication jobs download the resulting artifacts rather than rebuilding the
|
|
602
591
|
workspace. Each Python package retains its own publishing environment and waits
|
|
603
592
|
for its package dependencies to publish. The npm job uses the bundled archive
|
|
604
|
-
publisher without a checkout or workspace install.
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
the
|
|
593
|
+
publisher without a checkout or workspace install. After all selected public
|
|
594
|
+
publishers finish, one verifier downloads the complete release artifact set and
|
|
595
|
+
polls only unresolved packages concurrently. It validates npm tarball contents
|
|
596
|
+
and PyPI distribution hashes before Pages deploys the already built site. Local
|
|
597
|
+
npm and Python registry publication remains available through the direct local
|
|
598
|
+
publication tooling and does not wait for registry propagation. Those local
|
|
599
|
+
publishers run concurrently; a failure or release termination stops every live
|
|
600
|
+
publisher before the command returns.
|
|
609
601
|
|
|
610
602
|
The default release publishes npm, Python, and docs, then publishes to
|
|
611
603
|
configured local registries. Use `bun run release --help` or the generated
|
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.157";
|
|
7
7
|
export * as appkitWorkspace from "./src/appkit-workspace.ts";
|
|
8
8
|
export * as barrels from "./src/barrels.ts";
|
|
9
9
|
export * as bunApp from "./src/bun-app.ts";
|
|
@@ -15,21 +15,24 @@ export * as devWatch from "./src/dev-watch.ts";
|
|
|
15
15
|
export * as engineRoot from "./src/engine-root.ts";
|
|
16
16
|
export * as generated from "./src/generated.ts";
|
|
17
17
|
export * as mixin from "./src/mixin.ts";
|
|
18
|
-
export * as
|
|
18
|
+
export * as npmPackaging from "./src/npm-packaging.ts";
|
|
19
|
+
export * as npmRelease from "./src/npm-release.ts";
|
|
19
20
|
export * as packages from "./src/packages.ts";
|
|
20
21
|
export * as pnpmWorkspace from "./src/pnpm-workspace.ts";
|
|
21
|
-
export * as project from "./src/project.ts";
|
|
22
22
|
export * as projectJs from "./src/project-js.ts";
|
|
23
23
|
export * as projectPredicate from "./src/project-predicate.ts";
|
|
24
24
|
export * as projectPy from "./src/project-py.ts";
|
|
25
|
+
export * as project from "./src/project.ts";
|
|
25
26
|
export * as projenVersion from "./src/projen-version.ts";
|
|
26
27
|
export * as publish from "./src/publish.ts";
|
|
27
|
-
export * as pythonNodeBindings from "./src/python-node-bindings.ts";
|
|
28
28
|
export * as pythonNodeBindingsComponent from "./src/python-node-bindings-component.ts";
|
|
29
|
+
export * as pythonNodeBindings from "./src/python-node-bindings.ts";
|
|
29
30
|
export * as pythonNodeRuntime from "./src/python-node-runtime.ts";
|
|
30
|
-
export * as
|
|
31
|
+
export * as pythonPackaging from "./src/python-packaging.ts";
|
|
32
|
+
export * as pythonRelease from "./src/python-release.ts";
|
|
31
33
|
export * as releaseContext from "./src/release-context.ts";
|
|
32
34
|
export * as releaseOptions from "./src/release-options.ts";
|
|
35
|
+
export * as release from "./src/release.ts";
|
|
33
36
|
export * as scaffold from "./src/scaffold.ts";
|
|
34
37
|
export * as sharedCoreUsage from "./src/shared-core-usage.ts";
|
|
35
38
|
export * as tags from "./src/tags.ts";
|
|
@@ -39,46 +42,65 @@ export * as watch from "./src/watch.ts";
|
|
|
39
42
|
export * as workspaceLock from "./src/workspace-lock.ts";
|
|
40
43
|
export * as workspaceManifest from "./src/workspace-manifest.ts";
|
|
41
44
|
export * as workspaceVersion from "./src/workspace-version.ts";
|
|
42
|
-
export { AppKitWorkspace } from "./src/appkit-workspace.ts";
|
|
43
|
-
export type { AppKitWorkspaceMode, AppKitWorkspaceOptions } from "./src/appkit-workspace.ts";
|
|
45
|
+
export { isAppKitApplication, AppKitWorkspace } from "./src/appkit-workspace.ts";
|
|
46
|
+
export type { AppKitWorkspaceMode, AppKitBundleOptions, AppKitWorkspaceOptions } from "./src/appkit-workspace.ts";
|
|
47
|
+
export { isGeneratedBarrel, folderBarrelFile, generateBarrels } from "./src/barrels.ts";
|
|
44
48
|
export { BUN_DEV_OVERRIDE, BUN_BUILD_OVERRIDE, BUN_APP_OVERRIDES, RootBunfigFile, BunfigFile, BunDevServerFile, BunBuildFile } from "./src/bun-app.ts";
|
|
49
|
+
export type { BunBuildFileOptions } from "./src/bun-app.ts";
|
|
45
50
|
export { BUN_VERSION, MINIMUM_BUN_VERSION, BUN_VERSION_CHECK_SCRIPT } from "./src/bun-workflow.ts";
|
|
51
|
+
export { listGeneratedFiles, listNodeModulesDirs, removePaths } from "./src/clean.ts";
|
|
52
|
+
export { codegenModulePaths, generateCodegen } from "./src/codegen.ts";
|
|
46
53
|
export { DBXToolsConfigDataSchema, DBXToolsConfig } from "./src/dbx-tools-config.ts";
|
|
47
54
|
export type { DBXToolsConfigOptions, DBXToolsConfigData } from "./src/dbx-tools-config.ts";
|
|
48
55
|
export { DEV_WATCH_TASK, DEV_WATCH_SCRIPT, DEV_RESTART_DEBOUNCE_MS, DEV_RESTART_KEY } from "./src/dev-watch.ts";
|
|
49
56
|
export { resolvePkgRoot } from "./src/engine-root.ts";
|
|
50
|
-
export { PYTHON_GENERATED_PACKAGE, PYTHON_SYNC_PACKAGE } from "./src/generated.ts";
|
|
57
|
+
export { PYTHON_GENERATED_PACKAGE, PYTHON_SYNC_PACKAGE, makeWritable, makeReadonly, header, headerLines, isGenerated, stampGenerated } from "./src/generated.ts";
|
|
51
58
|
export type { HeaderOpts } from "./src/generated.ts";
|
|
52
|
-
export
|
|
59
|
+
export { create } from "./src/mixin.ts";
|
|
60
|
+
export { moduleStatements, moduleExports, publicFunctionExports, publicNamespaceExports } from "./src/module-exports.ts";
|
|
53
61
|
export type { ModuleStatement, ModuleExport, PublicFunctionExport } from "./src/module-exports.ts";
|
|
54
|
-
export {
|
|
62
|
+
export { applyPublishConfig, packNpmPackage } from "./src/npm-packaging.ts";
|
|
63
|
+
export type { NpmArchiveManifestTransform } from "./src/npm-packaging.ts";
|
|
64
|
+
export { npmReleaseMatches, publishedNpmRelease, readNpmArchiveManifest, readNpmArchiveIdentity, npmArchiveContentDigest } from "./src/npm-release.ts";
|
|
65
|
+
export type { NpmReleaseIdentity, NpmArchiveManifest } from "./src/npm-release.ts";
|
|
66
|
+
export { resolveRepoRoot, repoRoot, DEFAULT_PACKAGE_ROOTS, projectName, toPosix, isGeneratedFile, isModuleFile, DiscoveredPackage, scanPackages, readPackageManifest, readDbxToolsConfig, syncResynthPaths, syncWatchTasks, recordedPackages, workspaceDependencyDirectories, recordedRoots } from "./src/packages.ts";
|
|
55
67
|
export type { RecordedPackage } from "./src/packages.ts";
|
|
56
68
|
export { PnpmWorkspaceState } from "./src/pnpm-workspace.ts";
|
|
57
69
|
export type { Catalog, AllowBuilds, DBXToolsPNPMWorkspaceOptions } from "./src/pnpm-workspace.ts";
|
|
58
|
-
export
|
|
59
|
-
export { PackageIdentifier, LICENSE, DBXToolsNodeProject, ROOT_INSTALL_ONLY_MIXIN, DBXToolsTypeScriptProject } from "./src/project-js.ts";
|
|
70
|
+
export { PackageIdentifier, identifier, applyCompilerOptions, applyIncludes, applyExports, addExports, addOptionalPeer, projectRepositoryUrl, projectReleaseBranch, addPackageFiles, srcFolderExports, LICENSE, DBXToolsNodeProject, ROOT_INSTALL_ONLY_MIXIN, DBXToolsTypeScriptProject, taskCommand } from "./src/project-js.ts";
|
|
60
71
|
export type { DBXToolsJavaScriptProject, DBXToolsReleaseMode, DiscoveredTypeScriptPackageOptions, DBXToolsJavaScriptProjectOptions, DBXToolsTypeScriptProjectOptions } from "./src/project-js.ts";
|
|
61
|
-
export {
|
|
72
|
+
export { isProject, isDBXToolsProject, isDBXToolsJavaScriptProject, hasName, hasIdentifierPackageName, hasIdentifierName, hasIdentifierScope, hasTag, hasPath } from "./src/project-predicate.ts";
|
|
73
|
+
export { pythonPackagePath, pythonModuleName, DBXToolsPythonProject, DBXToolsPythonWorkspace } from "./src/project-py.ts";
|
|
62
74
|
export type { PythonRepositoryOptions, PythonPackageOptions, PythonSourceSyncOptions, DBXToolsPythonProjectOptions, PythonReleaseOptions, DBXToolsPythonWorkspaceOptions } from "./src/project-py.ts";
|
|
75
|
+
export { applyToProjects } from "./src/project.ts";
|
|
76
|
+
export type { DBXToolsProjectLanguage, DBXToolsProjectOptions, DBXToolsProject, ApplyToProjectsOptions } from "./src/project.ts";
|
|
63
77
|
export { PROJEN_VERSION } from "./src/projen-version.ts";
|
|
64
|
-
export { COMPILED_DIR, COMPILED_COMPILER_OPTIONS } from "./src/publish.ts";
|
|
65
|
-
export type { ResolvedPythonNodeFunctionOverride, ResolvedPythonNodeBindings, GeneratePythonNodeBindingsOptions } from "./src/python-node-bindings.ts";
|
|
78
|
+
export { COMPILED_DIR, COMPILED_COMPILER_OPTIONS, publishesCompiled, applyCompiledPublish } from "./src/publish.ts";
|
|
66
79
|
export { PYTHON_NODE_BINDINGS_TASK, PYTHON_NODE_BINDINGS_CHECK_TASK, PYTHON_NODE_BINDINGS_WATCH_TASK, PythonNodeBindings } from "./src/python-node-bindings-component.ts";
|
|
67
80
|
export type { PythonNodeFunctionOverride, PythonNodeBindingsOptions, PythonNodeBindingsComponentOptions } from "./src/python-node-bindings-component.ts";
|
|
81
|
+
export { generatePythonNodeBindings, resolvePythonNodeBindingModules, pythonNodeBindingFunctionName, isPythonNodeBindingIdentifier, pythonNodeBindingInputFingerprint, pythonNodeBindingOutputs, pythonNodeBindingOutputsCurrent, fingerprintPythonNodeBindingOutput, resolveAllPythonNodeBindings, pythonNodeBindingProjects, resolvePythonNodeBindings, resolvePythonNodeBindingModule, pythonNodeBindingWatchInputs, affectedPythonNodeBindingProjects } from "./src/python-node-bindings.ts";
|
|
82
|
+
export type { ResolvedPythonNodeFunctionOverride, ResolvedPythonNodeBindings, GeneratePythonNodeBindingsOptions } from "./src/python-node-bindings.ts";
|
|
68
83
|
export { PYTHON_NODE_RUNTIME_DISTRIBUTION, PYTHON_NODE_RUNTIME_MODULE, PYTHON_NODE_RUNTIME_TASK, PYTHON_NODE_RUNTIME_CHECK_TASK, PYTHON_NODE_RUNTIME_WATCH_TASK, PythonNodeRuntime } from "./src/python-node-runtime.ts";
|
|
69
84
|
export type { PythonNodeRuntimeOptions } from "./src/python-node-runtime.ts";
|
|
70
|
-
export {
|
|
71
|
-
export
|
|
72
|
-
export { RELEASE_VERSION, RELEASE_WORKFLOW_FILE } from "./src/release-context.ts";
|
|
73
|
-
export { RELEASE_PUBLISH_TARGETS, RELEASE_INSTALL_MODES, ReleaseStepSelectionSchema } from "./src/release-options.ts";
|
|
85
|
+
export { pythonDistributionPaths, publishPythonProjects, buildPythonProjects } from "./src/python-packaging.ts";
|
|
86
|
+
export { pythonProjectInfo, preparePythonProjectForPublication } from "./src/python-release.ts";
|
|
87
|
+
export { RELEASE_VERSION, RELEASE_WORKFLOW_FILE, PUBLIC_NPM_REGISTRY_URL, PUBLIC_PYPI_REGISTRY_URL } from "./src/release-context.ts";
|
|
88
|
+
export { RELEASE_PUBLISH_TARGETS, RELEASE_INSTALL_MODES, ReleaseStepSelectionSchema, releaseStepSelection, releaseTagAnnotation, parseReleaseTagAnnotation, releasePublishesLocally } from "./src/release-options.ts";
|
|
74
89
|
export type { ReleasePublishTarget, ReleaseInstallMode, ReleaseStepSelection, ReleaseSelectionOptions } from "./src/release-options.ts";
|
|
75
|
-
export {
|
|
90
|
+
export { tryReleaseWorkflow, releaseTagPattern, releaseCondition, releaseBuildSteps, nodeReleaseSetupSteps, uvSetupStep, refreshReleaseDocsDependencies, refreshPublicationVerification, DBXToolsRelease } from "./src/release.ts";
|
|
91
|
+
export type { ReleaseDocsOptions, DBXToolsReleaseOptions } from "./src/release.ts";
|
|
92
|
+
export { runSynth } from "./src/scaffold.ts";
|
|
93
|
+
export { SHARED_CORE_BINDING_EXPORTS, sharedCorePackageDir, sharedCoreExportUsage, duplicatedOwnedHelpers, formatSharedCoreUsage } from "./src/shared-core-usage.ts";
|
|
76
94
|
export type { SharedCoreUsageKind, SharedCoreExportUsage } from "./src/shared-core-usage.ts";
|
|
77
95
|
export { AGNOSTIC_COMPILER_OPTIONS, PACKAGE_TAG_MIXINS } from "./src/tags.ts";
|
|
78
96
|
export type { PackageTag } from "./src/tags.ts";
|
|
79
97
|
export { DBXToolsRootTsconfig } from "./src/tsconfig.ts";
|
|
80
98
|
export type { DBXToolsRootTsconfigOptions } from "./src/tsconfig.ts";
|
|
99
|
+
export { configureVsCode } from "./src/vscode.ts";
|
|
100
|
+
export { watchRoots, watchLoop } from "./src/watch.ts";
|
|
81
101
|
export type { IgnoreGroupOptions, WatchLoopOptions } from "./src/watch.ts";
|
|
102
|
+
export { withWorkspaceMutationLock } from "./src/workspace-lock.ts";
|
|
82
103
|
export type { WorkspaceMutationLockOptions } from "./src/workspace-lock.ts";
|
|
83
|
-
export {
|
|
104
|
+
export { materializeWorkspaceManifest, withMaterializedWorkspaceManifests, withStagedWorkspaceManifests } from "./src/workspace-manifest.ts";
|
|
105
|
+
export { VERSION_FILE, DEFAULT_VERSION, parseSemver, compareSemver, incrementSemver, versionPath, readWorkspaceVersion, writeWorkspaceVersion, syncWorkspaceManifestVersion, resolveNextVersion } from "./src/workspace-version.ts";
|
|
84
106
|
export type { Semver, VersionLevel } from "./src/workspace-version.ts";
|
package/package.json
CHANGED
|
@@ -30,11 +30,11 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@clack/prompts": "^1.7.0",
|
|
33
|
-
"@dbx-tools/auth": "^0.9.
|
|
34
|
-
"@dbx-tools/cli-args": "^0.9.
|
|
35
|
-
"@dbx-tools/core": "^0.9.
|
|
36
|
-
"@dbx-tools/path": "^0.9.
|
|
37
|
-
"@dbx-tools/shared-core": "^0.9.
|
|
33
|
+
"@dbx-tools/auth": "^0.9.157",
|
|
34
|
+
"@dbx-tools/cli-args": "^0.9.157",
|
|
35
|
+
"@dbx-tools/core": "^0.9.157",
|
|
36
|
+
"@dbx-tools/path": "^0.9.157",
|
|
37
|
+
"@dbx-tools/shared-core": "^0.9.157",
|
|
38
38
|
"commander": "^15.0.0",
|
|
39
39
|
"concurrently": "^10.0.3",
|
|
40
40
|
"constructs": "^10.6.0",
|
|
@@ -56,14 +56,14 @@
|
|
|
56
56
|
},
|
|
57
57
|
"main": "index.ts",
|
|
58
58
|
"license": "Apache-2.0",
|
|
59
|
-
"version": "0.9.
|
|
59
|
+
"version": "0.9.157",
|
|
60
60
|
"types": "index.ts",
|
|
61
61
|
"type": "module",
|
|
62
62
|
"exports": {
|
|
63
63
|
".": "./index.ts",
|
|
64
64
|
"./pypi-trusted-publisher-instructions": "./tasks/pypi-trusted-publisher-instructions.ts",
|
|
65
|
-
"./python-release-packaging": "./
|
|
66
|
-
"./release-packaging": "./
|
|
65
|
+
"./python-release-packaging": "./src/python-packaging.ts",
|
|
66
|
+
"./release-packaging": "./src/npm-packaging.ts",
|
|
67
67
|
"./package.json": "./package.json"
|
|
68
68
|
},
|
|
69
69
|
"files": [
|
package/src/_task-command.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Shared subprocess policy for Projen source and task entrypoints. */
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import { spawnSync, type ChildProcessResult, spawn } from "@dbx-tools/core";
|
|
4
4
|
|
|
5
5
|
export interface TaskCommandOptions {
|
|
6
6
|
readonly env?: NodeJS.ProcessEnv;
|
|
@@ -23,7 +23,7 @@ export function runTaskCommand(
|
|
|
23
23
|
args: readonly string[],
|
|
24
24
|
options: TaskCommandOptions = {},
|
|
25
25
|
): void {
|
|
26
|
-
|
|
26
|
+
spawnSync(executable(command), [...args], {
|
|
27
27
|
cwd,
|
|
28
28
|
env: options.env,
|
|
29
29
|
stdout: "inherit",
|
|
@@ -49,8 +49,8 @@ export function spawnTaskCommand(
|
|
|
49
49
|
command: string,
|
|
50
50
|
args: readonly string[],
|
|
51
51
|
options: TaskCommandOptions & { readonly signal?: AbortSignal } = {},
|
|
52
|
-
):
|
|
53
|
-
return
|
|
52
|
+
): ChildProcessResult {
|
|
53
|
+
return spawn(executable(command), [...args], {
|
|
54
54
|
cwd,
|
|
55
55
|
env: options.env,
|
|
56
56
|
stdout: "inherit",
|
|
@@ -68,7 +68,7 @@ export function captureTaskCommand(
|
|
|
68
68
|
args: readonly string[],
|
|
69
69
|
options: CaptureTaskCommandOptions = {},
|
|
70
70
|
): string {
|
|
71
|
-
const result =
|
|
71
|
+
const result = spawnSync(executable(command), [...args], {
|
|
72
72
|
cwd,
|
|
73
73
|
env: options.env,
|
|
74
74
|
stdout: "capture",
|
|
@@ -87,7 +87,7 @@ export function tryTaskCommand(
|
|
|
87
87
|
options: TaskCommandOptions = {},
|
|
88
88
|
): boolean {
|
|
89
89
|
return (
|
|
90
|
-
|
|
90
|
+
spawnSync(executable(command), [...args], {
|
|
91
91
|
cwd,
|
|
92
92
|
env: options.env,
|
|
93
93
|
stdout: "inherit",
|
|
@@ -106,7 +106,7 @@ export function taskCommandSucceeds(
|
|
|
106
106
|
options: Pick<TaskCommandOptions, "env"> = {},
|
|
107
107
|
): boolean {
|
|
108
108
|
return (
|
|
109
|
-
|
|
109
|
+
spawnSync(executable(command), [...args], {
|
|
110
110
|
cwd,
|
|
111
111
|
env: options.env,
|
|
112
112
|
stdout: "ignore",
|