Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
79940cec3f | |||
e20508ffbc | |||
21b962b9a8 | |||
f673e8577b | |||
e4278ed270 | |||
8ae0f960ac | |||
c9a3b996cb | |||
d81d19008a | |||
e4ef6bad8f | |||
2873314742 |
2
package-lock.json
generated
2
package-lock.json
generated
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@gitzone/tswatch",
|
"name": "@gitzone/tswatch",
|
||||||
"version": "1.0.24",
|
"version": "1.0.29",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@gitzone/tswatch",
|
"name": "@gitzone/tswatch",
|
||||||
"version": "1.0.24",
|
"version": "1.0.29",
|
||||||
"private": false,
|
"private": false,
|
||||||
"description": "watch typescript projects during development",
|
"description": "watch typescript projects during development",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
@@ -4,10 +4,6 @@ import * as tswatch from '../ts/index';
|
|||||||
|
|
||||||
let testTsWatchInstance: tswatch.TsWatch;
|
let testTsWatchInstance: tswatch.TsWatch;
|
||||||
|
|
||||||
if (process.env.CI) {
|
|
||||||
process.exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
tap.test('should create a valid TsWatch instance', async () => {
|
tap.test('should create a valid TsWatch instance', async () => {
|
||||||
testTsWatchInstance = new tswatch.TsWatch('echoSomething');
|
testTsWatchInstance = new tswatch.TsWatch('echoSomething');
|
||||||
});
|
});
|
||||||
|
@@ -7,6 +7,7 @@ import { Watcher } from './tswatch.classes.watcher';
|
|||||||
export class TsWatch {
|
export class TsWatch {
|
||||||
public watchmode: interfaces.TWatchModes;
|
public watchmode: interfaces.TWatchModes;
|
||||||
public watcherMap = new plugins.lik.Objectmap<Watcher>();
|
public watcherMap = new plugins.lik.Objectmap<Watcher>();
|
||||||
|
public smartserve: plugins.smartserve.SmartServe;
|
||||||
|
|
||||||
constructor(watchmodeArg: interfaces.TWatchModes) {
|
constructor(watchmodeArg: interfaces.TWatchModes) {
|
||||||
this.watchmode = watchmodeArg;
|
this.watchmode = watchmodeArg;
|
||||||
@@ -36,18 +37,19 @@ export class TsWatch {
|
|||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case 'gitzone_element':
|
case 'gitzone_element':
|
||||||
const smartserve = new plugins.smartserve.SmartServe({
|
// lets create a standard server
|
||||||
|
this.smartserve = new plugins.smartserve.SmartServe({
|
||||||
|
port: 3001,
|
||||||
injectReload: true,
|
injectReload: true,
|
||||||
serveDir: './dist_web/'
|
serveDir: plugins.path.join(paths.cwd, './dist_web/')
|
||||||
});
|
});
|
||||||
await smartserve.start();
|
|
||||||
this.watcherMap.add(
|
this.watcherMap.add(
|
||||||
new Watcher({
|
new Watcher({
|
||||||
filePathToWatch: plugins.path.join(paths.cwd, './ts_web/'),
|
filePathToWatch: plugins.path.join(paths.cwd, './ts_web/'),
|
||||||
commandToExecute: async () => {
|
commandToExecute: async () => {
|
||||||
const tsbundle = new plugins.tsbundle.TsBundle();
|
const tsbundle = new plugins.tsbundle.TsBundle();
|
||||||
const htmlHandler = new plugins.tsbundle.HtmlHandler();
|
const htmlHandler = new plugins.tsbundle.HtmlHandler();
|
||||||
await tsbundle.buildProduction('./ts_web', './dist_web');
|
await tsbundle.buildProduction('./ts_web/index.ts', './dist_web/bundle.js');
|
||||||
await htmlHandler.copyHtml();
|
await htmlHandler.copyHtml();
|
||||||
},
|
},
|
||||||
timeout: null
|
timeout: null
|
||||||
@@ -74,7 +76,7 @@ export class TsWatch {
|
|||||||
break;
|
break;
|
||||||
case 'echoSomething':
|
case 'echoSomething':
|
||||||
const tsWatchInstanceEchoSomething = new Watcher({
|
const tsWatchInstanceEchoSomething = new Watcher({
|
||||||
filePathToWatch: paths.cwd,
|
filePathToWatch: plugins.path.join(paths.cwd, './ts'),
|
||||||
commandToExecute: 'npm -v',
|
commandToExecute: 'npm -v',
|
||||||
timeout: null
|
timeout: null
|
||||||
});
|
});
|
||||||
@@ -86,12 +88,18 @@ export class TsWatch {
|
|||||||
this.watcherMap.forEach(async watcher => {
|
this.watcherMap.forEach(async watcher => {
|
||||||
await watcher.start();
|
await watcher.start();
|
||||||
});
|
});
|
||||||
|
if (this.smartserve) {
|
||||||
|
await this.smartserve.start();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* stops the execution of any active Watchers
|
* stops the execution of any active Watchers
|
||||||
*/
|
*/
|
||||||
public async stop() {
|
public async stop() {
|
||||||
|
if (this.smartserve) {
|
||||||
|
await this.smartserve.stop();
|
||||||
|
}
|
||||||
this.watcherMap.forEach(async watcher => {
|
this.watcherMap.forEach(async watcher => {
|
||||||
await watcher.stop();
|
await watcher.stop();
|
||||||
});
|
});
|
||||||
|
@@ -55,7 +55,7 @@ export class Watcher {
|
|||||||
changeObservable.subscribe(() => {
|
changeObservable.subscribe(() => {
|
||||||
this.updateCurrentExecution();
|
this.updateCurrentExecution();
|
||||||
});
|
});
|
||||||
this.updateCurrentExecution();
|
await this.updateCurrentExecution();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -26,4 +26,10 @@ tswatchCli.addCommand('element').subscribe(async argvArg => {
|
|||||||
await tsWatch.start();
|
await tsWatch.start();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
tswatchCli.addCommand('npm').subscribe(async argvArg => {
|
||||||
|
logger.log('info', `running watch task for a gitzone element project`);
|
||||||
|
const tsWatch = new TsWatch('gitzone_npm');
|
||||||
|
await tsWatch.start();
|
||||||
|
});
|
||||||
|
|
||||||
tswatchCli.startParse();
|
tswatchCli.startParse();
|
||||||
|
Reference in New Issue
Block a user