@nstudio/schematics
Version:
Cross-platform (xplat) tools for Nx workspaces.
49 lines • 2.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const schematics_1 = require("@angular-devkit/schematics");
const path_1 = require("path");
const fs = require("fs");
const utils_1 = require("../../utils");
function updateElectronApps(tree, context) {
const appsDir = tree.getDir('apps');
const appFolders = appsDir.subdirs;
const cwd = process.cwd();
const tsConfigPath = path_1.join(cwd, 'node_modules/@nstudio/schematics/src/app.electron/_files/tsconfig.json');
// console.log('tsConfigPath:', tsConfigPath);
const tsConfig = fs.readFileSync(tsConfigPath, 'UTF-8');
// console.log('tsConfig:',tsConfig);
// update electron apps
for (const dir of appFolders) {
// console.log(dir);
if (dir.indexOf('electron-') === 0 || dir.indexOf('-electron') > -1) {
const appDir = `${appsDir.path}/${dir}`;
// console.log('appDir:', appDir);
utils_1.createOrUpdate(tree, `${appDir}/tsconfig.json`, tsConfig);
}
}
return tree;
}
function updateRootPackage(tree, context) {
return utils_1.updateJsonInTree("package.json", json => {
json.scripts = json.scripts || {};
json.dependencies = json.dependencies || {};
const angularVersion = json.dependencies['@angular/core'];
// electron dep check looks for @angular/http so adding to make sure not a problem
json.dependencies = Object.assign({}, json.dependencies, { "@angular/http": angularVersion });
json.devDependencies = json.devDependencies || {};
json.devDependencies = Object.assign({}, json.devDependencies, { "electron": "^4.0.5", "electron-builder": "^20.38.4", "electron-rebuild": "~1.8.4", "electron-installer-dmg": "~2.0.0", "electron-packager": "~13.1.0", "electron-reload": "~1.4.0", "electron-store": "~2.0.0", "electron-updater": "~4.0.6", "wait-on": "~3.2.0" });
const appsDir = tree.getDir('apps');
const appFolders = appsDir.subdirs;
for (const dir of appFolders) {
if (dir.indexOf('electron-') === 0 || dir.indexOf('-electron') > -1) {
json.scripts[`postinstall`] = `electron-rebuild install-app-deps`;
}
}
return json;
})(tree, context);
}
function default_1() {
return schematics_1.chain([updateElectronApps, updateRootPackage]);
}
exports.default = default_1;
//# sourceMappingURL=update-7-3-1.js.map