Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
1960b1d125 | |||
7ce6245286 | |||
3a8513d3a0 | |||
d425e290dd | |||
483aafd371 | |||
2a2a6fe461 | |||
843453f9d4 | |||
9b6e3e49f4 |
15
.gitignore
vendored
15
.gitignore
vendored
@@ -1,6 +1,19 @@
|
||||
.nogit/
|
||||
node_modules/
|
||||
|
||||
# artifacts
|
||||
coverage/
|
||||
public/
|
||||
pages/
|
||||
|
||||
# installs
|
||||
node_modules/
|
||||
|
||||
# caches and builds
|
||||
.yarn/
|
||||
.cache/
|
||||
dist/
|
||||
dist_web/
|
||||
dist_serve/
|
||||
dist_ts_web/
|
||||
|
||||
# custom
|
@@ -37,18 +37,6 @@ snyk:
|
||||
# ====================
|
||||
# test stage
|
||||
# ====================
|
||||
testLEGACY:
|
||||
stage: test
|
||||
script:
|
||||
- npmci npm prepare
|
||||
- npmci node install legacy
|
||||
- npmci npm install
|
||||
- npmci npm test
|
||||
coverage: /\d+.?\d+?\%\s*coverage/
|
||||
tags:
|
||||
- docker
|
||||
- notpriv
|
||||
allow_failure: true
|
||||
|
||||
testLTS:
|
||||
stage: test
|
||||
@@ -135,13 +123,3 @@ pages:
|
||||
paths:
|
||||
- public
|
||||
allow_failure: true
|
||||
|
||||
windowsCompatibility:
|
||||
image: stefanscherer/node-windows:10-build-tools
|
||||
stage: metadata
|
||||
script:
|
||||
- npm install & npm test
|
||||
coverage: /\d+.?\d+?\%\s*coverage/
|
||||
tags:
|
||||
- windows
|
||||
allow_failure: true
|
||||
|
@@ -2,5 +2,15 @@
|
||||
"npmci": {
|
||||
"npmGlobalTools": [],
|
||||
"npmAccessLevel": "public"
|
||||
},
|
||||
"gitzone": {
|
||||
"module": {
|
||||
"githost": "gitlab.com",
|
||||
"gitscope": "gitzone",
|
||||
"gitrepo": "tswatch",
|
||||
"shortDescription": "watch typescript projects during development",
|
||||
"npmPackagename": "@gitzone/tswatch",
|
||||
"license": "MIT"
|
||||
}
|
||||
}
|
||||
}
|
1111
package-lock.json
generated
1111
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
27
package.json
27
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@gitzone/tswatch",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.7",
|
||||
"private": false,
|
||||
"description": "watch typescript projects during development",
|
||||
"main": "dist/index.js",
|
||||
@@ -14,18 +14,21 @@
|
||||
"format": "(gitzone format)"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@gitzone/tsbuild": "^2.0.22",
|
||||
"@gitzone/tstest": "^1.0.15",
|
||||
"@pushrocks/tapbundle": "^3.0.7",
|
||||
"@types/node": "^10.11.7",
|
||||
"tslint": "^5.11.0",
|
||||
"tslint-config-prettier": "^1.15.0"
|
||||
"@gitzone/tsbuild": "^2.1.11",
|
||||
"@gitzone/tstest": "^1.0.20",
|
||||
"@pushrocks/tapbundle": "^3.0.9",
|
||||
"@types/node": "^12.0.0",
|
||||
"tslint": "^5.16.0",
|
||||
"tslint-config-prettier": "^1.18.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@gitzone/tsrun": "^1.1.13",
|
||||
"@pushrocks/smartcli": "^3.0.6",
|
||||
"@pushrocks/smartdelay": "^2.0.2",
|
||||
"@pushrocks/smartshell": "^2.0.8",
|
||||
"filewatcher": "^3.0.1"
|
||||
"@gitzone/tsrun": "^1.2.6",
|
||||
"@pushrocks/early": "^3.0.3",
|
||||
"@pushrocks/smartchok": "^1.0.18",
|
||||
"@pushrocks/smartcli": "^3.0.7",
|
||||
"@pushrocks/smartdelay": "^2.0.3",
|
||||
"@pushrocks/smartlog": "^2.0.19",
|
||||
"@pushrocks/smartlog-destination-local": "^7.0.5",
|
||||
"@pushrocks/smartshell": "^2.0.13"
|
||||
}
|
||||
}
|
||||
|
26
readme.md
Normal file
26
readme.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# @gitzone/tswatch
|
||||
watch typescript projects during development
|
||||
|
||||
## Availabililty and Links
|
||||
* [npmjs.org (npm package)](https://www.npmjs.com/package/@gitzone/tswatch)
|
||||
* [gitlab.com (source)](https://gitlab.com/gitzone/tswatch)
|
||||
* [github.com (source mirror)](https://github.com/gitzone/tswatch)
|
||||
* [docs (typedoc)](https://gitzone.gitlab.io/tswatch/)
|
||||
|
||||
## Status for master
|
||||
[](https://gitlab.com/gitzone/tswatch/commits/master)
|
||||
[](https://gitlab.com/gitzone/tswatch/commits/master)
|
||||
[](https://www.npmjs.com/package/@gitzone/tswatch)
|
||||
[](https://snyk.io/test/npm/@gitzone/tswatch)
|
||||
[](https://nodejs.org/dist/latest-v10.x/docs/api/)
|
||||
[](https://nodejs.org/dist/latest-v10.x/docs/api/)
|
||||
[](https://prettier.io/)
|
||||
|
||||
## Usage
|
||||
|
||||
For further information read the linked docs at the top of this readme.
|
||||
|
||||
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
|
||||
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
|
||||
|
||||
[](https://maintainedby.lossless.com)
|
@@ -16,8 +16,6 @@ tap.test('should start the tswatch instance', async () => {
|
||||
console.log('test executed');
|
||||
});
|
||||
|
||||
tap.test('should run abitrary commands', async () => {
|
||||
|
||||
});
|
||||
tap.test('should run abitrary commands', async () => {});
|
||||
|
||||
tap.start();
|
||||
|
@@ -1,3 +1,5 @@
|
||||
import * as early from '@pushrocks/early';
|
||||
early.start('tswatch');
|
||||
export * from './tswatch.classes.tswatch';
|
||||
|
||||
import './tswatch.cli';
|
||||
early.stop();
|
||||
|
@@ -14,7 +14,7 @@ export class TsWatch {
|
||||
executor: 'bash'
|
||||
});
|
||||
private currentExecution: plugins.smartshell.IExecResultStreaming;
|
||||
private watcher = plugins.fileWatcher();
|
||||
private watcher = new plugins.smartchok.Smartchok([], {});
|
||||
private options: ITsWatchConstructorOptions;
|
||||
|
||||
constructor(optionsArg: ITsWatchConstructorOptions) {
|
||||
@@ -27,12 +27,9 @@ export class TsWatch {
|
||||
public async start() {
|
||||
this.setupCleanup();
|
||||
console.log(`Looking at ${this.options.filePathToWatch} for changes`);
|
||||
this.watcher.add(this.options.filePathToWatch); // __dirname refers to the directory of this very file
|
||||
this.watcher.on('change', async (file, stat) => {
|
||||
console.log('Noticed change!');
|
||||
if (!stat) {
|
||||
console.log('deleted');
|
||||
}
|
||||
this.watcher.add([this.options.filePathToWatch]); // __dirname refers to the directory of this very file
|
||||
const changeObservable = await this.watcher.getObservableFor('change');
|
||||
changeObservable.subscribe(() => {
|
||||
this.updateCurrentExecution();
|
||||
});
|
||||
this.updateCurrentExecution();
|
||||
@@ -42,7 +39,9 @@ export class TsWatch {
|
||||
if (this.currentExecution) {
|
||||
process.kill(-this.currentExecution.childProcess.pid);
|
||||
}
|
||||
this.currentExecution = await this.smartshellInstance.execStreaming(this.options.commandToExecute);
|
||||
this.currentExecution = await this.smartshellInstance.execStreaming(
|
||||
this.options.commandToExecute
|
||||
);
|
||||
this.currentExecution = null;
|
||||
}
|
||||
|
||||
|
@@ -1,11 +1,15 @@
|
||||
import * as plugins from './tswatch.plugins';
|
||||
import * as paths from './tswatch.paths';
|
||||
import { logger } from './tswatch.logging';
|
||||
|
||||
import { TsWatch } from './tswatch.classes.tswatch';
|
||||
|
||||
const tswatchCli = new plugins.smartcli.Smartcli();
|
||||
|
||||
// standard behaviour will assume gitzone setup
|
||||
|
||||
tswatchCli.addCommand('test').subscribe(argvArg => {
|
||||
logger.log('info', `running test task`);
|
||||
const tsWatch = new TsWatch({
|
||||
filePathToWatch: paths.cwd,
|
||||
commandToExecute: 'npm run test2',
|
||||
|
15
ts/tswatch.logging.ts
Normal file
15
ts/tswatch.logging.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import * as plugins from './tswatch.plugins';
|
||||
|
||||
export const logger = new plugins.smartlog.Smartlog({
|
||||
logContext: {
|
||||
company: 'Some Company',
|
||||
companyunit: 'Some CompanyUnit',
|
||||
containerName: 'Some Containername',
|
||||
environment: 'local',
|
||||
runtime: 'node',
|
||||
zone: 'gitzone'
|
||||
},
|
||||
minimumLogLevel: 'silly'
|
||||
});
|
||||
|
||||
logger.addLogDestination(new plugins.smartlogDestinationLocal.DestinationLocal());
|
@@ -2,13 +2,11 @@ import * as path from 'path';
|
||||
export { path };
|
||||
|
||||
// @pushrocks scope
|
||||
import * as smartchok from '@pushrocks/smartchok';
|
||||
import * as smartcli from '@pushrocks/smartcli';
|
||||
import * as smartdelay from '@pushrocks/smartdelay';
|
||||
import * as smartlog from '@pushrocks/smartlog';
|
||||
import * as smartlogDestinationLocal from '@pushrocks/smartlog-destination-local';
|
||||
import * as smartshell from '@pushrocks/smartshell';
|
||||
|
||||
export { smartdelay, smartshell, smartcli };
|
||||
|
||||
// Third Pary
|
||||
import * as fileWatcher from 'filewatcher';
|
||||
|
||||
export { fileWatcher };
|
||||
export { smartchok, smartcli, smartdelay, smartlog, smartlogDestinationLocal, smartshell };
|
||||
|
@@ -4,7 +4,14 @@
|
||||
"semicolon": [true, "always"],
|
||||
"no-console": false,
|
||||
"ordered-imports": false,
|
||||
"object-literal-sort-keys": false
|
||||
"object-literal-sort-keys": false,
|
||||
"member-ordering": {
|
||||
"options":{
|
||||
"order": [
|
||||
"static-method"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"defaultSeverity": "warning"
|
||||
}
|
||||
|
Reference in New Issue
Block a user