You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.7 KiB
44 lines
1.7 KiB
"use strict";
|
|
// Copyright 2022 Google Inc. Use of this source code is governed by an
|
|
// MIT-style license that can be found in the LICENSE file or at
|
|
// https://opensource.org/licenses/MIT.
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getLanguageRepo = getLanguageRepo;
|
|
const p = require("path");
|
|
const shell = require("shelljs");
|
|
const utils = require("./utils");
|
|
/**
|
|
* Downloads the Sass language repo and buids the Embedded Sass protocol
|
|
* definition.
|
|
*
|
|
* Can check out and build the source from a Git `ref` or build from the source
|
|
* at `path`. By default, checks out the latest revision from GitHub.
|
|
*/
|
|
async function getLanguageRepo(outPath, options) {
|
|
var _a;
|
|
if (!options || 'ref' in options) {
|
|
utils.fetchRepo({
|
|
repo: 'sass',
|
|
outPath: utils.BUILD_PATH,
|
|
ref: (_a = options === null || options === void 0 ? void 0 : options.ref) !== null && _a !== void 0 ? _a : 'main',
|
|
});
|
|
}
|
|
else {
|
|
await utils.cleanDir('build/sass');
|
|
await utils.link(options.path, 'build/sass');
|
|
}
|
|
// Workaround for https://github.com/shelljs/shelljs/issues/198
|
|
// This file is a symlink which gets messed up by `shell.cp` (called from
|
|
// `utils.link`) on Windows.
|
|
if (process.platform === 'win32')
|
|
shell.rm('build/sass/spec/README.md');
|
|
await utils.link('build/sass/js-api-doc', p.join(outPath, 'sass'));
|
|
buildEmbeddedProtocol();
|
|
}
|
|
// Builds the embedded proto into a TS file.
|
|
function buildEmbeddedProtocol() {
|
|
const version = shell.exec('npx buf --version', { silent: true }).stdout.trim();
|
|
console.log(`Building TS with buf ${version}.`);
|
|
shell.exec('npx buf generate');
|
|
}
|
|
//# sourceMappingURL=get-language-repo.js.map
|