projen 0.100.3 → 0.100.5
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/.jsii +175 -114
- package/lib/ai-instructions.js +2 -2
- package/lib/awscdk/auto-discover.js +6 -6
- package/lib/awscdk/awscdk-app-java.js +1 -1
- package/lib/awscdk/awscdk-app-py.js +1 -1
- package/lib/awscdk/awscdk-app-ts.js +4 -4
- package/lib/awscdk/awscdk-construct.js +1 -1
- package/lib/awscdk/awscdk-deps-java.js +1 -1
- package/lib/awscdk/awscdk-deps-js.js +1 -1
- package/lib/awscdk/awscdk-deps-py.js +1 -1
- package/lib/awscdk/awscdk-deps.js +1 -1
- package/lib/awscdk/cdk-config.js +3 -3
- package/lib/awscdk/cdk-tasks.js +1 -1
- package/lib/awscdk/integration-test.js +1 -1
- package/lib/awscdk/lambda-extension.js +1 -1
- package/lib/awscdk/lambda-function.js +2 -2
- package/lib/build/build-workflow.js +1 -1
- package/lib/cdk/auto-discover-base.js +2 -2
- package/lib/cdk/construct-lib.js +1 -1
- package/lib/cdk/integration-test-base.js +1 -1
- package/lib/cdk/jsii-build.js +1 -1
- package/lib/cdk/jsii-docgen.js +1 -1
- package/lib/cdk/jsii-project.js +1 -1
- package/lib/cdk8s/auto-discover.js +2 -2
- package/lib/cdk8s/cdk8s-app-py.js +1 -1
- package/lib/cdk8s/cdk8s-app-ts.js +1 -1
- package/lib/cdk8s/cdk8s-construct.js +1 -1
- package/lib/cdk8s/cdk8s-deps-py.js +1 -1
- package/lib/cdk8s/cdk8s-deps.js +1 -1
- package/lib/cdk8s/integration-test.js +1 -1
- package/lib/cdktf/cdktf-construct.js +1 -1
- package/lib/circleci/circleci.js +1 -1
- package/lib/cli/cmds/new.js +28 -21
- package/lib/cli/macros.js +5 -4
- package/lib/cli/task-runtime.js +8 -13
- package/lib/cli/util.d.ts +4 -4
- package/lib/cli/util.js +19 -10
- package/lib/component.js +1 -1
- package/lib/dependencies.js +1 -1
- package/lib/dev-env.js +1 -1
- package/lib/docker-compose/docker-compose-service.js +1 -1
- package/lib/docker-compose/docker-compose.js +1 -1
- package/lib/file.js +1 -1
- package/lib/gitattributes.js +1 -1
- package/lib/github/actions-provider.js +1 -1
- package/lib/github/auto-approve.js +1 -1
- package/lib/github/auto-merge.js +1 -1
- package/lib/github/auto-queue.js +1 -1
- package/lib/github/dependabot.js +1 -1
- package/lib/github/dependency-review.js +1 -1
- package/lib/github/github-credentials.js +1 -1
- package/lib/github/github-project.js +1 -1
- package/lib/github/github.js +1 -1
- package/lib/github/merge-queue.js +1 -1
- package/lib/github/mergify.js +1 -1
- package/lib/github/pr-template.js +1 -1
- package/lib/github/pull-request-backport.js +1 -1
- package/lib/github/pull-request-lint.js +1 -1
- package/lib/github/stale.js +1 -1
- package/lib/github/task-workflow-job.js +1 -1
- package/lib/github/task-workflow.js +1 -1
- package/lib/github/workflow-actions.js +1 -1
- package/lib/github/workflow-jobs.js +1 -1
- package/lib/github/workflow-steps.js +1 -1
- package/lib/github/workflows.js +1 -1
- package/lib/gitlab/configuration.js +1 -1
- package/lib/gitlab/gitlab-configuration.js +1 -1
- package/lib/gitlab/nested-configuration.js +1 -1
- package/lib/gitpod.js +1 -1
- package/lib/ignore-file.js +1 -1
- package/lib/ini.js +1 -1
- package/lib/java/java-project.js +1 -1
- package/lib/java/junit.js +1 -1
- package/lib/java/maven-compile.js +1 -1
- package/lib/java/maven-packaging.js +1 -1
- package/lib/java/maven-sample.js +1 -1
- package/lib/java/pom.js +2 -2
- package/lib/java/projenrc.js +1 -1
- package/lib/javascript/biome/biome.js +1 -1
- package/lib/javascript/bundler.js +1 -1
- package/lib/javascript/eslint.d.ts +36 -0
- package/lib/javascript/eslint.js +40 -3
- package/lib/javascript/jest.js +4 -4
- package/lib/javascript/license-checker.js +1 -1
- package/lib/javascript/node-package.js +1 -1
- package/lib/javascript/node-project.js +1 -1
- package/lib/javascript/npm-config.js +1 -1
- package/lib/javascript/prettier.js +1 -1
- package/lib/javascript/projenrc.js +1 -1
- package/lib/javascript/typescript-config.js +2 -2
- package/lib/javascript/upgrade-dependencies.js +2 -2
- package/lib/javascript/yarnrc.js +1 -1
- package/lib/json-patch.js +1 -1
- package/lib/json.js +1 -1
- package/lib/license.js +1 -1
- package/lib/logger.js +1 -1
- package/lib/makefile.js +1 -1
- package/lib/object-file.js +1 -1
- package/lib/project-build.js +1 -1
- package/lib/project-tree.js +1 -1
- package/lib/project.js +1 -1
- package/lib/projects.js +1 -1
- package/lib/projenrc-json.js +1 -1
- package/lib/projenrc.js +1 -1
- package/lib/python/pip.js +1 -1
- package/lib/python/poetry.js +10 -7
- package/lib/python/projenrc.js +1 -1
- package/lib/python/pyproject-toml-file.js +1 -1
- package/lib/python/pytest-sample.js +1 -1
- package/lib/python/pytest.js +1 -1
- package/lib/python/python-project.js +1 -1
- package/lib/python/python-sample.js +1 -1
- package/lib/python/requirements-file.js +1 -1
- package/lib/python/setuppy.js +1 -1
- package/lib/python/setuptools.js +1 -1
- package/lib/python/uv.d.ts +3 -3
- package/lib/python/uv.js +6 -6
- package/lib/python/venv.js +4 -4
- package/lib/readme.js +1 -1
- package/lib/release/bump-version.js +16 -19
- package/lib/release/commit-tag-version.d.ts +2 -1
- package/lib/release/commit-tag-version.js +23 -17
- package/lib/release/publisher.js +1 -1
- package/lib/release/release-trigger.js +1 -1
- package/lib/release/release.js +1 -1
- package/lib/release/tag-version.js +3 -3
- package/lib/release/update-changelog.js +4 -2
- package/lib/renovatebot.js +1 -1
- package/lib/run-task.cjs +163 -21
- package/lib/sample-file.js +2 -2
- package/lib/source-code.js +1 -1
- package/lib/task-runner.js +16 -10
- package/lib/task.js +1 -1
- package/lib/tasks.js +1 -1
- package/lib/testing.js +1 -1
- package/lib/textfile.js +1 -1
- package/lib/toml.js +1 -1
- package/lib/typescript/projenrc-ts.js +1 -1
- package/lib/typescript/projenrc.d.ts +2 -0
- package/lib/typescript/projenrc.js +27 -6
- package/lib/typescript/typescript-typedoc.js +1 -1
- package/lib/typescript/typescript.d.ts +27 -3
- package/lib/typescript/typescript.js +87 -28
- package/lib/util/exec.d.ts +183 -0
- package/lib/util/exec.js +238 -0
- package/lib/util.d.ts +0 -22
- package/lib/util.js +1 -57
- package/lib/version.js +2 -2
- package/lib/vscode/devcontainer.js +1 -1
- package/lib/vscode/extensions.js +1 -1
- package/lib/vscode/launch-config.js +1 -1
- package/lib/vscode/settings.js +1 -1
- package/lib/vscode/vscode.js +1 -1
- package/lib/web/next.js +3 -3
- package/lib/web/postcss.js +1 -1
- package/lib/web/react.js +3 -3
- package/lib/web/tailwind.js +1 -1
- package/lib/xmlfile.js +1 -1
- package/lib/yaml.js +1 -1
- package/package.json +2 -2
package/lib/run-task.cjs
CHANGED
|
@@ -889,10 +889,10 @@ var require_route = __commonJS({
|
|
|
889
889
|
const adjacents = Object.keys(conversions[current]);
|
|
890
890
|
for (let len = adjacents.length, i = 0; i < len; i++) {
|
|
891
891
|
const adjacent = adjacents[i];
|
|
892
|
-
const
|
|
893
|
-
if (
|
|
894
|
-
|
|
895
|
-
|
|
892
|
+
const node2 = graph[adjacent];
|
|
893
|
+
if (node2.distance === -1) {
|
|
894
|
+
node2.distance = graph[current].distance + 1;
|
|
895
|
+
node2.parent = current;
|
|
896
896
|
queue.unshift(adjacent);
|
|
897
897
|
}
|
|
898
898
|
}
|
|
@@ -922,8 +922,8 @@ var require_route = __commonJS({
|
|
|
922
922
|
const models = Object.keys(graph);
|
|
923
923
|
for (let len = models.length, i = 0; i < len; i++) {
|
|
924
924
|
const toModel = models[i];
|
|
925
|
-
const
|
|
926
|
-
if (
|
|
925
|
+
const node2 = graph[toModel];
|
|
926
|
+
if (node2.parent === null) {
|
|
927
927
|
continue;
|
|
928
928
|
}
|
|
929
929
|
conversion[toModel] = wrapConversion(toModel, graph);
|
|
@@ -1733,7 +1733,7 @@ var require_package = __commonJS({
|
|
|
1733
1733
|
publishConfig: {
|
|
1734
1734
|
access: "public"
|
|
1735
1735
|
},
|
|
1736
|
-
version: "0.100.
|
|
1736
|
+
version: "0.100.5",
|
|
1737
1737
|
jest: {
|
|
1738
1738
|
coverageProvider: "v8",
|
|
1739
1739
|
coverageReporters: [
|
|
@@ -1786,7 +1786,7 @@ var require_package = __commonJS({
|
|
|
1786
1786
|
"^.+\\.[t]sx?$": [
|
|
1787
1787
|
"ts-jest",
|
|
1788
1788
|
{
|
|
1789
|
-
tsconfig: "tsconfig.
|
|
1789
|
+
tsconfig: "test/tsconfig.json"
|
|
1790
1790
|
}
|
|
1791
1791
|
]
|
|
1792
1792
|
}
|
|
@@ -2269,7 +2269,6 @@ __export(task_runtime_exports, {
|
|
|
2269
2269
|
TaskRuntime: () => TaskRuntime
|
|
2270
2270
|
});
|
|
2271
2271
|
module.exports = __toCommonJS(task_runtime_exports);
|
|
2272
|
-
var import_child_process = require("child_process");
|
|
2273
2272
|
var import_fs = require("fs");
|
|
2274
2273
|
var import_path = require("path");
|
|
2275
2274
|
var path6 = __toESM(require("path"));
|
|
@@ -14325,6 +14324,156 @@ function warn(...text) {
|
|
|
14325
14324
|
log(false, import_chalk.default.yellow, ...text);
|
|
14326
14325
|
}
|
|
14327
14326
|
|
|
14327
|
+
// src/util/exec.ts
|
|
14328
|
+
var child_process = __toESM(require("child_process"));
|
|
14329
|
+
var MAX_BUFFER = 10 * 1024 * 1024;
|
|
14330
|
+
function spawnOpts(options) {
|
|
14331
|
+
return {
|
|
14332
|
+
maxBuffer: MAX_BUFFER,
|
|
14333
|
+
cwd: options.cwd,
|
|
14334
|
+
env: options.env ? { ...process.env, ...options.env } : void 0,
|
|
14335
|
+
// run the program directly, without going through a shell
|
|
14336
|
+
shell: false
|
|
14337
|
+
};
|
|
14338
|
+
}
|
|
14339
|
+
function run2(file, args, options) {
|
|
14340
|
+
debug(`${file} ${args.join(" ")} (cwd: ${options.cwd})`);
|
|
14341
|
+
child_process.execFileSync(file, args, {
|
|
14342
|
+
...spawnOpts(options),
|
|
14343
|
+
// By default the child's stdout is redirected to STDERR (to keep the
|
|
14344
|
+
// parent's STDOUT clean) and its STDERR is piped so it surfaces in
|
|
14345
|
+
// exceptions. `inheritStdio` instead streams both straight to the parent.
|
|
14346
|
+
stdio: options.inheritStdio ? "inherit" : ["inherit", 2, "pipe"]
|
|
14347
|
+
});
|
|
14348
|
+
}
|
|
14349
|
+
function capture(file, args, options) {
|
|
14350
|
+
debug(`${file} ${args.join(" ")} (cwd: ${options.cwd})`);
|
|
14351
|
+
return child_process.execFileSync(file, args, {
|
|
14352
|
+
...spawnOpts(options),
|
|
14353
|
+
stdio: ["inherit", "pipe", "pipe"]
|
|
14354
|
+
// "pipe" for STDERR means it appears in exceptions
|
|
14355
|
+
}).toString("utf-8").trim();
|
|
14356
|
+
}
|
|
14357
|
+
function tryCapture(file, args, options) {
|
|
14358
|
+
debug(`${file} ${args.join(" ")} (cwd: ${options.cwd})`);
|
|
14359
|
+
try {
|
|
14360
|
+
const value = child_process.execFileSync(file, args, {
|
|
14361
|
+
...spawnOpts(options),
|
|
14362
|
+
stdio: ["inherit", "pipe", "pipe"]
|
|
14363
|
+
// "pipe" for STDERR means it appears in exceptions
|
|
14364
|
+
}).toString("utf-8").trim();
|
|
14365
|
+
return value || void 0;
|
|
14366
|
+
} catch {
|
|
14367
|
+
return void 0;
|
|
14368
|
+
}
|
|
14369
|
+
}
|
|
14370
|
+
function tool(file) {
|
|
14371
|
+
return {
|
|
14372
|
+
run: (args, options) => run2(file, args, options),
|
|
14373
|
+
capture: (args, options) => capture(file, args, options),
|
|
14374
|
+
tryCapture: (args, options) => tryCapture(file, args, options)
|
|
14375
|
+
};
|
|
14376
|
+
}
|
|
14377
|
+
var git = tool("git");
|
|
14378
|
+
var uv = tool("uv");
|
|
14379
|
+
var poetry = tool("poetry");
|
|
14380
|
+
var node = tool(process.execPath);
|
|
14381
|
+
function shimTool(file) {
|
|
14382
|
+
const build = (args, options) => {
|
|
14383
|
+
const cmd = $2`${file} ${args}`.cwd(options.cwd).stderr("piped").noThrow();
|
|
14384
|
+
return options.env ? cmd.env(options.env) : cmd;
|
|
14385
|
+
};
|
|
14386
|
+
const ensureOk = (args, result) => {
|
|
14387
|
+
if (result.code !== 0) {
|
|
14388
|
+
const error = new Error(
|
|
14389
|
+
`Command failed (exit code ${result.code}): ${file} ${args.join(" ")}`
|
|
14390
|
+
);
|
|
14391
|
+
error.status = result.code;
|
|
14392
|
+
error.stderr = Buffer.from(result.stderr);
|
|
14393
|
+
throw error;
|
|
14394
|
+
}
|
|
14395
|
+
};
|
|
14396
|
+
return {
|
|
14397
|
+
run: async (args, options) => {
|
|
14398
|
+
debug(`${file} ${args.join(" ")} (cwd: ${options.cwd})`);
|
|
14399
|
+
ensureOk(args, await build(args, options));
|
|
14400
|
+
},
|
|
14401
|
+
capture: async (args, options) => {
|
|
14402
|
+
debug(`${file} ${args.join(" ")} (cwd: ${options.cwd})`);
|
|
14403
|
+
const result = await build(args, options).stdout("piped");
|
|
14404
|
+
ensureOk(args, result);
|
|
14405
|
+
return result.stdout.trim();
|
|
14406
|
+
}
|
|
14407
|
+
};
|
|
14408
|
+
}
|
|
14409
|
+
var npm = shimTool("npm");
|
|
14410
|
+
var npx = shimTool("npx");
|
|
14411
|
+
var rawShell = {
|
|
14412
|
+
/**
|
|
14413
|
+
* Runs a command line through the system shell and returns a normalized
|
|
14414
|
+
* result. Never throws for a non-zero exit (that is reported via `status`);
|
|
14415
|
+
* a spawn failure is reported via `error`.
|
|
14416
|
+
*
|
|
14417
|
+
* The caller is responsible for supplying the full `env`.
|
|
14418
|
+
*/
|
|
14419
|
+
exec(command, options) {
|
|
14420
|
+
debug(`${command} (cwd: ${options.cwd})`);
|
|
14421
|
+
const result = child_process.spawnSync(command, {
|
|
14422
|
+
cwd: options.cwd,
|
|
14423
|
+
shell: true,
|
|
14424
|
+
maxBuffer: MAX_BUFFER,
|
|
14425
|
+
env: options.env,
|
|
14426
|
+
// "pipe" for STDERR (when capturing) means it appears in exceptions.
|
|
14427
|
+
stdio: options.capture ? ["inherit", "pipe", "pipe"] : "inherit"
|
|
14428
|
+
});
|
|
14429
|
+
return {
|
|
14430
|
+
status: result.status,
|
|
14431
|
+
stdout: result.stdout ?? null,
|
|
14432
|
+
stderr: result.stderr ?? null,
|
|
14433
|
+
error: result.error
|
|
14434
|
+
};
|
|
14435
|
+
},
|
|
14436
|
+
/**
|
|
14437
|
+
* Runs a user-supplied shell command line and resolves its trimmed STDOUT.
|
|
14438
|
+
* Rejects if the command exits non-zero.
|
|
14439
|
+
*/
|
|
14440
|
+
capture: async (command, options) => {
|
|
14441
|
+
const result = rawShell.exec(command, {
|
|
14442
|
+
cwd: options.cwd,
|
|
14443
|
+
env: { ...process.env, ...options.env },
|
|
14444
|
+
capture: true
|
|
14445
|
+
});
|
|
14446
|
+
if (result.error) {
|
|
14447
|
+
throw result.error;
|
|
14448
|
+
}
|
|
14449
|
+
if (result.status !== 0) {
|
|
14450
|
+
const error = new Error(
|
|
14451
|
+
`Command failed (exit code ${result.status}): ${command}`
|
|
14452
|
+
);
|
|
14453
|
+
error.status = result.status;
|
|
14454
|
+
error.stderr = result.stderr;
|
|
14455
|
+
throw error;
|
|
14456
|
+
}
|
|
14457
|
+
return (result.stdout?.toString("utf-8") ?? "").trim();
|
|
14458
|
+
},
|
|
14459
|
+
/**
|
|
14460
|
+
* Runs a user-supplied shell command line and resolves its trimmed STDOUT,
|
|
14461
|
+
* or `undefined` if the command failed or produced no output.
|
|
14462
|
+
*/
|
|
14463
|
+
tryCapture: async (command, options) => {
|
|
14464
|
+
const result = rawShell.exec(command, {
|
|
14465
|
+
cwd: options.cwd,
|
|
14466
|
+
env: { ...process.env, ...options.env },
|
|
14467
|
+
capture: true
|
|
14468
|
+
});
|
|
14469
|
+
if (result.error || result.status !== 0) {
|
|
14470
|
+
return void 0;
|
|
14471
|
+
}
|
|
14472
|
+
const out = (result.stdout?.toString("utf-8") ?? "").trim();
|
|
14473
|
+
return out || void 0;
|
|
14474
|
+
}
|
|
14475
|
+
};
|
|
14476
|
+
|
|
14328
14477
|
// src/cli/task-runtime.ts
|
|
14329
14478
|
var parseConflictJSONModule = require_lib2();
|
|
14330
14479
|
var parseConflictJSON = parseConflictJSONModule?.default ?? parseConflictJSONModule;
|
|
@@ -14683,23 +14832,16 @@ var RunTask = class {
|
|
|
14683
14832
|
...this.env,
|
|
14684
14833
|
...options.extraEnv
|
|
14685
14834
|
};
|
|
14835
|
+
const capture2 = Array.isArray(options.spawnOptions?.stdio);
|
|
14686
14836
|
if (process.platform === "win32") {
|
|
14687
|
-
const
|
|
14688
|
-
const result = await $2.raw`${options.command}`.cwd(cwd2).env(env).stdout(capture ? "piped" : "inherit").stderr(capture ? "piped" : "inherit").noThrow();
|
|
14837
|
+
const result = await $2.raw`${options.command}`.cwd(cwd2).env(env).stdout(capture2 ? "piped" : "inherit").stderr(capture2 ? "piped" : "inherit").noThrow();
|
|
14689
14838
|
return {
|
|
14690
14839
|
status: result.code,
|
|
14691
|
-
stdout:
|
|
14692
|
-
stderr:
|
|
14840
|
+
stdout: capture2 ? Buffer.from(result.stdoutBytes) : null,
|
|
14841
|
+
stderr: capture2 ? Buffer.from(result.stderrBytes) : null
|
|
14693
14842
|
};
|
|
14694
14843
|
}
|
|
14695
|
-
return
|
|
14696
|
-
...options,
|
|
14697
|
-
cwd: cwd2,
|
|
14698
|
-
shell: true,
|
|
14699
|
-
stdio: "inherit",
|
|
14700
|
-
env,
|
|
14701
|
-
...options.spawnOptions
|
|
14702
|
-
});
|
|
14844
|
+
return rawShell.exec(options.command, { cwd: cwd2, env, capture: capture2 });
|
|
14703
14845
|
}
|
|
14704
14846
|
async shellEval(options) {
|
|
14705
14847
|
return this.shell({
|
package/lib/sample-file.js
CHANGED
|
@@ -45,7 +45,7 @@ const util_1 = require("./util");
|
|
|
45
45
|
* Use this for creating example code files or other resources.
|
|
46
46
|
*/
|
|
47
47
|
class SampleFile extends component_1.Component {
|
|
48
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleFile", version: "0.100.
|
|
48
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleFile", version: "0.100.5" };
|
|
49
49
|
filePath;
|
|
50
50
|
options;
|
|
51
51
|
/**
|
|
@@ -96,7 +96,7 @@ exports.SampleFile = SampleFile;
|
|
|
96
96
|
* Renders the given files into the directory if the directory does not exist. Use this to create sample code files
|
|
97
97
|
*/
|
|
98
98
|
class SampleDir extends component_1.Component {
|
|
99
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleDir", version: "0.100.
|
|
99
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleDir", version: "0.100.5" };
|
|
100
100
|
dir;
|
|
101
101
|
options;
|
|
102
102
|
/**
|
package/lib/source-code.js
CHANGED
|
@@ -9,7 +9,7 @@ const textfile_1 = require("./textfile");
|
|
|
9
9
|
*/
|
|
10
10
|
class SourceCode extends component_1.Component {
|
|
11
11
|
filePath;
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SourceCode", version: "0.100.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SourceCode", version: "0.100.5" };
|
|
13
13
|
file;
|
|
14
14
|
indentLevel = 0;
|
|
15
15
|
indent;
|
package/lib/task-runner.js
CHANGED
|
@@ -34,12 +34,12 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.ProjenTaskRunner = void 0;
|
|
37
|
-
const node_child_process_1 = require("node:child_process");
|
|
38
37
|
const path = __importStar(require("node:path"));
|
|
39
38
|
const _resolve_1 = require("./_resolve");
|
|
40
39
|
const common_1 = require("./common");
|
|
41
40
|
const component_1 = require("./component");
|
|
42
41
|
const json_1 = require("./json");
|
|
42
|
+
const exec_1 = require("./util/exec");
|
|
43
43
|
class ProjenTaskRunner extends component_1.Component {
|
|
44
44
|
/**
|
|
45
45
|
* The project-relative path of the tasks manifest file.
|
|
@@ -70,15 +70,21 @@ class ProjenTaskRunner extends component_1.Component {
|
|
|
70
70
|
const moduleRoot = path.dirname(require.resolve("../package.json"));
|
|
71
71
|
const cli = path.join(moduleRoot, "lib", "cli", "index.js");
|
|
72
72
|
const argv = [cli, task.name, ...(args ?? []).map((a) => a.toString())];
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
throw result.error;
|
|
73
|
+
try {
|
|
74
|
+
exec_1.node.run(argv, {
|
|
75
|
+
cwd: this.project.outdir,
|
|
76
|
+
inheritStdio: true,
|
|
77
|
+
});
|
|
79
78
|
}
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
catch (e) {
|
|
80
|
+
// `node.run` (execFileSync) throws on a non-zero exit (with a numeric
|
|
81
|
+
// `.status`) or on a spawn failure. Translate a non-zero exit into a
|
|
82
|
+
// task-friendly error; re-throw spawn errors as-is. The child's stderr
|
|
83
|
+
// was already streamed live (inheritStdio), so it need not be re-surfaced.
|
|
84
|
+
if (typeof e?.status === "number") {
|
|
85
|
+
throw new Error(`Task "${task.name}" failed (exit code ${e.status}).`);
|
|
86
|
+
}
|
|
87
|
+
throw e;
|
|
82
88
|
}
|
|
83
89
|
}
|
|
84
90
|
get tasksManifest() {
|
|
@@ -97,4 +103,4 @@ class ProjenTaskRunner extends component_1.Component {
|
|
|
97
103
|
}
|
|
98
104
|
}
|
|
99
105
|
exports.ProjenTaskRunner = ProjenTaskRunner;
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1ydW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGFzay1ydW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQWtDO0FBRWxDLHlDQUFxQztBQUNyQyxxQ0FBOEQ7QUFDOUQsMkNBQXdDO0FBRXhDLGlDQUFrQztBQUdsQyxzQ0FBbUM7QUFXbkMsTUFBYSxnQkFBaUIsU0FBUSxxQkFBUztJQUM3Qzs7T0FFRztJQUNJLE1BQU0sQ0FBVSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3BELG1CQUFVLEVBQ1YsWUFBWSxDQUNiLENBQUM7SUFFRixZQUFZLEtBQWlCLEVBQUUsRUFBVztRQUN4QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLG9FQUFvRTtRQUNwRSxFQUFFO1FBQ0YsdUVBQXVFO1FBQ3ZFLHlFQUF5RTtRQUN6RSw0RUFBNEU7UUFDNUUseUVBQXlFO1FBQ3pFLElBQUksZUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsYUFBYSxFQUFFO1lBQ3pELFNBQVMsRUFBRSxJQUFJO1lBQ2YsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBUTtTQUN2QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTyxDQUFDLElBQVUsRUFBRSxJQUE2QjtRQUN0RCx3RUFBd0U7UUFDeEUsd0VBQXdFO1FBQ3hFLHFFQUFxRTtRQUNyRSxxRUFBcUU7UUFDckUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztRQUNwRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzVELE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDO1lBQ0gsV0FBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUU7Z0JBQ2IsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTtnQkFDeEIsWUFBWSxFQUFFLElBQUk7YUFDbkIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsc0VBQXNFO1lBQ3RFLHFFQUFxRTtZQUNyRSx1RUFBdUU7WUFDdkUsMkVBQTJFO1lBQzNFLElBQUksT0FBTyxDQUFDLEVBQUUsTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksdUJBQXVCLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1lBQ3pFLENBQUM7WUFDRCxNQUFNLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBYyxhQUFhO1FBQ3pCLE1BQU0sUUFBUSxHQUFjO1lBQzFCLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUEsa0JBQU8sRUFBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO1NBQ2pELENBQUM7UUFFRix3RUFBd0U7UUFDeEUsNEVBQTRFO1FBQzVFLDBFQUEwRTtRQUMxRSxxQkFBcUI7UUFDckIsTUFBTSxRQUFRLEdBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTFELE9BQU87WUFDTCxlQUFlLEVBQUUsK0JBQXNCO1lBQ3ZDLEdBQUcsUUFBUTtTQUNaLENBQUM7SUFDSixDQUFDOztBQXJFSCw0Q0FzRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyByZXNvbHZlIH0gZnJvbSBcIi4vX3Jlc29sdmVcIjtcbmltcG9ydCB7IFBST0pFTl9ESVIsIFRBU0tTX01BTklGRVNUX1ZFUlNJT04gfSBmcm9tIFwiLi9jb21tb25cIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBJUmVzb2x2ZXIgfSBmcm9tIFwiLi9maWxlXCI7XG5pbXBvcnQgeyBKc29uRmlsZSB9IGZyb20gXCIuL2pzb25cIjtcbmltcG9ydCB0eXBlIHsgVGFzayB9IGZyb20gXCIuL3Rhc2tcIjtcbmltcG9ydCB0eXBlIHsgVGFza3NNYW5pZmVzdCB9IGZyb20gXCIuL3Rhc2stbW9kZWxcIjtcbmltcG9ydCB7IG5vZGUgfSBmcm9tIFwiLi91dGlsL2V4ZWNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJVGFza1J1bm5lciB7XG4gIC8qKlxuICAgKiBSdW5zIGEgdGFzay5cbiAgICogQHBhcmFtIHRhc2sgVGhlIHRhc2sgdG8gcnVuLlxuICAgKiBAcGFyYW0gYXJncyBMaXN0IG9mIGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIHRhc2ssIGlmIHN1cHBvcnRlZC5cbiAgICovXG4gIHJ1blRhc2sodGFzazogVGFzaywgYXJncz86IEFycmF5PHN0cmluZyB8IG51bWJlcj4pOiB2b2lkO1xufVxuXG5leHBvcnQgY2xhc3MgUHJvamVuVGFza1J1bm5lciBleHRlbmRzIENvbXBvbmVudCBpbXBsZW1lbnRzIElUYXNrUnVubmVyIHtcbiAgLyoqXG4gICAqIFRoZSBwcm9qZWN0LXJlbGF0aXZlIHBhdGggb2YgdGhlIHRhc2tzIG1hbmlmZXN0IGZpbGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE1BTklGRVNUX0ZJTEUgPSBwYXRoLnBvc2l4LmpvaW4oXG4gICAgUFJPSkVOX0RJUixcbiAgICBcInRhc2tzLmpzb25cIixcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogSUNvbnN0cnVjdCwgaWQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gVGhlIHJ1bm5lciBvd25zIHRoZSBwcm9qZW4gdGFza3MgbWFuaWZlc3QgKGAucHJvamVuL3Rhc2tzLmpzb25gKS5cbiAgICAvL1xuICAgIC8vIFRoZSBmaWxlIGlzIGNyZWF0ZWQgaGVyZSwgaW4gdGhlIGNvbnN0cnVjdG9yLCB3aXRoICpsYXp5KiBjb250ZW50IHNvXG4gICAgLy8gdGhhdCB0YXNrcyBhZGRlZCB0byB0aGUgcHJvamVjdCBsYXRlciBhcmUgc3RpbGwgaW5jbHVkZWQuIEl0IGNhbm5vdCBiZVxuICAgIC8vIGNyZWF0ZWQgaW4gYHN5bnRoZXNpemUoKWAgYmVjYXVzZSBjb21wb25lbnRzIGNyZWF0ZWQgZHVyaW5nIHRoZSBzeW50aGVzaXNcbiAgICAvLyBsb29wIGFyZSBub3QgdGhlbXNlbHZlcyBzeW50aGVzaXplZCAodGhlIGZpbGUgd291bGQgbmV2ZXIgYmUgd3JpdHRlbikuXG4gICAgbmV3IEpzb25GaWxlKHRoaXMucHJvamVjdCwgUHJvamVuVGFza1J1bm5lci5NQU5JRkVTVF9GSUxFLCB7XG4gICAgICBvbWl0RW1wdHk6IHRydWUsXG4gICAgICBvYmo6ICgoKSA9PiB0aGlzLnRhc2tzTWFuaWZlc3QpIGFzIGFueSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGEgdGFzayBieSBzaGVsbGluZyBvdXQgdG8gdGhlIHByb2plbiBDTEkuIFRoZSBDTEkgb3ducyB0aGUgdGFza1xuICAgKiBydW50aW1lLCB3aGljaCBrZWVwcyBgc3JjL2AgZGVjb3VwbGVkIGZyb20gYHNyYy9jbGkvYC5cbiAgICovXG4gIHB1YmxpYyBydW5UYXNrKHRhc2s6IFRhc2ssIGFyZ3M/OiBBcnJheTxzdHJpbmcgfCBudW1iZXI+KTogdm9pZCB7XG4gICAgLy8gUmVzb2x2ZSB0aGUgY29tcGlsZWQgQ0xJIGVudHJ5cG9pbnQgcmVsYXRpdmUgdG8gdGhlIHBhY2thZ2Ugcm9vdCAodGhlXG4gICAgLy8gc2FtZSBhcHByb2FjaCB1c2VkIGJ5IFRhc2tSdW50aW1lIGZvciBidWlsdGluIHRhc2tzKS4gVGhpcyB3b3JrcyBib3RoXG4gICAgLy8gZnJvbSB0aGUgY29tcGlsZWQgYGxpYi9gIG91dHB1dCBhbmQgd2hlbiBydW5uaW5nIGZyb20gYHNyYy9gIHVuZGVyXG4gICAgLy8gdHMtamVzdCwgd2hlcmUgYSBtb2R1bGUtcmVsYXRpdmUgYC4vY2xpL2luZGV4LmpzYCB3b3VsZCBub3QgZXhpc3QuXG4gICAgY29uc3QgbW9kdWxlUm9vdCA9IHBhdGguZGlybmFtZShyZXF1aXJlLnJlc29sdmUoXCIuLi9wYWNrYWdlLmpzb25cIikpO1xuICAgIGNvbnN0IGNsaSA9IHBhdGguam9pbihtb2R1bGVSb290LCBcImxpYlwiLCBcImNsaVwiLCBcImluZGV4LmpzXCIpO1xuICAgIGNvbnN0IGFyZ3YgPSBbY2xpLCB0YXNrLm5hbWUsIC4uLihhcmdzID8/IFtdKS5tYXAoKGEpID0+IGEudG9TdHJpbmcoKSldO1xuICAgIHRyeSB7XG4gICAgICBub2RlLnJ1bihhcmd2LCB7XG4gICAgICAgIGN3ZDogdGhpcy5wcm9qZWN0Lm91dGRpcixcbiAgICAgICAgaW5oZXJpdFN0ZGlvOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAvLyBgbm9kZS5ydW5gIChleGVjRmlsZVN5bmMpIHRocm93cyBvbiBhIG5vbi16ZXJvIGV4aXQgKHdpdGggYSBudW1lcmljXG4gICAgICAvLyBgLnN0YXR1c2ApIG9yIG9uIGEgc3Bhd24gZmFpbHVyZS4gVHJhbnNsYXRlIGEgbm9uLXplcm8gZXhpdCBpbnRvIGFcbiAgICAgIC8vIHRhc2stZnJpZW5kbHkgZXJyb3I7IHJlLXRocm93IHNwYXduIGVycm9ycyBhcy1pcy4gVGhlIGNoaWxkJ3Mgc3RkZXJyXG4gICAgICAvLyB3YXMgYWxyZWFkeSBzdHJlYW1lZCBsaXZlIChpbmhlcml0U3RkaW8pLCBzbyBpdCBuZWVkIG5vdCBiZSByZS1zdXJmYWNlZC5cbiAgICAgIGlmICh0eXBlb2YgZT8uc3RhdHVzID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVGFzayBcIiR7dGFzay5uYW1lfVwiIGZhaWxlZCAoZXhpdCBjb2RlICR7ZS5zdGF0dXN9KS5gKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0YXNrc01hbmlmZXN0KCk6IFRhc2tzTWFuaWZlc3Qge1xuICAgIGNvbnN0IHJlc29sdmVyOiBJUmVzb2x2ZXIgPSB7XG4gICAgICByZXNvbHZlOiAob2JqLCBvcHRpb25zKSA9PiByZXNvbHZlKG9iaiwgb3B0aW9ucyksXG4gICAgfTtcblxuICAgIC8vIFRoZSBydW5uZXIgb3ducyB0aGUgb24tZGlzayBtYW5pZmVzdCwgc28gaXQgc3RhbXBzIHRoZSBzY2hlbWEgdmVyc2lvblxuICAgIC8vIG9udG8gdGhlIGxvZ2ljYWwgdGFza3MvZW52IHByb2R1Y2VkIGJ5IGBUYXNrc2AuIFRoZSB2ZXJzaW9uIGxldHMgdGhlIHRhc2tcbiAgICAvLyBydW50aW1lIGRldGVjdCBtYW5pZmVzdHMgcHJvZHVjZWQgYnkgYSBuZXdlciAocG90ZW50aWFsbHkgaW5jb21wYXRpYmxlKVxuICAgIC8vIHZlcnNpb24gb2YgcHJvamVuLlxuICAgIGNvbnN0IHJlc29sdmVkOiBUYXNrc01hbmlmZXN0ID1cbiAgICAgIHRoaXMucHJvamVjdC50YXNrcy5yZXNvbHZlVGFza3NNYW5pZmVzdChyZXNvbHZlcikgPz8ge307XG5cbiAgICByZXR1cm4ge1xuICAgICAgbWFuaWZlc3RWZXJzaW9uOiBUQVNLU19NQU5JRkVTVF9WRVJTSU9OLFxuICAgICAgLi4ucmVzb2x2ZWQsXG4gICAgfTtcbiAgfVxufVxuIl19
|
package/lib/task.js
CHANGED
|
@@ -8,7 +8,7 @@ const logging_1 = require("./logging");
|
|
|
8
8
|
* commands and subtasks.
|
|
9
9
|
*/
|
|
10
10
|
class Task {
|
|
11
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Task", version: "0.100.
|
|
11
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Task", version: "0.100.5" };
|
|
12
12
|
/**
|
|
13
13
|
* Task name.
|
|
14
14
|
*/
|
package/lib/tasks.js
CHANGED
|
@@ -48,7 +48,7 @@ const task_runner_1 = require("./task-runner");
|
|
|
48
48
|
* synthesized into `.projen/tasks.json`.
|
|
49
49
|
*/
|
|
50
50
|
class Tasks extends component_1.Component {
|
|
51
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Tasks", version: "0.100.
|
|
51
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Tasks", version: "0.100.5" };
|
|
52
52
|
_tasks;
|
|
53
53
|
_env;
|
|
54
54
|
_runner;
|
package/lib/testing.js
CHANGED
|
@@ -10,7 +10,7 @@ const synth_1 = require("./util/synth");
|
|
|
10
10
|
* @example `expect(Testing.synth(someProject)).toMatchSnapshot()`
|
|
11
11
|
*/
|
|
12
12
|
class Testing {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Testing", version: "0.100.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Testing", version: "0.100.5" };
|
|
14
14
|
/**
|
|
15
15
|
* Produces a simple JS object that represents the contents of the projects with field names being file paths.
|
|
16
16
|
* @param project the project to produce a snapshot for
|
package/lib/textfile.js
CHANGED
|
@@ -7,7 +7,7 @@ const file_1 = require("./file");
|
|
|
7
7
|
* A text file.
|
|
8
8
|
*/
|
|
9
9
|
class TextFile extends file_1.FileBase {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.TextFile", version: "0.100.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.TextFile", version: "0.100.5" };
|
|
11
11
|
lines;
|
|
12
12
|
/**
|
|
13
13
|
* Defines a text file.
|
package/lib/toml.js
CHANGED
|
@@ -41,7 +41,7 @@ const object_file_1 = require("./object-file");
|
|
|
41
41
|
* Represents a TOML file.
|
|
42
42
|
*/
|
|
43
43
|
class TomlFile extends object_file_1.ObjectFile {
|
|
44
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.TomlFile", version: "0.100.
|
|
44
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.TomlFile", version: "0.100.5" };
|
|
45
45
|
constructor(scope, filePath, options) {
|
|
46
46
|
super(scope, filePath, options);
|
|
47
47
|
}
|
|
@@ -17,7 +17,7 @@ const DEFAULT_FILENAME = ".projenrc.ts";
|
|
|
17
17
|
* Requires that `npx` is available.
|
|
18
18
|
*/
|
|
19
19
|
class ProjenrcTs extends projenrc_1.ProjenrcFile {
|
|
20
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.ProjenrcTs", version: "0.100.
|
|
20
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.ProjenrcTs", version: "0.100.5" };
|
|
21
21
|
/**
|
|
22
22
|
* TypeScript configuration file used to compile projen source files
|
|
23
23
|
*/
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TypescriptConfig } from "../javascript";
|
|
1
2
|
import { ProjenrcFile } from "../projenrc";
|
|
2
3
|
import type { TypeScriptProject } from "../typescript";
|
|
3
4
|
export interface ProjenrcOptions {
|
|
@@ -25,6 +26,7 @@ export interface ProjenrcOptions {
|
|
|
25
26
|
*/
|
|
26
27
|
export declare class Projenrc extends ProjenrcFile {
|
|
27
28
|
readonly filePath: string;
|
|
29
|
+
readonly tsconfig: TypescriptConfig;
|
|
28
30
|
private readonly _projenCodeDir;
|
|
29
31
|
private readonly _tsProject;
|
|
30
32
|
private readonly _swc;
|
|
@@ -4,6 +4,7 @@ exports.Projenrc = void 0;
|
|
|
4
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
5
|
const fs_1 = require("fs");
|
|
6
6
|
const path_1 = require("path");
|
|
7
|
+
const javascript_1 = require("../javascript");
|
|
7
8
|
const render_options_1 = require("../javascript/render-options");
|
|
8
9
|
const projenrc_1 = require("../projenrc");
|
|
9
10
|
const DEFAULT_FILENAME = ".projenrc.ts";
|
|
@@ -11,8 +12,9 @@ const DEFAULT_FILENAME = ".projenrc.ts";
|
|
|
11
12
|
* Sets up a typescript project to use TypeScript for projenrc.
|
|
12
13
|
*/
|
|
13
14
|
class Projenrc extends projenrc_1.ProjenrcFile {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.Projenrc", version: "0.100.
|
|
15
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.Projenrc", version: "0.100.5" };
|
|
15
16
|
filePath;
|
|
17
|
+
tsconfig;
|
|
16
18
|
_projenCodeDir;
|
|
17
19
|
_tsProject;
|
|
18
20
|
_swc;
|
|
@@ -22,6 +24,21 @@ class Projenrc extends projenrc_1.ProjenrcFile {
|
|
|
22
24
|
this.filePath = options.filename ?? DEFAULT_FILENAME;
|
|
23
25
|
this._projenCodeDir = options.projenCodeDir ?? "projenrc";
|
|
24
26
|
this._swc = options.swc ?? false;
|
|
27
|
+
// Give the projenrc source tree its own `tsconfig.json` so the eslint
|
|
28
|
+
// project service (and editors) resolve it as the nearest config for those
|
|
29
|
+
// files. This avoids listing the whole tree under `allowDefaultProject`,
|
|
30
|
+
// which only permits a small number of loose files (and rejects `**`
|
|
31
|
+
// globs). It extends the root config and is type-check only.
|
|
32
|
+
const baseTsconfig = project.tsconfig ?? project.tsconfigDev;
|
|
33
|
+
this.tsconfig = new javascript_1.TypescriptConfig(project, {
|
|
34
|
+
fileName: `${this._projenCodeDir}/tsconfig.json`,
|
|
35
|
+
include: ["**/*.ts"],
|
|
36
|
+
extends: javascript_1.TypescriptConfigExtends.fromTypescriptConfigs([baseTsconfig]),
|
|
37
|
+
compilerOptions: {
|
|
38
|
+
noEmit: true,
|
|
39
|
+
rootDir: path_1.posix.relative(this._projenCodeDir, ".") || ".",
|
|
40
|
+
},
|
|
41
|
+
});
|
|
25
42
|
this.addDefaultTask();
|
|
26
43
|
this.generateProjenrc();
|
|
27
44
|
}
|
|
@@ -35,16 +52,20 @@ class Projenrc extends projenrc_1.ProjenrcFile {
|
|
|
35
52
|
// running "node .projenrc.js").
|
|
36
53
|
this._tsProject.addDevDeps(...deps);
|
|
37
54
|
const tsNode = this._swc ? "ts-node --swc" : "ts-node";
|
|
38
|
-
//
|
|
39
|
-
//
|
|
55
|
+
// ts-node compiles the entrypoint and its imports on demand using the dev
|
|
56
|
+
// tsconfig's compiler options, so projen source files may reside anywhere
|
|
57
|
+
// in the project tree regardless of the config's `include`.
|
|
40
58
|
this._tsProject.defaultTask?.exec(`${tsNode} --project ${this._tsProject.tsconfigDev.fileName} ${this.filePath}`);
|
|
41
59
|
}
|
|
42
60
|
preSynthesize() {
|
|
43
61
|
super.preSynthesize();
|
|
44
62
|
this._tsProject.addPackageIgnore(`/${this.filePath}`);
|
|
45
63
|
this._tsProject.addPackageIgnore(`/${this._projenCodeDir}`);
|
|
46
|
-
|
|
47
|
-
|
|
64
|
+
// The projenrc entrypoint lives at the repository root and is not covered
|
|
65
|
+
// by any `tsconfig.json`. Register only this single file with the eslint
|
|
66
|
+
// project service's default project (the projenrc source tree is covered
|
|
67
|
+
// by its own tsconfig). `allowDefaultProject` does not permit `**` globs.
|
|
68
|
+
this._tsProject.eslint?.allowDefaultProjectFiles(this.filePath);
|
|
48
69
|
this._tsProject.eslint?.addLintPattern(this._projenCodeDir);
|
|
49
70
|
this._tsProject.eslint?.addLintPattern(this.filePath);
|
|
50
71
|
this._tsProject.eslint?.allowDevDeps(this.filePath);
|
|
@@ -97,4 +118,4 @@ class Projenrc extends projenrc_1.ProjenrcFile {
|
|
|
97
118
|
}
|
|
98
119
|
}
|
|
99
120
|
exports.Projenrc = Projenrc;
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVucmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXNjcmlwdC9wcm9qZW5yYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsMkJBQTBEO0FBQzFELCtCQUF3QztBQUV4QyxpRUFBdUU7QUFDdkUsMENBQTJDO0FBMEIzQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQztBQUV4Qzs7R0FFRztBQUNILE1BQWEsUUFBUyxTQUFRLHVCQUFZOztJQUN4QixRQUFRLENBQVM7SUFDaEIsY0FBYyxDQUFTO0lBQ3ZCLFVBQVUsQ0FBb0I7SUFDOUIsSUFBSSxDQUFVO0lBRS9CLFlBQVksT0FBMEIsRUFBRSxVQUEyQixFQUFFO1FBQ25FLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO1FBRTFCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQztRQUNyRCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxhQUFhLElBQUksVUFBVSxDQUFDO1FBQzFELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUM7UUFFakMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXRCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLE1BQU0sSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pCLENBQUM7UUFFRCxtRUFBbUU7UUFDbkUsbUVBQW1FO1FBQ25FLGdDQUFnQztRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBRXBDLE1BQU0s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LENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUN0QiwwQ0FBMEMsTUFBTSxFQUFFLENBQ25ELENBQUM7SUFDSixDQUFDOztBQWhISCw0QkFpSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGlzdHNTeW5jLCB3cml0ZUZpbGVTeW5jLCBta2RpclN5bmMgfSBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IGRpcm5hbWUsIHJlc29sdmUgfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBJbnZlbnRvcnlQcm9qZWN0VHlwZSB9IGZyb20gXCIuLi9pbnZlbnRvcnlcIjtcbmltcG9ydCB7IHJlbmRlckphdmFTY3JpcHRPcHRpb25zIH0gZnJvbSBcIi4uL2phdmFzY3JpcHQvcmVuZGVyLW9wdGlvbnNcIjtcbmltcG9ydCB7IFByb2plbnJjRmlsZSB9IGZyb20gXCIuLi9wcm9qZW5yY1wiO1xuaW1wb3J0IHR5cGUgeyBUeXBlU2NyaXB0UHJvamVjdCB9IGZyb20gXCIuLi90eXBlc2NyaXB0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvamVucmNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9qZW5yYyBmaWxlLlxuICAgKiBAZGVmYXVsdCBcIi5wcm9qZW5yYy50c1wiXG4gICAqL1xuICByZWFkb25seSBmaWxlbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBkaXJlY3RvcnkgdHJlZSB0aGF0IG1heSBjb250YWluICoudHMgZmlsZXMgdGhhdCBjYW4gYmUgcmVmZXJlbmNlZCBmcm9tXG4gICAqIHlvdXIgcHJvamVucmMgdHlwZXNjcmlwdCBmaWxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcInByb2plbnJjXCJcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbkNvZGVEaXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gdXNlIGBTV0NgIGZvciB0cy1ub2RlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3djPzogYm9vbGVhbjtcbn1cblxuY29uc3QgREVGQVVMVF9GSUxFTkFNRSA9IFwiLnByb2plbnJjLnRzXCI7XG5cbi8qKlxuICogU2V0cyB1cCBhIHR5cGVzY3JpcHQgcHJvamVjdCB0byB1c2UgVHlwZVNjcmlwdCBmb3IgcHJvamVucmMuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9qZW5yYyBleHRlbmRzIFByb2plbnJjRmlsZSB7XG4gIHB1YmxpYyByZWFkb25seSBmaWxlUGF0aDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wcm9qZW5Db2RlRGlyOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RzUHJvamVjdDogVHlwZVNjcmlwdFByb2plY3Q7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N3YzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBUeXBlU2NyaXB0UHJvamVjdCwgb3B0aW9uczogUHJvamVucmNPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgICB0aGlzLl90c1Byb2plY3QgPSBwcm9qZWN0O1xuXG4gICAgdGhpcy5maWxlUGF0aCA9IG9wdGlvbnMuZmlsZW5hbWUgPz8gREVGQVVMVF9GSUxFTkFNRTtcbiAgICB0aGlzLl9wcm9qZW5Db2RlRGlyID0gb3B0aW9ucy5wcm9qZW5Db2RlRGlyID8/IFwicHJvamVucmNcIjtcbiAgICB0aGlzLl9zd2MgPSBvcHRpb25zLnN3YyA/PyBmYWxzZTtcblxuICAgIHRoaXMuYWRkRGVmYXVsdFRhc2soKTtcblxuICAgIHRoaXMuZ2VuZXJhdGVQcm9qZW5yYygpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGREZWZhdWx0VGFzaygpIHtcbiAgICBjb25zdCBkZXBzID0gW1widHMtbm9kZVwiXTtcbiAgICBpZiAodGhpcy5fc3djKSB7XG4gICAgICBkZXBzLnB1c2goXCJAc3djL2NvcmVcIik7XG4gICAgfVxuXG4gICAgLy8gdGhpcyBpcyB0aGUgdGFzayBwcm9qZW4gZXhlY3V0ZXMgd2hlbiBydW5uaW5nIGBwcm9qZW5gIHdpdGhvdXQgYVxuICAgIC8vIHNwZWNpZmljIHRhc2sgKGlmIHRoaXMgdGFzayBpcyBub3QgZGVmaW5lZCwgcHJvamVuIGZhbGxzIGJhY2sgdG9cbiAgICAvLyBydW5uaW5nIFwibm9kZSAucHJvamVucmMuanNcIikuXG4gICAgdGhpcy5fdHNQcm9qZWN0LmFkZERldkRlcHMoLi4uZGVwcyk7XG5cbiAgICBjb25zdCB0c05vZGUgPSB0aGlzLl9zd2MgPyBcInRzLW5vZGUgLS1zd2NcIiA6IFwidHMtbm9kZVwiO1xuXG4gICAgLy8gd2UgdXNlIFwidHNjb25maWcuZGV2Lmpzb25cIiBoZXJlIHRvIGFsbG93IHByb2plbiBzb3VyY2UgZmlsZXMgdG8gcmVzaWRlXG4gICAgLy8gYW55d2hlcmUgaW4gdGhlIHByb2plY3QgdHJlZS5cbiAgICB0aGlzLl90c1Byb2plY3QuZGVmYXVsdFRhc2s/LmV4ZWMoXG4gICAgICBgJHt0c05vZGV9IC0tcHJvamVjdCAke3RoaXMuX3RzUHJvamVjdC50c2NvbmZpZ0Rldi5maWxlTmFtZX0gJHt0aGlzLmZpbGVQYXRofWAsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBwcmVTeW50aGVzaXplKCk6IHZvaWQge1xuICAgIHN1cGVyLnByZVN5bnRoZXNpemUoKTtcblxuICAgIHRoaXMuX3RzUHJvamVjdC5hZGRQYWNrYWdlSWdub3JlKGAvJHt0aGlzLmZpbGVQYXRofWApO1xuICAgIHRoaXMuX3RzUHJvamVjdC5hZGRQYWNrYWdlSWdub3JlKGAvJHt0aGlzLl9wcm9qZW5Db2RlRGlyfWApO1xuXG4gICAgdGhpcy5fdHNQcm9qZWN0LnRzY29uZmlnRGV2LmFkZEluY2x1ZGUodGhpcy5maWxlUGF0aCk7XG4gICAgdGhpcy5fdHNQcm9qZWN0LnRzY29uZmlnRGV2LmFkZEluY2x1ZGUoYCR7dGhpcy5fcHJvamVuQ29kZURpcn0vKiovKi50c2ApO1xuXG4gICAgdGhpcy5fdHNQcm9qZWN0LmVzbGludD8uYWRkTGludFBhdHRlcm4odGhpcy5fcHJvamVuQ29kZURpcik7XG4gICAgdGhpcy5fdHNQcm9qZWN0LmVzbGludD8uYWRkTGludFBhdHRlcm4odGhpcy5maWxlUGF0aCk7XG4gICAgdGhpcy5fdHNQcm9qZWN0LmVzbGludD8uYWxsb3dEZXZEZXBzKHRoaXMuZmlsZVBhdGgpO1xuICAgIHRoaXMuX3RzUHJvamVjdC5lc2xpbnQ/LmFsbG93RGV2RGVwcyhgJHt0aGlzLl9wcm9qZW5Db2RlRGlyfS8qKi8qLnRzYCk7XG4gICAgdGhpcy5fdHNQcm9qZWN0LmVzbGludD8uYWRkSWdub3JlUGF0dGVybihgISR7dGhpcy5maWxlUGF0aH1gKTtcbiAgICB0aGlzLl90c1Byb2plY3QuZXNsaW50Py5hZGRJZ25vcmVQYXR0ZXJuKGAhJHt0aGlzLl9wcm9qZW5Db2RlRGlyfS8qKi8qLnRzYCk7XG5cbiAgICB0aGlzLl90c1Byb2plY3QuZXNsaW50Py5hZGRPdmVycmlkZSh7XG4gICAgICBmaWxlczogW3RoaXMuZmlsZVBhdGhdLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXCI6IFwib2ZmXCIsXG4gICAgICAgIFwiaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXCI6IFwib2ZmXCIsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5fdHNQcm9qZWN0LmJpb21lPy5hZGRGaWxlUGF0dGVybih0aGlzLmZpbGVQYXRoKTtcbiAgICB0aGlzLl90c1Byb2plY3QuYmlvbWU/LmFkZEZpbGVQYXR0ZXJuKGAke3RoaXMuX3Byb2plbkNvZGVEaXJ9LyoqYCk7XG5cbiAgICB0aGlzLl90c1Byb2plY3QuamVzdD8uZGlzY292ZXJUZXN0TWF0Y2hQYXR0ZXJuc0ZvckRpcnMoXG4gICAgICBbdGhpcy5fcHJvamVuQ29kZURpcl0sXG4gICAgICB7XG4gICAgICAgIGZpbGVFeHRlbnNpb25QYXR0ZXJuOiB0aGlzLl90c1Byb2plY3QudHNjb25maWc/LmNvbXBpbGVyT3B0aW9ucz8uYWxsb3dKc1xuICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgOiBcInRzPyh4KVwiLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVByb2plbnJjKCkge1xuICAgIGNvbnN0IHJjZmlsZSA9IHJlc29sdmUodGhpcy5wcm9qZWN0Lm91dGRpciwgdGhpcy5maWxlUGF0aCk7XG4gICAgaWYgKGV4aXN0c1N5bmMocmNmaWxlKSkge1xuICAgICAgcmV0dXJuOyAvLyBhbHJlYWR5IGV4aXN0c1xuICAgIH1cblxuICAgIGNvbnN0IGJvb3RzdHJhcCA9IHRoaXMucHJvamVjdC5pbml0UHJvamVjdDtcbiAgICBpZiAoIWJvb3RzdHJhcCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcnRzID0gYm9vdHN0cmFwLmZxbi5zcGxpdChcIi5cIik7XG4gICAgY29uc3QgbW9kdWxlTmFtZSA9IHBhcnRzWzBdO1xuICAgIGNvbnN0IGltcG9ydE5hbWUgPSBwYXJ0c1sxXTtcbiAgICBjb25zdCBjbGFzc05hbWUgPSBwYXJ0cy5zbGljZSgxKS5qb2luKFwiLlwiKTtcblxuICAgIGNvbnN0IHsgcmVuZGVyZWRPcHRpb25zLCBpbXBvcnRzIH0gPSByZW5kZXJKYXZhU2NyaXB0T3B0aW9ucyh7XG4gICAgICBhcmdzOiBib290c3RyYXAuYXJncyxcbiAgICAgIHR5cGU6IGJvb3RzdHJhcC50eXBlIGFzIEludmVudG9yeVByb2plY3RUeXBlLFxuICAgICAgY29tbWVudHM6IGJvb3RzdHJhcC5jb21tZW50cyxcbiAgICB9KTtcblxuICAgIGltcG9ydHMuYWRkKG1vZHVsZU5hbWUsIGltcG9ydE5hbWUpO1xuXG4gICAgY29uc3QgbGluZXMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICAgIGxpbmVzLnB1c2goLi4uaW1wb3J0cy5hc0VzbUltcG9ydHMoKSk7XG4gICAgbGluZXMucHVzaCgpO1xuICAgIGxpbmVzLnB1c2goYGNvbnN0IHByb2plY3QgPSBuZXcgJHtjbGFzc05hbWV9KCR7cmVuZGVyZWRPcHRpb25zfSk7YCk7XG4gICAgbGluZXMucHVzaCgpO1xuICAgIGxpbmVzLnB1c2goXCJwcm9qZWN0LnN5bnRoKCk7XCIpO1xuXG4gICAgbWtkaXJTeW5jKGRpcm5hbWUocmNmaWxlKSwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgd3JpdGVGaWxlU3luYyhyY2ZpbGUsIGxpbmVzLmpvaW4oXCJcXG5cIikpO1xuICAgIHRoaXMucHJvamVjdC5sb2dnZXIuaW5mbyhcbiAgICAgIGBQcm9qZWN0IGRlZmluaXRpb24gZmlsZSB3YXMgY3JlYXRlZCBhdCAke3JjZmlsZX1gLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVucmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXNjcmlwdC9wcm9qZW5yYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsMkJBQTBEO0FBQzFELCtCQUErQztBQUUvQyw4Q0FBMEU7QUFDMUUsaUVBQXVFO0FBQ3ZFLDBDQUEyQztBQTBCM0MsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxNQUFhLFFBQVMsU0FBUSx1QkFBWTs7SUFDeEIsUUFBUSxDQUFTO0lBQ2pCLFFBQVEsQ0FBbUI7SUFFMUIsY0FBYyxDQUFTO0lBQ3ZCLFVBQVUsQ0FBb0I7SUFDOUIsSUFBSSxDQUFVO0lBRS9CLFlBQVksT0FBMEIsRUFBRSxVQUEyQixFQUFFO1FBQ25FLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO1FBRTFCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQztRQUNyRCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxhQUFhLElBQUksVUFBVSxDQUFDO1FBQzFELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUM7UUFFakMsc0VBQXNFO1FBQ3RFLDJFQUEyRTtRQUMzRSx5RUFBeUU7UUFDekUscUVBQXFFO1FBQ3JFLDZEQUE2RDtRQUM3RCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDN0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLDZCQUFnQixDQUFDLE9BQU8sRUFBRTtZQUM1QyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxnQkFBZ0I7WUFDaEQsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQ3BCLE9BQU8sRUFBRSxvQ0FBdUIsQ0FBQyxxQkFBcUIs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LFFBQVE7U0FDN0IsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFcEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztRQUNsQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDdEMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsU0FBUyxJQUFJLGVBQWUsSUFBSSxDQUFDLENBQUM7UUFDcEUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRS9CLElBQUEsY0FBUyxFQUFDLElBQUEsY0FBTyxFQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBQSxrQkFBYSxFQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUN0QiwwQ0FBMEMsTUFBTSxFQUFFLENBQ25ELENBQUM7SUFDSixDQUFDOztBQXRJSCw0QkF1SUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGlzdHNTeW5jLCB3cml0ZUZpbGVTeW5jLCBta2RpclN5bmMgfSBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IGRpcm5hbWUsIHBvc2l4LCByZXNvbHZlIH0gZnJvbSBcInBhdGhcIjtcbmltcG9ydCB0eXBlIHsgSW52ZW50b3J5UHJvamVjdFR5cGUgfSBmcm9tIFwiLi4vaW52ZW50b3J5XCI7XG5pbXBvcnQgeyBUeXBlc2NyaXB0Q29uZmlnLCBUeXBlc2NyaXB0Q29uZmlnRXh0ZW5kcyB9IGZyb20gXCIuLi9qYXZhc2NyaXB0XCI7XG5pbXBvcnQgeyByZW5kZXJKYXZhU2NyaXB0T3B0aW9ucyB9IGZyb20gXCIuLi9qYXZhc2NyaXB0L3JlbmRlci1vcHRpb25zXCI7XG5pbXBvcnQgeyBQcm9qZW5yY0ZpbGUgfSBmcm9tIFwiLi4vcHJvamVucmNcIjtcbmltcG9ydCB0eXBlIHsgVHlwZVNjcmlwdFByb2plY3QgfSBmcm9tIFwiLi4vdHlwZXNjcmlwdFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2plbnJjT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvamVucmMgZmlsZS5cbiAgICogQGRlZmF1bHQgXCIucHJvamVucmMudHNcIlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZW5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZGlyZWN0b3J5IHRyZWUgdGhhdCBtYXkgY29udGFpbiAqLnRzIGZpbGVzIHRoYXQgY2FuIGJlIHJlZmVyZW5jZWQgZnJvbVxuICAgKiB5b3VyIHByb2plbnJjIHR5cGVzY3JpcHQgZmlsZS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJwcm9qZW5yY1wiXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5Db2RlRGlyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHVzZSBgU1dDYCBmb3IgdHMtbm9kZS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN3Yz86IGJvb2xlYW47XG59XG5cbmNvbnN0IERFRkFVTFRfRklMRU5BTUUgPSBcIi5wcm9qZW5yYy50c1wiO1xuXG4vKipcbiAqIFNldHMgdXAgYSB0eXBlc2NyaXB0IHByb2plY3QgdG8gdXNlIFR5cGVTY3JpcHQgZm9yIHByb2plbnJjLlxuICovXG5leHBvcnQgY2xhc3MgUHJvamVucmMgZXh0ZW5kcyBQcm9qZW5yY0ZpbGUge1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsZVBhdGg6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHRzY29uZmlnOiBUeXBlc2NyaXB0Q29uZmlnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Byb2plbkNvZGVEaXI6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBfdHNQcm9qZWN0OiBUeXBlU2NyaXB0UHJvamVjdDtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3djOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFR5cGVTY3JpcHRQcm9qZWN0LCBvcHRpb25zOiBQcm9qZW5yY09wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuICAgIHRoaXMuX3RzUHJvamVjdCA9IHByb2plY3Q7XG5cbiAgICB0aGlzLmZpbGVQYXRoID0gb3B0aW9ucy5maWxlbmFtZSA/PyBERUZBVUxUX0ZJTEVOQU1FO1xuICAgIHRoaXMuX3Byb2plbkNvZGVEaXIgPSBvcHRpb25zLnByb2plbkNvZGVEaXIgPz8gXCJwcm9qZW5yY1wiO1xuICAgIHRoaXMuX3N3YyA9IG9wdGlvbnMuc3djID8/IGZhbHNlO1xuXG4gICAgLy8gR2l2ZSB0aGUgcHJvamVucmMgc291cmNlIHRyZWUgaXRzIG93biBgdHNjb25maWcuanNvbmAgc28gdGhlIGVzbGludFxuICAgIC8vIHByb2plY3Qgc2VydmljZSAoYW5kIGVkaXRvcnMpIHJlc29sdmUgaXQgYXMgdGhlIG5lYXJlc3QgY29uZmlnIGZvciB0aG9zZVxuICAgIC8vIGZpbGVzLiBUaGlzIGF2b2lkcyBsaXN0aW5nIHRoZSB3aG9sZSB0cmVlIHVuZGVyIGBhbGxvd0RlZmF1bHRQcm9qZWN0YCxcbiAgICAvLyB3aGljaCBvbmx5IHBlcm1pdHMgYSBzbWFsbCBudW1iZXIgb2YgbG9vc2UgZmlsZXMgKGFuZCByZWplY3RzIGAqKmBcbiAgICAvLyBnbG9icykuIEl0IGV4dGVuZHMgdGhlIHJvb3QgY29uZmlnIGFuZCBpcyB0eXBlLWNoZWNrIG9ubHkuXG4gICAgY29uc3QgYmFzZVRzY29uZmlnID0gcHJvamVjdC50c2NvbmZpZyA/PyBwcm9qZWN0LnRzY29uZmlnRGV2O1xuICAgIHRoaXMudHNjb25maWcgPSBuZXcgVHlwZXNjcmlwdENvbmZpZyhwcm9qZWN0LCB7XG4gICAgICBmaWxlTmFtZTogYCR7dGhpcy5fcHJvamVuQ29kZURpcn0vdHNjb25maWcuanNvbmAsXG4gICAgICBpbmNsdWRlOiBbXCIqKi8qLnRzXCJdLFxuICAgICAgZXh0ZW5kczogVHlwZXNjcmlwdENvbmZpZ0V4dGVuZHMuZnJvbVR5cGVzY3JpcHRDb25maWdzKFtiYXNlVHNjb25maWddKSxcbiAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICBub0VtaXQ6IHRydWUsXG4gICAgICAgIHJvb3REaXI6IHBvc2l4LnJlbGF0aXZlKHRoaXMuX3Byb2plbkNvZGVEaXIsIFwiLlwiKSB8fCBcIi5cIixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZERlZmF1bHRUYXNrKCk7XG5cbiAgICB0aGlzLmdlbmVyYXRlUHJvamVucmMoKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRGVmYXVsdFRhc2soKSB7XG4gICAgY29uc3QgZGVwcyA9IFtcInRzLW5vZGVcIl07XG4gICAgaWYgKHRoaXMuX3N3Yykge1xuICAgICAgZGVwcy5wdXNoKFwiQHN3Yy9jb3JlXCIpO1xuICAgIH1cblxuICAgIC8vIHRoaXMgaXMgdGhlIHRhc2sgcHJvamVuIGV4ZWN1dGVzIHdoZW4gcnVubmluZyBgcHJvamVuYCB3aXRob3V0IGFcbiAgICAvLyBzcGVjaWZpYyB0YXNrIChpZiB0aGlzIHRhc2sgaXMgbm90IGRlZmluZWQsIHByb2plbiBmYWxscyBiYWNrIHRvXG4gICAgLy8gcnVubmluZyBcIm5vZGUgLnByb2plbnJjLmpzXCIpLlxuICAgIHRoaXMuX3RzUHJvamVjdC5hZGREZXZEZXBzKC4uLmRlcHMpO1xuXG4gICAgY29uc3QgdHNOb2RlID0gdGhpcy5fc3djID8gXCJ0cy1ub2RlIC0tc3djXCIgOiBcInRzLW5vZGVcIjtcblxuICAgIC8vIHRzLW5vZGUgY29tcGlsZXMgdGhlIGVudHJ5cG9pbnQgYW5kIGl0cyBpbXBvcnRzIG9uIGRlbWFuZCB1c2luZyB0aGUgZGV2XG4gICAgLy8gdHNjb25maWcncyBjb21waWxlciBvcHRpb25zLCBzbyBwcm9qZW4gc291cmNlIGZpbGVzIG1heSByZXNpZGUgYW55d2hlcmVcbiAgICAvLyBpbiB0aGUgcHJvamVjdCB0cmVlIHJlZ2FyZGxlc3Mgb2YgdGhlIGNvbmZpZydzIGBpbmNsdWRlYC5cbiAgICB0aGlzLl90c1Byb2plY3QuZGVmYXVsdFRhc2s/LmV4ZWMoXG4gICAgICBgJHt0c05vZGV9IC0tcHJvamVjdCAke3RoaXMuX3RzUHJvamVjdC50c2NvbmZpZ0Rldi5maWxlTmFtZX0gJHt0aGlzLmZpbGVQYXRofWAsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBwcmVTeW50aGVzaXplKCk6IHZvaWQge1xuICAgIHN1cGVyLnByZVN5bnRoZXNpemUoKTtcblxuICAgIHRoaXMuX3RzUHJvamVjdC5hZGRQYWNrYWdlSWdub3JlKGAvJHt0aGlzLmZpbGVQYXRofWApO1xuICAgIHRoaXMuX3RzUHJvamVjdC5hZGRQYWNrYWdlSWdub3JlKGAvJHt0aGlzLl9wcm9qZW5Db2RlRGlyfWApO1xuXG4gICAgLy8gVGhlIHByb2plbnJjIGVudHJ5cG9pbnQgbGl2ZXMgYXQgdGhlIHJlcG9zaXRvcnkgcm9vdCBhbmQgaXMgbm90IGNvdmVyZWRcbiAgICAvLyBieSBhbnkgYHRzY29uZmlnLmpzb25gLiBSZWdpc3RlciBvbmx5IHRoaXMgc2luZ2xlIGZpbGUgd2l0aCB0aGUgZXNsaW50XG4gICAgLy8gcHJvamVjdCBzZXJ2aWNlJ3MgZGVmYXVsdCBwcm9qZWN0ICh0aGUgcHJvamVucmMgc291cmNlIHRyZWUgaXMgY292ZXJlZFxuICAgIC8vIGJ5IGl0cyBvd24gdHNjb25maWcpLiBgYWxsb3dEZWZhdWx0UHJvamVjdGAgZG9lcyBub3QgcGVybWl0IGAqKmAgZ2xvYnMuXG4gICAgdGhpcy5fdHNQcm9qZWN0LmVzbGludD8uYWxsb3dEZWZhdWx0UHJvamVjdEZpbGVzKHRoaXMuZmlsZVBhdGgpO1xuXG4gICAgdGhpcy5fdHNQcm9qZWN0LmVzbGludD8uYWRkTGludFBhdHRlcm4odGhpcy5fcHJvamVuQ29kZURpcik7XG4gICAgdGhpcy5fdHNQcm9qZWN0LmVzbGludD8uYWRkTGludFBhdHRlcm4odGhpcy5maWxlUGF0aCk7XG4gICAgdGhpcy5fdHNQcm9qZWN0LmVzbGludD8uYWxsb3dEZXZEZXBzKHRoaXMuZmlsZVBhdGgpO1xuICAgIHRoaXMuX3RzUHJvamVjdC5lc2xpbnQ/LmFsbG93RGV2RGVwcyhgJHt0aGlzLl9wcm9qZW5Db2RlRGlyfS8qKi8qLnRzYCk7XG4gICAgdGhpcy5fdHNQcm9qZWN0LmVzbGludD8uYWRkSWdub3JlUGF0dGVybihgISR7dGhpcy5maWxlUGF0aH1gKTtcbiAgICB0aGlzLl90c1Byb2plY3QuZXNsaW50Py5hZGRJZ25vcmVQYXR0ZXJuKGAhJHt0aGlzLl9wcm9qZW5Db2RlRGlyfS8qKi8qLnRzYCk7XG5cbiAgICB0aGlzLl90c1Byb2plY3QuZXNsaW50Py5hZGRPdmVycmlkZSh7XG4gICAgICBmaWxlczogW3RoaXMuZmlsZVBhdGhdLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXCI6IFwib2ZmXCIsXG4gICAgICAgIFwiaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXCI6IFwib2ZmXCIsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5fdHNQcm9qZWN0LmJpb21lPy5hZGRGaWxlUGF0dGVybih0aGlzLmZpbGVQYXRoKTtcbiAgICB0aGlzLl90c1Byb2plY3QuYmlvbWU/LmFkZEZpbGVQYXR0ZXJuKGAke3RoaXMuX3Byb2plbkNvZGVEaXJ9LyoqYCk7XG5cbiAgICB0aGlzLl90c1Byb2plY3QuamVzdD8uZGlzY292ZXJUZXN0TWF0Y2hQYXR0ZXJuc0ZvckRpcnMoXG4gICAgICBbdGhpcy5fcHJvamVuQ29kZURpcl0sXG4gICAgICB7XG4gICAgICAgIGZpbGVFeHRlbnNpb25QYXR0ZXJuOiB0aGlzLl90c1Byb2plY3QudHNjb25maWc/LmNvbXBpbGVyT3B0aW9ucz8uYWxsb3dKc1xuICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgOiBcInRzPyh4KVwiLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVByb2plbnJjKCkge1xuICAgIGNvbnN0IHJjZmlsZSA9IHJlc29sdmUodGhpcy5wcm9qZWN0Lm91dGRpciwgdGhpcy5maWxlUGF0aCk7XG4gICAgaWYgKGV4aXN0c1N5bmMocmNmaWxlKSkge1xuICAgICAgcmV0dXJuOyAvLyBhbHJlYWR5IGV4aXN0c1xuICAgIH1cblxuICAgIGNvbnN0IGJvb3RzdHJhcCA9IHRoaXMucHJvamVjdC5pbml0UHJvamVjdDtcbiAgICBpZiAoIWJvb3RzdHJhcCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcnRzID0gYm9vdHN0cmFwLmZxbi5zcGxpdChcIi5cIik7XG4gICAgY29uc3QgbW9kdWxlTmFtZSA9IHBhcnRzWzBdO1xuICAgIGNvbnN0IGltcG9ydE5hbWUgPSBwYXJ0c1sxXTtcbiAgICBjb25zdCBjbGFzc05hbWUgPSBwYXJ0cy5zbGljZSgxKS5qb2luKFwiLlwiKTtcblxuICAgIGNvbnN0IHsgcmVuZGVyZWRPcHRpb25zLCBpbXBvcnRzIH0gPSByZW5kZXJKYXZhU2NyaXB0T3B0aW9ucyh7XG4gICAgICBhcmdzOiBib290c3RyYXAuYXJncyxcbiAgICAgIHR5cGU6IGJvb3RzdHJhcC50eXBlIGFzIEludmVudG9yeVByb2plY3RUeXBlLFxuICAgICAgY29tbWVudHM6IGJvb3RzdHJhcC5jb21tZW50cyxcbiAgICB9KTtcblxuICAgIGltcG9ydHMuYWRkKG1vZHVsZU5hbWUsIGltcG9ydE5hbWUpO1xuXG4gICAgY29uc3QgbGluZXMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICAgIGxpbmVzLnB1c2goLi4uaW1wb3J0cy5hc0VzbUltcG9ydHMoKSk7XG4gICAgbGluZXMucHVzaCgpO1xuICAgIGxpbmVzLnB1c2goYGNvbnN0IHByb2plY3QgPSBuZXcgJHtjbGFzc05hbWV9KCR7cmVuZGVyZWRPcHRpb25zfSk7YCk7XG4gICAgbGluZXMucHVzaCgpO1xuICAgIGxpbmVzLnB1c2goXCJwcm9qZWN0LnN5bnRoKCk7XCIpO1xuXG4gICAgbWtkaXJTeW5jKGRpcm5hbWUocmNmaWxlKSwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgd3JpdGVGaWxlU3luYyhyY2ZpbGUsIGxpbmVzLmpvaW4oXCJcXG5cIikpO1xuICAgIHRoaXMucHJvamVjdC5sb2dnZXIuaW5mbyhcbiAgICAgIGBQcm9qZWN0IGRlZmluaXRpb24gZmlsZSB3YXMgY3JlYXRlZCBhdCAke3JjZmlsZX1gLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,7 +6,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
6
6
|
Adds a simple Typescript documentation generator
|
|
7
7
|
*/
|
|
8
8
|
class TypedocDocgen {
|
|
9
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.TypedocDocgen", version: "0.100.
|
|
9
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.TypedocDocgen", version: "0.100.5" };
|
|
10
10
|
constructor(project) {
|
|
11
11
|
project.addDevDeps("typedoc");
|
|
12
12
|
const docgen = project.addTask("docgen", {
|
|
@@ -230,9 +230,13 @@ export interface TypeScriptProjectOptions extends NodeProjectOptions {
|
|
|
230
230
|
*/
|
|
231
231
|
readonly tsconfigDev?: TypescriptConfigOptions;
|
|
232
232
|
/**
|
|
233
|
-
* The name of the development tsconfig
|
|
233
|
+
* The name (and path) of the development tsconfig file.
|
|
234
234
|
*
|
|
235
|
-
*
|
|
235
|
+
* By default this lives inside the test directory (e.g. `test/tsconfig.json`)
|
|
236
|
+
* so that the TypeScript language service resolves it as the nearest config
|
|
237
|
+
* for test files.
|
|
238
|
+
*
|
|
239
|
+
* @default - "{testdir}/tsconfig.json"
|
|
236
240
|
*/
|
|
237
241
|
readonly tsconfigDevFile?: string;
|
|
238
242
|
/**
|
|
@@ -243,7 +247,7 @@ export interface TypeScriptProjectOptions extends NodeProjectOptions {
|
|
|
243
247
|
*/
|
|
244
248
|
readonly disableTsconfig?: boolean;
|
|
245
249
|
/**
|
|
246
|
-
* Do not generate a
|
|
250
|
+
* Do not generate a development tsconfig file.
|
|
247
251
|
*
|
|
248
252
|
* @default false
|
|
249
253
|
*/
|
|
@@ -306,6 +310,26 @@ export declare class TypeScriptProject extends NodeProject {
|
|
|
306
310
|
*/
|
|
307
311
|
readonly watchTask: Task;
|
|
308
312
|
constructor(options: TypeScriptProjectOptions);
|
|
313
|
+
/**
|
|
314
|
+
* The main `tsconfig.json` used to compile the project (src -> lib).
|
|
315
|
+
*/
|
|
316
|
+
private makeTsconfig;
|
|
317
|
+
/**
|
|
318
|
+
* The development/test tsconfig, placed inside the test directory so that the
|
|
319
|
+
* TypeScript language service picks it up for test files. `tsserver` (and
|
|
320
|
+
* editors like VS Code >= 1.114, which bundle TypeScript 6) resolve the
|
|
321
|
+
* nearest `tsconfig.json` starting from the source file and no longer
|
|
322
|
+
* discover a differently-named config (e.g. `tsconfig.dev.json`) at the root.
|
|
323
|
+
*
|
|
324
|
+
* It extends the root tsconfig and is type-check only (`noEmit`), so it never
|
|
325
|
+
* participates in the build.
|
|
326
|
+
*/
|
|
327
|
+
private makeDevTsconfig;
|
|
328
|
+
/**
|
|
329
|
+
* A self-contained development tsconfig at the repository root, used when
|
|
330
|
+
* there is no root tsconfig to extend (e.g. `disableTsconfig`).
|
|
331
|
+
*/
|
|
332
|
+
private makeStandaloneDevTsconfig;
|
|
309
333
|
/**
|
|
310
334
|
* Projen default Typescript compiler options.
|
|
311
335
|
*/
|