@o3r/core
Version:
Core of the Otter Framework
47 lines • 1.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const fs = require("node:fs");
const path = require("node:path");
const architect_1 = require("@angular-devkit/architect");
const utils_1 = require("../utils");
tslib_1.__exportStar(require("./schema"), exports);
const PACKAGE_JSON_NOT_FOUND = {
error: 'package.json not found',
success: false
};
const PACKAGE_JSON_INCORRECT = {
error: 'package.json incorrect',
success: false
};
/** Maximum number of steps */
const STEP_NUMBER = 2;
exports.default = (0, architect_1.createBuilder)((0, utils_1.createBuilderWithMetricsIfInstalled)(async (options, context) => {
context.reportRunning();
context.reportProgress(1, STEP_NUMBER, 'Find current version');
const packageJsonFile = path.resolve(context.workspaceRoot, 'package.json');
if (!fs.existsSync(packageJsonFile)) {
return PACKAGE_JSON_NOT_FOUND;
}
const packageJson = await fs.promises.readFile(packageJsonFile, { encoding: 'utf8' });
let version;
try {
version = JSON.parse(packageJson).version;
context.logger.info(`Current version: ${version}`);
}
catch {
return PACKAGE_JSON_INCORRECT;
}
context.reportProgress(2, STEP_NUMBER, 'Running @o3r/core:pattern-replacement');
const builderName = '@o3r/core:pattern-replacement';
const buildOptions = await context.validateOptions({
files: [options.file],
searchValue: options.versionToReplace,
replaceValue: version
}, builderName);
const build = await context.scheduleBuilder(builderName, buildOptions);
// Stop pattern-replacement build if app-version stops
context.addTeardown(async () => await build.stop());
return build.result;
}));
//# sourceMappingURL=index.js.map