Jason Jean e06822da7e
chore(repo): update prettier to v2 (#2934)
this is just for the repo, and not the workspace

Co-authored-by: Rares Matei <matei.rar@gmail.com>
2020-04-29 01:09:37 -04:00

67 lines
1.3 KiB
TypeScript

import {
apply,
chain,
mergeWith,
Rule,
template,
url,
} from '@angular-devkit/schematics';
import { addDepsToPackageJson, readJsonInTree } from '@nrwl/workspace';
import ignore from 'ignore';
import { bazelVersion, iBazelVersion } from '../utils/versions';
import { noop } from 'rxjs';
function updateGitIgnore(): Rule {
return (host) => {
if (!host.exists('.gitignore')) {
return;
}
const ig = ignore();
ig.add(host.read('.gitignore').toString());
if (!ig.ignores('bazel-out')) {
const content = `${host
.read('.gitignore')!
.toString('utf-8')
.trimRight()}\nbazel-*\n`;
host.overwrite('.gitignore', content);
}
};
}
const updateDependencies = addDepsToPackageJson(
{},
{
'@bazel/bazel': bazelVersion,
'@bazel/ibazel': iBazelVersion,
},
true
);
function addFiles() {
return (host) => {
if (host.exists('/.bazelrc')) {
return noop;
}
return mergeWith(
apply(url('./files/root'), [
template({
tmpl: '',
}),
])
);
};
}
export default (): Rule => {
return (host) => {
const packageJson = readJsonInTree(host, 'package.json');
return chain([
updateGitIgnore(),
!packageJson.devDependencies['@bazel/bazel'] ? updateDependencies : noop,
addFiles(),
]);
};
};