projen 0.102.0 → 0.103.1
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 +1173 -1104
- package/README.md +23 -0
- 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 +1 -1
- 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.d.ts +4 -0
- package/lib/awscdk/cdk-config.js +4 -4
- package/lib/awscdk/cdk-tasks.js +1 -1
- package/lib/awscdk/integration-test.d.ts +1 -0
- package/lib/awscdk/integration-test.js +38 -10
- package/lib/awscdk/lambda-extension.js +1 -1
- package/lib/awscdk/lambda-function.js +2 -2
- package/lib/build/build-workflow.js +4 -3
- package/lib/cdk/auto-discover-base.js +2 -2
- package/lib/cdk/construct-lib.js +1 -1
- package/lib/cdk/integration-test-base.js +17 -3
- package/lib/cdk/jsii-build.js +10 -4
- package/lib/cdk/jsii-docgen.js +1 -1
- package/lib/cdk/jsii-project.d.ts +2 -4
- package/lib/cdk/jsii-project.js +10 -11
- 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 +3 -3
- package/lib/cdktf/cdktf-construct.js +1 -1
- package/lib/cdktn/cdktn-app-ts.js +1 -1
- package/lib/cdktn/cdktn-config.js +1 -1
- package/lib/cdktn/cdktn-construct.js +1 -1
- package/lib/cdktn/cdktn-deps.js +1 -1
- package/lib/cdktn/cdktn-tasks.js +1 -1
- package/lib/circleci/circleci.js +1 -1
- package/lib/cleanup.js +6 -33
- package/lib/cli/task-runtime.js +30 -8
- package/lib/clobber.js +11 -6
- package/lib/component.js +2 -2
- 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.d.ts +2 -15
- package/lib/github/auto-approve.js +3 -4
- package/lib/github/auto-merge.js +1 -1
- package/lib/github/auto-queue.d.ts +2 -6
- package/lib/github/auto-queue.js +3 -3
- package/lib/github/dependabot.js +1 -1
- package/lib/github/dependency-review.d.ts +2 -12
- package/lib/github/dependency-review.js +3 -4
- package/lib/github/github-credentials.js +1 -1
- package/lib/github/github-project.js +1 -1
- package/lib/github/github.d.ts +26 -0
- package/lib/github/github.js +17 -2
- 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/private/util.d.ts +0 -2
- package/lib/github/private/util.js +1 -13
- package/lib/github/pull-request-backport.d.ts +2 -1
- package/lib/github/pull-request-backport.js +3 -3
- package/lib/github/pull-request-lint.d.ts +2 -15
- package/lib/github/pull-request-lint.js +4 -5
- package/lib/github/stale.d.ts +2 -15
- package/lib/github/stale.js +3 -4
- package/lib/github/task-workflow-job.js +4 -4
- package/lib/github/task-workflow.js +1 -1
- package/lib/github/workflow-actions.js +4 -3
- 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.d.ts +6 -0
- package/lib/gitpod.js +2 -2
- 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 +8 -3
- package/lib/java/maven-sample.js +1 -1
- package/lib/java/pom.js +2 -2
- package/lib/java/projenrc.js +13 -4
- package/lib/javascript/biome/biome.js +9 -4
- package/lib/javascript/bundler.d.ts +8 -0
- package/lib/javascript/bundler.js +13 -13
- package/lib/javascript/eslint.d.ts +7 -0
- package/lib/javascript/eslint.js +14 -11
- package/lib/javascript/jest.d.ts +8 -0
- package/lib/javascript/jest.js +17 -11
- package/lib/javascript/license-checker.js +1 -1
- package/lib/javascript/node-package.d.ts +1 -1
- package/lib/javascript/node-package.js +32 -15
- package/lib/javascript/node-project.js +38 -25
- package/lib/javascript/npm-config.js +1 -1
- package/lib/javascript/pnpm-workspace-config.js +2 -2
- package/lib/javascript/pnpm-workspace.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 +9 -6
- 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.d.ts +2 -0
- package/lib/makefile.js +2 -2
- package/lib/object-file.js +1 -1
- package/lib/project-build.js +1 -1
- package/lib/project-tree.js +1 -1
- package/lib/project.d.ts +4 -0
- package/lib/project.js +2 -2
- 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 +7 -4
- 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.d.ts +5 -2
- package/lib/python/pytest.js +9 -8
- 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 +10 -4
- package/lib/python/uv-config.js +1 -1
- package/lib/python/uv.js +3 -3
- package/lib/python/venv.js +1 -1
- package/lib/readme.js +1 -1
- package/lib/release/publisher.d.ts +5 -0
- package/lib/release/publisher.js +90 -37
- package/lib/release/release-trigger.d.ts +10 -0
- package/lib/release/release-trigger.js +7 -2
- package/lib/release/release.d.ts +17 -2
- package/lib/release/release.js +16 -10
- package/lib/renovatebot.js +1 -1
- package/lib/run-task.cjs +13 -4
- package/lib/runner-options.d.ts +34 -0
- package/lib/runner-options.js +1 -1
- package/lib/sample-file.js +2 -2
- package/lib/script-runner.js +1 -1
- package/lib/source-code.js +1 -1
- package/lib/task-model.d.ts +3 -3
- package/lib/task-model.js +1 -1
- package/lib/task-shell.d.ts +3 -0
- package/lib/task-shell.js +5 -2
- package/lib/task.d.ts +4 -0
- package/lib/task.js +2 -2
- 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.js +1 -1
- package/lib/typescript/typescript-runner.js +1 -1
- package/lib/typescript/typescript-typedoc.js +1 -1
- package/lib/typescript/typescript.js +5 -5
- package/lib/util/dax.d.ts +12 -1
- package/lib/util/dax.js +17 -4
- package/lib/util/path.d.ts +39 -0
- package/lib/util/path.js +90 -1
- 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 +1 -1
- package/BREAKING_CHANGES.md +0 -855
package/lib/util/path.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ensureRelativePathStartsWithDot = ensureRelativePathStartsWithDot;
|
|
4
|
+
exports.isHiddenPath = isHiddenPath;
|
|
5
|
+
exports.ensureNotHiddenPath = ensureNotHiddenPath;
|
|
6
|
+
exports.isPathInside = isPathInside;
|
|
7
|
+
exports.realpathOfClosestExisting = realpathOfClosestExisting;
|
|
8
|
+
exports.ensurePathInsideProject = ensurePathInsideProject;
|
|
9
|
+
const node_fs_1 = require("node:fs");
|
|
10
|
+
const node_path_1 = require("node:path");
|
|
4
11
|
/**
|
|
5
12
|
* Helper function to format a path as dot notation regardless of how it
|
|
6
13
|
* was handed in.
|
|
@@ -17,4 +24,86 @@ function ensureRelativePathStartsWithDot(path) {
|
|
|
17
24
|
}
|
|
18
25
|
return `./${path}`;
|
|
19
26
|
}
|
|
20
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Checks if part of the file path is hidden
|
|
29
|
+
*/
|
|
30
|
+
function isHiddenPath(path) {
|
|
31
|
+
return /(^|\/)\.[^\/\.]/g.test(path);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Helper to assert a path is not hidden
|
|
35
|
+
*/
|
|
36
|
+
function ensureNotHiddenPath(value, name) {
|
|
37
|
+
if (isHiddenPath(value)) {
|
|
38
|
+
throw Error(`${name} cannot be a hidden path, got: ${value}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Checks if `file` is strictly inside `dir` (the directory itself does not count).
|
|
43
|
+
*
|
|
44
|
+
* Purely lexical: does not consult the filesystem, so symlinks are not
|
|
45
|
+
* resolved. Relative paths are resolved against the current working directory.
|
|
46
|
+
*/
|
|
47
|
+
function isPathInside(dir, file) {
|
|
48
|
+
const rel = (0, node_path_1.relative)(dir, file);
|
|
49
|
+
return (rel !== "" &&
|
|
50
|
+
!rel.startsWith(`..${node_path_1.sep}`) &&
|
|
51
|
+
rel !== ".." &&
|
|
52
|
+
!(0, node_path_1.isAbsolute)(rel));
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Resolves symlinks in `p`, falling back to the closest existing ancestor for
|
|
56
|
+
* paths that do not exist (yet).
|
|
57
|
+
*/
|
|
58
|
+
function realpathOfClosestExisting(p) {
|
|
59
|
+
const missing = new Array();
|
|
60
|
+
let current = (0, node_path_1.resolve)(p);
|
|
61
|
+
while (true) {
|
|
62
|
+
try {
|
|
63
|
+
return (0, node_path_1.join)((0, node_fs_1.realpathSync)(current), ...missing);
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
const parent = (0, node_path_1.dirname)(current);
|
|
67
|
+
if (parent === current) {
|
|
68
|
+
return (0, node_path_1.resolve)(p);
|
|
69
|
+
}
|
|
70
|
+
missing.unshift((0, node_path_1.basename)(current));
|
|
71
|
+
current = parent;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Asserts that a path stays strictly inside a project directory.
|
|
77
|
+
*
|
|
78
|
+
* Use this before passing a user-configurable path to a destructive command
|
|
79
|
+
* (e.g. `rm -fr`): an absolute path or a path traversing outside of the
|
|
80
|
+
* project directory (via `..` or a symlink) could otherwise delete files
|
|
81
|
+
* anywhere on the machine. The project directory itself (`.`) is also
|
|
82
|
+
* rejected.
|
|
83
|
+
*
|
|
84
|
+
* The check resolves both paths on the filesystem (symlinks in existing path
|
|
85
|
+
* segments are followed). The last segment of the path is intentionally kept
|
|
86
|
+
* as-is: a symlink inside the project only affects the link itself.
|
|
87
|
+
*
|
|
88
|
+
* @param value the path to check, relative to the project directory
|
|
89
|
+
* @param name name of the option, used in the error message
|
|
90
|
+
* @param projectDir the project directory the path must stay inside of
|
|
91
|
+
* @throws if the path is absolute or does not stay inside the project directory
|
|
92
|
+
*/
|
|
93
|
+
function ensurePathInsideProject(value, name, projectDir) {
|
|
94
|
+
if ((0, node_path_1.isAbsolute)(value)) {
|
|
95
|
+
throw new Error(`${name} must be a relative path within the project directory, got absolute path: ${value}`);
|
|
96
|
+
}
|
|
97
|
+
const baseDir = realpathOfClosestExisting(projectDir);
|
|
98
|
+
const resolved = (0, node_path_1.resolve)(baseDir, value);
|
|
99
|
+
if (!isPathInside(baseDir, resolved)) {
|
|
100
|
+
throw new Error(`${name} must be inside the project directory, got: ${value}`);
|
|
101
|
+
}
|
|
102
|
+
// the path might traverse outside of the project through a symlinked
|
|
103
|
+
// directory, which a lexical `resolve` cannot detect
|
|
104
|
+
const realParent = realpathOfClosestExisting((0, node_path_1.dirname)(resolved));
|
|
105
|
+
if (!isPathInside(baseDir, (0, node_path_1.join)(realParent, (0, node_path_1.basename)(resolved)))) {
|
|
106
|
+
throw new Error(`${name} must be inside the project directory, but points outside of it through a symlink, got: ${value}`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL3BhdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFrQkEsMEVBVUM7QUFLRCxvQ0FFQztBQUtELGtEQUlDO0FBUUQsb0NBUUM7QUFNRCw4REFnQkM7QUFvQkQsMERBNEJDO0FBbElELHFDQUF1QztBQUN2Qyx5Q0FRbUI7QUFFbkI7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsK0JBQStCLENBQUMsSUFBWTtJQUMxRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7QUFDckIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLElBQVk7SUFDdkMsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsS0FBYSxFQUFFLElBQVk7SUFDN0QsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixNQUFNLEtBQUssQ0FBQyxHQUFHLElBQUksa0NBQWtDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLFlBQVksQ0FBQyxHQUFXLEVBQUUsSUFBWTtJQUNwRCxNQUFNLEdBQUcsR0FBRyxJQUFBLG9CQUFRLEVBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hDLE9BQU8sQ0FDTCxHQUFHLEtBQUssRUFBRTtRQUNWLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLGVBQUcsRUFBRSxDQUFDO1FBQzNCLEdBQUcsS0FBSyxJQUFJO1FBQ1osQ0FBQyxJQUFBLHNCQUFVLEVBQUMsR0FBRyxDQUFDLENBQ2pCLENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IseUJBQXlCLENBQUMsQ0FBUztJQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO0lBQ3BDLElBQUksT0FBTyxHQUFHLElBQUEsbUJBQU8sRUFBQyxDQUFDLENBQUMsQ0FBQztJQUV6QixPQUFPLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDO1lBQ0gsT0FBTyxJQUFBLGdCQUFJLEVBQUMsSUFBQSxzQkFBWSxFQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLE1BQU0sTUFBTSxHQUFHLElBQUEsbUJBQU8sRUFBQyxPQUFPLENBQUMsQ0FBQztZQUNoQyxJQUFJLE1BQU0sS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxJQUFBLG1CQUFPLEVBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEIsQ0FBQztZQUNELE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBQSxvQkFBUSxFQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDbkMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxTQUFnQix1QkFBdUIsQ0FDckMsS0FBYSxFQUNiLElBQVksRUFDWixVQUFrQjtJQUVsQixJQUFJLElBQUEsc0JBQVUsRUFBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQ2IsR0FBRyxJQUFJLDZFQUE2RSxLQUFLLEVBQUUsQ0FDNUYsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0RCxNQUFNLFFBQVEsR0FBRyxJQUFBLG1CQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRXpDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDckMsTUFBTSxJQUFJLEtBQUssQ0FDYixHQUFHLElBQUksK0NBQStDLEtBQUssRUFBRSxDQUM5RCxDQUFDO0lBQ0osQ0FBQztJQUVELHFFQUFxRTtJQUNyRSxxREFBcUQ7SUFDckQsTUFBTSxVQUFVLEdBQUcseUJBQXlCLENBQUMsSUFBQSxtQkFBTyxFQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDaEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBQSxnQkFBSSxFQUFDLFVBQVUsRUFBRSxJQUFBLG9CQUFRLEVBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakUsTUFBTSxJQUFJLEtBQUssQ0FDYixHQUFHLElBQUksMkZBQTJGLEtBQUssRUFBRSxDQUMxRyxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFscGF0aFN5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHtcbiAgYmFzZW5hbWUsXG4gIGRpcm5hbWUsXG4gIGlzQWJzb2x1dGUsXG4gIGpvaW4sXG4gIHJlbGF0aXZlLFxuICByZXNvbHZlLFxuICBzZXAsXG59IGZyb20gXCJub2RlOnBhdGhcIjtcblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gZm9ybWF0IGEgcGF0aCBhcyBkb3Qgbm90YXRpb24gcmVnYXJkbGVzcyBvZiBob3cgaXRcbiAqIHdhcyBoYW5kZWQgaW4uXG4gKlxuICogQHBhcmFtIHBhdGggLSBjYW4gYmUgZm9ybWF0dGVkIGFzIFwicGF0aFwiLCBcIi4vcGF0aFwiIChidXQgbm90IFwiL3BhdGhcIiwgYXMgaXQgaXMgYWJzb2x1dGUpXG4gKiBAcmV0dXJucyBcIi4vcGF0aFwiXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVSZWxhdGl2ZVBhdGhTdGFydHNXaXRoRG90KHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChwYXRoLnN0YXJ0c1dpdGgoXCIuXCIpKSB7XG4gICAgcmV0dXJuIHBhdGg7XG4gIH1cblxuICBpZiAocGF0aC5zdGFydHNXaXRoKFwiL1wiKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgUGF0aCAke3BhdGh9IG11c3QgYmUgcmVsYXRpdmVgKTtcbiAgfVxuXG4gIHJldHVybiBgLi8ke3BhdGh9YDtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgcGFydCBvZiB0aGUgZmlsZSBwYXRoIGlzIGhpZGRlblxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNIaWRkZW5QYXRoKHBhdGg6IHN0cmluZykge1xuICByZXR1cm4gLyhefFxcLylcXC5bXlxcL1xcLl0vZy50ZXN0KHBhdGgpO1xufVxuXG4vKipcbiAqIEhlbHBlciB0byBhc3NlcnQgYSBwYXRoIGlzIG5vdCBoaWRkZW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZU5vdEhpZGRlblBhdGgodmFsdWU6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0hpZGRlblBhdGgodmFsdWUpKSB7XG4gICAgdGhyb3cgRXJyb3IoYCR7bmFtZX0gY2Fubm90IGJlIGEgaGlkZGVuIHBhdGgsIGdvdDogJHt2YWx1ZX1gKTtcbiAgfVxufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgZmlsZWAgaXMgc3RyaWN0bHkgaW5zaWRlIGBkaXJgICh0aGUgZGlyZWN0b3J5IGl0c2VsZiBkb2VzIG5vdCBjb3VudCkuXG4gKlxuICogUHVyZWx5IGxleGljYWw6IGRvZXMgbm90IGNvbnN1bHQgdGhlIGZpbGVzeXN0ZW0sIHNvIHN5bWxpbmtzIGFyZSBub3RcbiAqIHJlc29sdmVkLiBSZWxhdGl2ZSBwYXRocyBhcmUgcmVzb2x2ZWQgYWdhaW5zdCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUGF0aEluc2lkZShkaXI6IHN0cmluZywgZmlsZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHJlbCA9IHJlbGF0aXZlKGRpciwgZmlsZSk7XG4gIHJldHVybiAoXG4gICAgcmVsICE9PSBcIlwiICYmXG4gICAgIXJlbC5zdGFydHNXaXRoKGAuLiR7c2VwfWApICYmXG4gICAgcmVsICE9PSBcIi4uXCIgJiZcbiAgICAhaXNBYnNvbHV0ZShyZWwpXG4gICk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgc3ltbGlua3MgaW4gYHBgLCBmYWxsaW5nIGJhY2sgdG8gdGhlIGNsb3Nlc3QgZXhpc3RpbmcgYW5jZXN0b3IgZm9yXG4gKiBwYXRocyB0aGF0IGRvIG5vdCBleGlzdCAoeWV0KS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWxwYXRoT2ZDbG9zZXN0RXhpc3RpbmcocDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbWlzc2luZyA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG4gIGxldCBjdXJyZW50ID0gcmVzb2x2ZShwKTtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gam9pbihyZWFscGF0aFN5bmMoY3VycmVudCksIC4uLm1pc3NpbmcpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgY29uc3QgcGFyZW50ID0gZGlybmFtZShjdXJyZW50KTtcbiAgICAgIGlmIChwYXJlbnQgPT09IGN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmUocCk7XG4gICAgICB9XG4gICAgICBtaXNzaW5nLnVuc2hpZnQoYmFzZW5hbWUoY3VycmVudCkpO1xuICAgICAgY3VycmVudCA9IHBhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBc3NlcnRzIHRoYXQgYSBwYXRoIHN0YXlzIHN0cmljdGx5IGluc2lkZSBhIHByb2plY3QgZGlyZWN0b3J5LlxuICpcbiAqIFVzZSB0aGlzIGJlZm9yZSBwYXNzaW5nIGEgdXNlci1jb25maWd1cmFibGUgcGF0aCB0byBhIGRlc3RydWN0aXZlIGNvbW1hbmRcbiAqIChlLmcuIGBybSAtZnJgKTogYW4gYWJzb2x1dGUgcGF0aCBvciBhIHBhdGggdHJhdmVyc2luZyBvdXRzaWRlIG9mIHRoZVxuICogcHJvamVjdCBkaXJlY3RvcnkgKHZpYSBgLi5gIG9yIGEgc3ltbGluaykgY291bGQgb3RoZXJ3aXNlIGRlbGV0ZSBmaWxlc1xuICogYW55d2hlcmUgb24gdGhlIG1hY2hpbmUuIFRoZSBwcm9qZWN0IGRpcmVjdG9yeSBpdHNlbGYgKGAuYCkgaXMgYWxzb1xuICogcmVqZWN0ZWQuXG4gKlxuICogVGhlIGNoZWNrIHJlc29sdmVzIGJvdGggcGF0aHMgb24gdGhlIGZpbGVzeXN0ZW0gKHN5bWxpbmtzIGluIGV4aXN0aW5nIHBhdGhcbiAqIHNlZ21lbnRzIGFyZSBmb2xsb3dlZCkuIFRoZSBsYXN0IHNlZ21lbnQgb2YgdGhlIHBhdGggaXMgaW50ZW50aW9uYWxseSBrZXB0XG4gKiBhcy1pczogYSBzeW1saW5rIGluc2lkZSB0aGUgcHJvamVjdCBvbmx5IGFmZmVjdHMgdGhlIGxpbmsgaXRzZWxmLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSB0aGUgcGF0aCB0byBjaGVjaywgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgZGlyZWN0b3J5XG4gKiBAcGFyYW0gbmFtZSBuYW1lIG9mIHRoZSBvcHRpb24sIHVzZWQgaW4gdGhlIGVycm9yIG1lc3NhZ2VcbiAqIEBwYXJhbSBwcm9qZWN0RGlyIHRoZSBwcm9qZWN0IGRpcmVjdG9yeSB0aGUgcGF0aCBtdXN0IHN0YXkgaW5zaWRlIG9mXG4gKiBAdGhyb3dzIGlmIHRoZSBwYXRoIGlzIGFic29sdXRlIG9yIGRvZXMgbm90IHN0YXkgaW5zaWRlIHRoZSBwcm9qZWN0IGRpcmVjdG9yeVxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlUGF0aEluc2lkZVByb2plY3QoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgcHJvamVjdERpcjogc3RyaW5nLFxuKSB7XG4gIGlmIChpc0Fic29sdXRlKHZhbHVlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGAke25hbWV9IG11c3QgYmUgYSByZWxhdGl2ZSBwYXRoIHdpdGhpbiB0aGUgcHJvamVjdCBkaXJlY3RvcnksIGdvdCBhYnNvbHV0ZSBwYXRoOiAke3ZhbHVlfWAsXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGJhc2VEaXIgPSByZWFscGF0aE9mQ2xvc2VzdEV4aXN0aW5nKHByb2plY3REaXIpO1xuICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmUoYmFzZURpciwgdmFsdWUpO1xuXG4gIGlmICghaXNQYXRoSW5zaWRlKGJhc2VEaXIsIHJlc29sdmVkKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGAke25hbWV9IG11c3QgYmUgaW5zaWRlIHRoZSBwcm9qZWN0IGRpcmVjdG9yeSwgZ290OiAke3ZhbHVlfWAsXG4gICAgKTtcbiAgfVxuXG4gIC8vIHRoZSBwYXRoIG1pZ2h0IHRyYXZlcnNlIG91dHNpZGUgb2YgdGhlIHByb2plY3QgdGhyb3VnaCBhIHN5bWxpbmtlZFxuICAvLyBkaXJlY3RvcnksIHdoaWNoIGEgbGV4aWNhbCBgcmVzb2x2ZWAgY2Fubm90IGRldGVjdFxuICBjb25zdCByZWFsUGFyZW50ID0gcmVhbHBhdGhPZkNsb3Nlc3RFeGlzdGluZyhkaXJuYW1lKHJlc29sdmVkKSk7XG4gIGlmICghaXNQYXRoSW5zaWRlKGJhc2VEaXIsIGpvaW4ocmVhbFBhcmVudCwgYmFzZW5hbWUocmVzb2x2ZWQpKSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgJHtuYW1lfSBtdXN0IGJlIGluc2lkZSB0aGUgcHJvamVjdCBkaXJlY3RvcnksIGJ1dCBwb2ludHMgb3V0c2lkZSBvZiBpdCB0aHJvdWdoIGEgc3ltbGluaywgZ290OiAke3ZhbHVlfWAsXG4gICAgKTtcbiAgfVxufVxuIl19
|
package/lib/version.js
CHANGED
|
@@ -40,7 +40,7 @@ exports.CHANGES_SINCE_LAST_RELEASE = 'git log --oneline -1 | grep -v "chore(rele
|
|
|
40
40
|
*/
|
|
41
41
|
const COMMIT_AND_TAG_VERSION_DEFAULT = "commit-and-tag-version@^12";
|
|
42
42
|
class Version extends component_1.Component {
|
|
43
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Version", version: "0.
|
|
43
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Version", version: "0.103.1" };
|
|
44
44
|
bumpTask;
|
|
45
45
|
unbumpTask;
|
|
46
46
|
/**
|
|
@@ -195,7 +195,7 @@ exports.Version = Version;
|
|
|
195
195
|
*/
|
|
196
196
|
class ReleasableCommits {
|
|
197
197
|
cmd;
|
|
198
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ReleasableCommits", version: "0.
|
|
198
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ReleasableCommits", version: "0.103.1" };
|
|
199
199
|
/**
|
|
200
200
|
* Release every commit
|
|
201
201
|
*
|
|
@@ -13,7 +13,7 @@ const DEVCONTAINER_FILE = ".devcontainer.json";
|
|
|
13
13
|
* codespaces.
|
|
14
14
|
*/
|
|
15
15
|
class DevContainer extends component_1.Component {
|
|
16
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.vscode.DevContainer", version: "0.
|
|
16
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.vscode.DevContainer", version: "0.103.1" };
|
|
17
17
|
dockerImage;
|
|
18
18
|
postCreateTasks;
|
|
19
19
|
ports;
|
package/lib/vscode/extensions.js
CHANGED
|
@@ -9,7 +9,7 @@ const json_1 = require("../json");
|
|
|
9
9
|
* Source: https://code.visualstudio.com/docs/editor/extension-marketplace#_workspace-recommended-extensions
|
|
10
10
|
*/
|
|
11
11
|
class VsCodeRecommendedExtensions extends component_1.Component {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.vscode.VsCodeRecommendedExtensions", version: "0.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.vscode.VsCodeRecommendedExtensions", version: "0.103.1" };
|
|
13
13
|
/**
|
|
14
14
|
* List of extensions which should be recommended for users of this workspace.
|
|
15
15
|
* The identifier of an extension is always '${publisher}.${name}'. For example: 'ms-python.python'.
|
|
@@ -28,7 +28,7 @@ var InternalConsoleOptions;
|
|
|
28
28
|
* VSCode launch configuration file (launch.json), useful for enabling in-editor debugger
|
|
29
29
|
*/
|
|
30
30
|
class VsCodeLaunchConfig extends component_1.Component {
|
|
31
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.vscode.VsCodeLaunchConfig", version: "0.
|
|
31
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.vscode.VsCodeLaunchConfig", version: "0.103.1" };
|
|
32
32
|
static renderLaunchConfig(cfg) {
|
|
33
33
|
if (!cfg.env) {
|
|
34
34
|
return cfg;
|
package/lib/vscode/settings.js
CHANGED
|
@@ -9,7 +9,7 @@ const json_1 = require("../json");
|
|
|
9
9
|
* Source: https://code.visualstudio.com/docs/getstarted/settings#_workspace-settings
|
|
10
10
|
*/
|
|
11
11
|
class VsCodeSettings extends component_1.Component {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.vscode.VsCodeSettings", version: "0.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.vscode.VsCodeSettings", version: "0.103.1" };
|
|
13
13
|
content;
|
|
14
14
|
file;
|
|
15
15
|
constructor(vscode) {
|
package/lib/vscode/vscode.js
CHANGED
|
@@ -7,7 +7,7 @@ const launch_config_1 = require("./launch-config");
|
|
|
7
7
|
const settings_1 = require("./settings");
|
|
8
8
|
const component_1 = require("../component");
|
|
9
9
|
class VsCode extends component_1.Component {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.vscode.VsCode", version: "0.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.vscode.VsCode", version: "0.103.1" };
|
|
11
11
|
_launchConfig;
|
|
12
12
|
_settings;
|
|
13
13
|
_extensions;
|
package/lib/web/next.js
CHANGED
|
@@ -15,7 +15,7 @@ const MINIMUM_NEXT_JS_NODE_VERSION = "16.14.0"; // https://nextjs.org/docs/pages
|
|
|
15
15
|
* @pjid nextjs
|
|
16
16
|
*/
|
|
17
17
|
class NextJsProject extends javascript_1.NodeProject {
|
|
18
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.web.NextJsProject", version: "0.
|
|
18
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.web.NextJsProject", version: "0.103.1" };
|
|
19
19
|
/**
|
|
20
20
|
* The directory in which source files reside.
|
|
21
21
|
*/
|
|
@@ -59,7 +59,7 @@ exports.NextJsProject = NextJsProject;
|
|
|
59
59
|
* @pjid nextjs-ts
|
|
60
60
|
*/
|
|
61
61
|
class NextJsTypeScriptProject extends typescript_1.TypeScriptAppProject {
|
|
62
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.web.NextJsTypeScriptProject", version: "0.
|
|
62
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.web.NextJsTypeScriptProject", version: "0.103.1" };
|
|
63
63
|
/**
|
|
64
64
|
* The directory in which source files reside.
|
|
65
65
|
*/
|
|
@@ -150,7 +150,7 @@ class NextJsTypeScriptProject extends typescript_1.TypeScriptAppProject {
|
|
|
150
150
|
}
|
|
151
151
|
exports.NextJsTypeScriptProject = NextJsTypeScriptProject;
|
|
152
152
|
class NextComponent extends component_1.Component {
|
|
153
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.web.NextComponent", version: "0.
|
|
153
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.web.NextComponent", version: "0.103.1" };
|
|
154
154
|
typescript;
|
|
155
155
|
tailwind;
|
|
156
156
|
constructor(project, options) {
|
package/lib/web/postcss.js
CHANGED
|
@@ -8,7 +8,7 @@ const json_1 = require("../json");
|
|
|
8
8
|
* Declares a PostCSS dependency with a default config file.
|
|
9
9
|
*/
|
|
10
10
|
class PostCss {
|
|
11
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.web.PostCss", version: "0.
|
|
11
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.web.PostCss", version: "0.103.1" };
|
|
12
12
|
fileName;
|
|
13
13
|
file;
|
|
14
14
|
tailwind;
|
package/lib/web/react.js
CHANGED
|
@@ -48,7 +48,7 @@ const util_1 = require("../util");
|
|
|
48
48
|
* @pjid react
|
|
49
49
|
*/
|
|
50
50
|
class ReactProject extends javascript_1.NodeProject {
|
|
51
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.web.ReactProject", version: "0.
|
|
51
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.web.ReactProject", version: "0.103.1" };
|
|
52
52
|
/**
|
|
53
53
|
* The directory in which source files reside.
|
|
54
54
|
* @default "src"
|
|
@@ -80,7 +80,7 @@ exports.ReactProject = ReactProject;
|
|
|
80
80
|
* @pjid react-ts
|
|
81
81
|
*/
|
|
82
82
|
class ReactTypeScriptProject extends typescript_1.TypeScriptAppProject {
|
|
83
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.web.ReactTypeScriptProject", version: "0.
|
|
83
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.web.ReactTypeScriptProject", version: "0.103.1" };
|
|
84
84
|
/**
|
|
85
85
|
* The directory in which source files reside.
|
|
86
86
|
*/
|
|
@@ -147,7 +147,7 @@ class ReactTypeScriptProject extends typescript_1.TypeScriptAppProject {
|
|
|
147
147
|
}
|
|
148
148
|
exports.ReactTypeScriptProject = ReactTypeScriptProject;
|
|
149
149
|
class ReactComponent extends component_1.Component {
|
|
150
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.web.ReactComponent", version: "0.
|
|
150
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.web.ReactComponent", version: "0.103.1" };
|
|
151
151
|
typescript;
|
|
152
152
|
constructor(project, options) {
|
|
153
153
|
super(project);
|
package/lib/web/tailwind.js
CHANGED
|
@@ -12,7 +12,7 @@ const json_1 = require("../json");
|
|
|
12
12
|
* @see PostCss
|
|
13
13
|
*/
|
|
14
14
|
class TailwindConfig {
|
|
15
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.web.TailwindConfig", version: "0.
|
|
15
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.web.TailwindConfig", version: "0.103.1" };
|
|
16
16
|
fileName;
|
|
17
17
|
file;
|
|
18
18
|
constructor(project, options) {
|
package/lib/xmlfile.js
CHANGED
|
@@ -11,7 +11,7 @@ const object_file_1 = require("./object-file");
|
|
|
11
11
|
* @see https://www.npmjs.com/package/xml
|
|
12
12
|
*/
|
|
13
13
|
class XmlFile extends object_file_1.ObjectFile {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.XmlFile", version: "0.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.XmlFile", version: "0.103.1" };
|
|
15
15
|
constructor(project, filePath, options = {}) {
|
|
16
16
|
super(project, filePath, options);
|
|
17
17
|
}
|
package/lib/yaml.js
CHANGED
|
@@ -41,7 +41,7 @@ const object_file_1 = require("./object-file");
|
|
|
41
41
|
* Represents a YAML file.
|
|
42
42
|
*/
|
|
43
43
|
class YamlFile extends object_file_1.ObjectFile {
|
|
44
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.YamlFile", version: "0.
|
|
44
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.YamlFile", version: "0.103.1" };
|
|
45
45
|
/**
|
|
46
46
|
* Maximum line width (set to 0 to disable folding).
|
|
47
47
|
*/
|