Просмотр исходного кода

chore(core): Create dev-mode watch script

Michael Bromley 6 лет назад
Родитель
Сommit
b2db50edf3
3 измененных файлов с 15 добавлено и 4 удалено
  1. 1 0
      package.json
  2. 12 3
      packages/core/build/gulpfile.ts
  3. 2 1
      packages/core/package.json

+ 1 - 0
package.json

@@ -3,6 +3,7 @@
   "version": "0.1.0-alpha.17",
   "private": true,
   "scripts": {
+    "core:watch": "concurrently -n tsc,gulp \"cd packages/core && yarn tsc:watch\" \"cd packages/core && yarn gulp:watch\"",
     "bootstrap": "lerna bootstrap",
     "docs:watch": "concurrently -n docgen,hugo,webpack -c green,blue,cyan \"yarn generate-graphql-docs && yarn generate-typescript-docs -w\" \"cd docs && hugo server\" \"cd docs && yarn webpack -w\"",
     "docs:build": "yarn generate-graphql-docs && yarn generate-typescript-docs && cd docs && yarn webpack --prod && node build.js && hugo",

+ 12 - 3
packages/core/build/gulpfile.ts

@@ -1,17 +1,26 @@
 import { exec } from 'child_process';
 import fs from 'fs-extra';
-import { dest, parallel, series, src } from 'gulp';
+import { dest, parallel, series, src, watch as gulpWatch } from 'gulp';
 import path from 'path';
 
+const SCHEMAS_GLOB = ['../src/**/*.graphql'];
+const MESSAGES_GLOB = ['../src/i18n/messages/**/*'];
+
 function copySchemas() {
-    return src(['../src/**/*.graphql']).pipe(dest('../dist'));
+    return src(SCHEMAS_GLOB).pipe(dest('../dist'));
 }
 
 function copyI18nMessages() {
-    return src(['../src/i18n/messages/**/*']).pipe(dest('../dist/i18n/messages'));
+    return src(MESSAGES_GLOB).pipe(dest('../dist/i18n/messages'));
 }
 
 export const build = parallel(
     copySchemas,
     copyI18nMessages,
 );
+
+export function watch() {
+    const watcher1 = gulpWatch(SCHEMAS_GLOB, copySchemas);
+    const watcher2 = gulpWatch(MESSAGES_GLOB, copyI18nMessages);
+    return new Promise(resolve => {});
+}

+ 2 - 1
packages/core/package.json

@@ -18,7 +18,8 @@
   "scripts": {
     "lint": "tslint --project tsconfig.json -c tslint.json",
     "generate-email-preview": "node -r ts-node/register src/email/preview/generate-email-preview.ts",
-    "watch": "tsc -p ./build/tsconfig.build.json --watch",
+    "tsc:watch": "tsc -p ./build/tsconfig.build.json --watch",
+    "gulp:watch": "gulp -f ./build/gulpfile.ts watch",
     "build": "rimraf dist && tsc -p ./build/tsconfig.build.json && tsc -p ./build/tsconfig.cli.json && gulp -f ./build/gulpfile.ts build",
     "publish:alpha": "yarn build && npm publish --access public --tag alpha"
   },