mirror of
https://github.com/status-im/sourcecred.git
synced 2025-01-10 12:46:16 +00:00
c48597651e
Summary: This commit removes the `config/backend.js` script and replaces it with a direct invocation of Webpack. This enables us to use command-line arguments to Webpack, like `--output-path`. Test Plan: Note that `rm -rf bin; yarn backend` still works, and that the resulting applications work (`node bin/sourcecred.js load`). Note that `yarn test` and `yarn test --full` still work. wchargin-branch: backend-webpack-direct
118 lines
2.5 KiB
JavaScript
118 lines
2.5 KiB
JavaScript
// @flow
|
|
|
|
const tmp = require("tmp");
|
|
|
|
const execDependencyGraph = require("../src/tools/execDependencyGraph");
|
|
|
|
main();
|
|
|
|
function main() {
|
|
const mode =
|
|
process.env["TRAVIS_EVENT_TYPE"] === "cron" ||
|
|
process.argv.includes("--full")
|
|
? "FULL"
|
|
: "BASIC";
|
|
execDependencyGraph(makeTasks(mode)).then(({success}) => {
|
|
process.exitCode = success ? 0 : 1;
|
|
});
|
|
}
|
|
|
|
function makeTasks(mode /*: "BASIC" | "FULL" */) {
|
|
const basicTasks = [
|
|
{
|
|
id: "ensure-flow-typing",
|
|
cmd: ["./scripts/ensure-flow.sh"],
|
|
deps: [],
|
|
},
|
|
{
|
|
// eslint-disable-next-line no-useless-concat
|
|
id: "check-stop" + "ships",
|
|
// eslint-disable-next-line no-useless-concat
|
|
cmd: ["./scripts/check-stop" + "ships.sh"],
|
|
deps: [],
|
|
},
|
|
{
|
|
id: "check-pretty",
|
|
cmd: ["npm", "run", "--silent", "check-pretty"],
|
|
deps: [],
|
|
},
|
|
{
|
|
id: "lint",
|
|
cmd: ["npm", "run", "--silent", "lint"],
|
|
deps: [],
|
|
},
|
|
{
|
|
id: "flow",
|
|
cmd: [
|
|
"npm",
|
|
"run",
|
|
"--silent",
|
|
"flow",
|
|
"--",
|
|
"--quiet",
|
|
"--max-warnings=0",
|
|
],
|
|
deps: [],
|
|
},
|
|
{
|
|
id: "unit",
|
|
cmd: ["npm", "run", "--silent", "unit"],
|
|
deps: [],
|
|
},
|
|
{
|
|
id: {BASIC: "sharness", FULL: "sharness-full"}[mode],
|
|
cmd: [
|
|
"npm",
|
|
"run",
|
|
"--silent",
|
|
{BASIC: "sharness", FULL: "sharness-full"}[mode],
|
|
],
|
|
deps: [],
|
|
},
|
|
{
|
|
id: "backend",
|
|
cmd: [
|
|
"npm",
|
|
"run",
|
|
"--silent",
|
|
"backend",
|
|
"--",
|
|
"--output-path",
|
|
tmp.dirSync({
|
|
unsafeCleanup: true,
|
|
prefix: "sourcecred-backend-dry-run-",
|
|
}).name,
|
|
],
|
|
deps: [],
|
|
},
|
|
];
|
|
const extraTasks = [
|
|
{
|
|
id: "backend-in-place",
|
|
cmd: ["npm", "run", "--silent", "backend"],
|
|
// This task depends on `check-pretty` in order to work around a
|
|
// race condition in Prettier:
|
|
// https://github.com/prettier/prettier/issues/4468
|
|
deps: ["check-pretty"],
|
|
},
|
|
{
|
|
id: "fetchGithubRepoTest",
|
|
cmd: ["./src/plugins/github/fetchGithubRepoTest.sh", "--no-build"],
|
|
deps: ["backend-in-place"],
|
|
},
|
|
{
|
|
id: "loadRepositoryTest",
|
|
cmd: ["./src/plugins/git/loadRepositoryTest.sh", "--no-build"],
|
|
deps: ["backend-in-place"],
|
|
},
|
|
];
|
|
switch (mode) {
|
|
case "BASIC":
|
|
return basicTasks;
|
|
case "FULL":
|
|
return [].concat(basicTasks, extraTasks);
|
|
default:
|
|
/*:: (mode: empty); */ throw new Error(mode);
|
|
}
|
|
}
|