UNPKG

projen

Version:

CDK for software projects

59 lines 6.16 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.VsCodeRecommendedExtensions = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const component_1 = require("../component"); const json_1 = require("../json"); /** * VS Code Workspace recommended extensions * Source: https://code.visualstudio.com/docs/editor/extension-marketplace#_workspace-recommended-extensions */ class VsCodeRecommendedExtensions extends component_1.Component { constructor(vscode) { super(vscode.project); /** * List of extensions which should be recommended for users of this workspace. * The identifier of an extension is always '${publisher}.${name}'. For example: 'ms-python.python'. * * @default - no recommendations are made */ this.recommendations = []; /** * List of extensions recommended by VS Code that should not be recommended for users of this workspace. * The identifier of an extension is always '${publisher}.${name}'. For example: 'ms-python.python'. * * @default - no recommendations are marked unwanted */ this.unwantedRecommendations = []; this.file = new json_1.JsonFile(vscode.project, ".vscode/extensions.json", { omitEmpty: true, allowComments: true, obj: { recommendations: this.recommendations, unwantedRecommendations: this.unwantedRecommendations, }, }); } /** * Adds a list of VS Code extensions as recommendations for this workspace. * * @param extensions The extension IDs */ addRecommendations(...extensions) { this.recommendations.push(...extensions); } /** * Marks a list of VS Code extensions as unwanted recommendations for this workspace. * VS Code should not be recommend these extensions for users of this workspace. * * @param extensions The extension IDs */ addUnwantedRecommendations(...extensions) { this.unwantedRecommendations.push(...extensions); } } exports.VsCodeRecommendedExtensions = VsCodeRecommendedExtensions; _a = JSII_RTTI_SYMBOL_1; VsCodeRecommendedExtensions[_a] = { fqn: "projen.vscode.VsCodeRecommendedExtensions", version: "0.99.51" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92c2NvZGUvZXh0ZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLDRDQUF5QztBQUN6QyxrQ0FBbUM7QUFFbkM7OztHQUdHO0FBQ0gsTUFBYSwyQkFBNEIsU0FBUSxxQkFBUztJQW1CeEQsWUFBWSxNQUFjO1FBQ3hCLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFuQnhCOzs7OztXQUtHO1FBQ2Msb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFFaEQ7Ozs7O1dBS0c7UUFDYyw0QkFBdUIsR0FBYSxFQUFFLENBQUM7UUFPdEQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGVBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFO1lBQ2xFLFNBQVMsRUFBRSxJQUFJO1lBQ2YsYUFBYSxFQUFFLElBQUk7WUFDbkIsR0FBRyxFQUFFO2dCQUNILGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtnQkFDckMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLHVCQUF1QjthQUN0RDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksa0JBQWtCLENBQUMsR0FBRyxVQUFvQjtRQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLDBCQUEwQixDQUFDLEdBQUcsVUFBb0I7UUFDdkQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7O0FBakRILGtFQWtEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVnNDb2RlIH0gZnJvbSBcIi4vdnNjb2RlXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50XCI7XG5pbXBvcnQgeyBKc29uRmlsZSB9IGZyb20gXCIuLi9qc29uXCI7XG5cbi8qKlxuICogVlMgQ29kZSBXb3Jrc3BhY2UgcmVjb21tZW5kZWQgZXh0ZW5zaW9uc1xuICogU291cmNlOiBodHRwczovL2NvZGUudmlzdWFsc3R1ZGlvLmNvbS9kb2NzL2VkaXRvci9leHRlbnNpb24tbWFya2V0cGxhY2UjX3dvcmtzcGFjZS1yZWNvbW1lbmRlZC1leHRlbnNpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBWc0NvZGVSZWNvbW1lbmRlZEV4dGVuc2lvbnMgZXh0ZW5kcyBDb21wb25lbnQge1xuICAvKipcbiAgICogTGlzdCBvZiBleHRlbnNpb25zIHdoaWNoIHNob3VsZCBiZSByZWNvbW1lbmRlZCBmb3IgdXNlcnMgb2YgdGhpcyB3b3Jrc3BhY2UuXG4gICAqIFRoZSBpZGVudGlmaWVyIG9mIGFuIGV4dGVuc2lvbiBpcyBhbHdheXMgJyR7cHVibGlzaGVyfS4ke25hbWV9Jy4gRm9yIGV4YW1wbGU6ICdtcy1weXRob24ucHl0aG9uJy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyByZWNvbW1lbmRhdGlvbnMgYXJlIG1hZGVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGV4dGVuc2lvbnMgcmVjb21tZW5kZWQgYnkgVlMgQ29kZSB0aGF0IHNob3VsZCBub3QgYmUgcmVjb21tZW5kZWQgZm9yIHVzZXJzIG9mIHRoaXMgd29ya3NwYWNlLlxuICAgKiBUaGUgaWRlbnRpZmllciBvZiBhbiBleHRlbnNpb24gaXMgYWx3YXlzICcke3B1Ymxpc2hlcn0uJHtuYW1lfScuIEZvciBleGFtcGxlOiAnbXMtcHl0aG9uLnB5dGhvbicuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcmVjb21tZW5kYXRpb25zIGFyZSBtYXJrZWQgdW53YW50ZWRcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdW53YW50ZWRSZWNvbW1lbmRhdGlvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgcHVibGljIHJlYWRvbmx5IGZpbGU6IEpzb25GaWxlO1xuXG4gIGNvbnN0cnVjdG9yKHZzY29kZTogVnNDb2RlKSB7XG4gICAgc3VwZXIodnNjb2RlLnByb2plY3QpO1xuXG4gICAgdGhpcy5maWxlID0gbmV3IEpzb25GaWxlKHZzY29kZS5wcm9qZWN0LCBcIi52c2NvZGUvZXh0ZW5zaW9ucy5qc29uXCIsIHtcbiAgICAgIG9taXRFbXB0eTogdHJ1ZSxcbiAgICAgIGFsbG93Q29tbWVudHM6IHRydWUsXG4gICAgICBvYmo6IHtcbiAgICAgICAgcmVjb21tZW5kYXRpb25zOiB0aGlzLnJlY29tbWVuZGF0aW9ucyxcbiAgICAgICAgdW53YW50ZWRSZWNvbW1lbmRhdGlvbnM6IHRoaXMudW53YW50ZWRSZWNvbW1lbmRhdGlvbnMsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBsaXN0IG9mIFZTIENvZGUgZXh0ZW5zaW9ucyBhcyByZWNvbW1lbmRhdGlvbnMgZm9yIHRoaXMgd29ya3NwYWNlLlxuICAgKlxuICAgKiBAcGFyYW0gZXh0ZW5zaW9ucyBUaGUgZXh0ZW5zaW9uIElEc1xuICAgKi9cbiAgcHVibGljIGFkZFJlY29tbWVuZGF0aW9ucyguLi5leHRlbnNpb25zOiBzdHJpbmdbXSkge1xuICAgIHRoaXMucmVjb21tZW5kYXRpb25zLnB1c2goLi4uZXh0ZW5zaW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogTWFya3MgYSBsaXN0IG9mIFZTIENvZGUgZXh0ZW5zaW9ucyBhcyB1bndhbnRlZCByZWNvbW1lbmRhdGlvbnMgZm9yIHRoaXMgd29ya3NwYWNlLlxuICAgKiBWUyBDb2RlIHNob3VsZCBub3QgYmUgcmVjb21tZW5kIHRoZXNlIGV4dGVuc2lvbnMgZm9yIHVzZXJzIG9mIHRoaXMgd29ya3NwYWNlLlxuICAgKlxuICAgKiBAcGFyYW0gZXh0ZW5zaW9ucyBUaGUgZXh0ZW5zaW9uIElEc1xuICAgKi9cbiAgcHVibGljIGFkZFVud2FudGVkUmVjb21tZW5kYXRpb25zKC4uLmV4dGVuc2lvbnM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy51bndhbnRlZFJlY29tbWVuZGF0aW9ucy5wdXNoKC4uLmV4dGVuc2lvbnMpO1xuICB9XG59XG4iXX0=