Files
talk/config/watcher.ts
T
Kiwi 945bd7f2b0 [CORL-367] Speedup scripts & better server development and debugging (#2306)
* feat: speedup scripts & make server development faster

* feat: fix server debugging + allow attaching to a running node process

* feat: make npm run during watch less chatty
2019-05-09 22:08:12 +02:00

149 lines
3.8 KiB
TypeScript

import path from "path";
import {
CommandExecutor,
Config,
LongRunningExecutor,
} from "../scripts/watcher";
const config: Config = {
rootDir: path.resolve(__dirname, "../src"),
watchers: {
generateSchemaTypes: {
paths: ["core/server/**/*.graphql"],
executor: new CommandExecutor("npx gulp server:schema", {
runOnInit: true,
}),
},
generateRelayStream: {
paths: [
"core/client/stream/**/*.ts",
"core/client/stream/**/*.tsx",
"core/client/stream/**/*.graphql",
"core/server/**/*.graphql",
],
ignore: [
"core/**/*.d.ts",
"core/**/*.graphql.ts",
"**/test/**/*",
"core/**/*.spec.*",
],
executor: new CommandExecutor("npm run --silent generate:relay-stream", {
runOnInit: true,
}),
},
generateRelayAdmin: {
paths: [
"core/client/admin/**/*.ts",
"core/client/admin/**/*.tsx",
"core/client/admin/**/*.graphql",
"core/server/**/*.graphql",
],
ignore: [
"core/**/*.d.ts",
"core/**/*.graphql.ts",
"**/test/**/*",
"core/**/*.spec.*",
],
executor: new CommandExecutor("npm run --silent generate:relay-admin", {
runOnInit: true,
}),
},
generateRelayAuth: {
paths: [
"core/client/auth/**/*.ts",
"core/client/auth/**/*.tsx",
"core/client/auth/**/*.graphql",
"core/server/**/*.graphql",
],
ignore: [
"core/**/*.d.ts",
"core/**/*.graphql.ts",
"**/test/**/*",
"core/**/*.spec.*",
],
executor: new CommandExecutor("npm run --silent generate:relay-auth", {
runOnInit: true,
}),
},
generateRelayInstall: {
paths: [
"core/client/install/**/*.ts",
"core/client/install/**/*.tsx",
"core/client/install/**/*.graphql",
"core/server/**/*.graphql",
],
ignore: [
"core/**/*.d.ts",
"core/**/*.graphql.ts",
"**/test/**/*",
"core/**/*.spec.*",
],
executor: new CommandExecutor("npm run --silent generate:relay-install", {
runOnInit: true,
}),
},
generateCSSTypes: {
paths: ["**/*.css"],
executor: new CommandExecutor("npm run --silent generate:css-types", {
runOnInit: true,
}),
},
runServer: {
paths: ["locales/**/*.ftl"],
ignore: ["core/client/**/*"],
executor: new LongRunningExecutor("npm run --silent start:development"),
},
runServerLint: {
paths: ["core/**/*.ts"],
ignore: ["core/client/**/*"],
executor: new LongRunningExecutor("npm run --silent lint:server"),
},
runServerSyntaxCheck: {
paths: ["core/**/*.ts"],
ignore: ["core/client/**/*"],
executor: new LongRunningExecutor("npm run --silent tscheck:server"),
},
runWebpackDevServer: {
paths: [],
executor: new LongRunningExecutor(
"npm run --silent start:webpackDevServer"
),
},
runDocz: {
paths: [],
executor: new LongRunningExecutor("npm run --silent docz -- dev"),
},
},
defaultSet: "client",
sets: {
server: [
"generateSchemaTypes",
"runServer",
"runServerLint",
"runServerSyntaxCheck",
],
client: [
"runServer",
"runServerLint",
"runServerSyntaxCheck",
"runWebpackDevServer",
"generateCSSTypes",
"generateRelayStream",
"generateRelayAuth",
"generateRelayInstall",
"generateRelayAdmin",
"generateSchemaTypes",
],
docz: ["runDocz", "generate"],
generate: [
"generateSchemaTypes",
"generateCSSTypes",
"generateRelayStream",
"generateRelayAuth",
"generateRelayInstall",
],
},
};
export default config;