projen
Version:
CDK for software projects
38 lines • 4.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PnpmWorkspaceYaml = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const component_1 = require("../component");
const yaml_1 = require("../yaml");
const pnpm_workspace_config_1 = require("./pnpm-workspace-config");
/**
* Represents a `pnpm-workspace.yaml` file.
*
* @see https://pnpm.io/pnpm-workspace_yaml
*/
class PnpmWorkspaceYaml extends component_1.Component {
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.PnpmWorkspaceYaml", version: "0.103.12" };
/**
* Returns the `PnpmWorkspaceYaml` instance associated with a project or
* `undefined` if there is none.
*/
static of(project) {
const isIt = (o) => o instanceof PnpmWorkspaceYaml;
return project.components.find(isIt);
}
/**
* The underlying `pnpm-workspace.yaml` file.
*/
file;
constructor(project, options = {}) {
super(project);
this.file = new yaml_1.YamlFile(project, "pnpm-workspace.yaml", {
omitEmpty: true,
obj: () => (0, pnpm_workspace_config_1.toJson_PnpmWorkspaceYamlSchema)(options),
readonly: false,
committed: true,
});
}
}
exports.PnpmWorkspaceYaml = PnpmWorkspaceYaml;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG5wbS13b3Jrc3BhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamF2YXNjcmlwdC9wbnBtLXdvcmtzcGFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsNENBQXlDO0FBRXpDLGtDQUFtQztBQUVuQyxtRUFBeUU7QUFTekU7Ozs7R0FJRztBQUNILE1BQWEsaUJBQWtCLFNBQVEscUJBQVM7O0lBQzlDOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBZ0I7UUFDL0IsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFVLEVBQTBCLEVBQUUsQ0FDbEQsQ0FBQyxZQUFZLGlCQUFpQixDQUFDO1FBQ2pDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ2EsSUFBSSxDQUFXO0lBRS9CLFlBQVksT0FBZ0IsRUFBRSxVQUFvQyxFQUFFO1FBQ2xFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxlQUFRLENBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFO1lBQ3ZELFNBQVMsRUFBRSxJQUFJO1lBQ2YsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUEsc0RBQThCLEVBQUMsT0FBTyxDQUFDO1lBQ2xELFFBQVEsRUFBRSxLQUFLO1lBQ2YsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF6QkgsOENBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4uL3Byb2plY3RcIjtcbmltcG9ydCB7IFlhbWxGaWxlIH0gZnJvbSBcIi4uL3lhbWxcIjtcbmltcG9ydCB0eXBlIHsgUG5wbVdvcmtzcGFjZVlhbWxTY2hlbWEgfSBmcm9tIFwiLi9wbnBtLXdvcmtzcGFjZS1jb25maWdcIjtcbmltcG9ydCB7IHRvSnNvbl9QbnBtV29ya3NwYWNlWWFtbFNjaGVtYSB9IGZyb20gXCIuL3BucG0td29ya3NwYWNlLWNvbmZpZ1wiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBQbnBtV29ya3NwYWNlWWFtbGAuXG4gKlxuICogQHNlZSBodHRwczovL3BucG0uaW8vcG5wbS13b3Jrc3BhY2VfeWFtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBucG1Xb3Jrc3BhY2VZYW1sT3B0aW9ucyBleHRlbmRzIFBucG1Xb3Jrc3BhY2VZYW1sU2NoZW1hIHt9XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGBwbnBtLXdvcmtzcGFjZS55YW1sYCBmaWxlLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9wbnBtLmlvL3BucG0td29ya3NwYWNlX3lhbWxcbiAqL1xuZXhwb3J0IGNsYXNzIFBucG1Xb3Jrc3BhY2VZYW1sIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGBQbnBtV29ya3NwYWNlWWFtbGAgaW5zdGFuY2UgYXNzb2NpYXRlZCB3aXRoIGEgcHJvamVjdCBvclxuICAgKiBgdW5kZWZpbmVkYCBpZiB0aGVyZSBpcyBub25lLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvZihwcm9qZWN0OiBQcm9qZWN0KTogUG5wbVdvcmtzcGFjZVlhbWwgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGlzSXQgPSAobzogdW5rbm93bik6IG8gaXMgUG5wbVdvcmtzcGFjZVlhbWwgPT5cbiAgICAgIG8gaW5zdGFuY2VvZiBQbnBtV29ya3NwYWNlWWFtbDtcbiAgICByZXR1cm4gcHJvamVjdC5jb21wb25lbnRzLmZpbmQoaXNJdCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHVuZGVybHlpbmcgYHBucG0td29ya3NwYWNlLnlhbWxgIGZpbGUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsZTogWWFtbEZpbGU7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogUG5wbVdvcmtzcGFjZVlhbWxPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMuZmlsZSA9IG5ldyBZYW1sRmlsZShwcm9qZWN0LCBcInBucG0td29ya3NwYWNlLnlhbWxcIiwge1xuICAgICAgb21pdEVtcHR5OiB0cnVlLFxuICAgICAgb2JqOiAoKSA9PiB0b0pzb25fUG5wbVdvcmtzcGFjZVlhbWxTY2hlbWEob3B0aW9ucyksXG4gICAgICByZWFkb25seTogZmFsc2UsXG4gICAgICBjb21taXR0ZWQ6IHRydWUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==