@git.zone/tswatch 2.3.12 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_ts/00_commitinfo_data.js +2 -2
- package/dist_ts/index.d.ts +4 -1
- package/dist_ts/index.js +5 -2
- package/dist_ts/interfaces/index.d.ts +1 -1
- package/dist_ts/interfaces/index.js +2 -2
- package/dist_ts/interfaces/interfaces.config.d.ts +58 -0
- package/dist_ts/interfaces/interfaces.config.js +2 -0
- package/dist_ts/tswatch.classes.confighandler.d.ts +30 -0
- package/dist_ts/tswatch.classes.confighandler.js +172 -0
- package/dist_ts/tswatch.classes.tswatch.d.ts +28 -3
- package/dist_ts/tswatch.classes.tswatch.js +135 -165
- package/dist_ts/tswatch.classes.watcher.d.ts +31 -3
- package/dist_ts/tswatch.classes.watcher.js +105 -25
- package/dist_ts/tswatch.cli.js +39 -28
- package/dist_ts/tswatch.init.d.ts +25 -0
- package/dist_ts/tswatch.init.js +168 -0
- package/dist_ts/tswatch.plugins.d.ts +3 -1
- package/dist_ts/tswatch.plugins.js +7 -5
- package/npmextra.json +12 -6
- package/package.json +22 -16
- package/readme.hints.md +88 -46
- package/readme.md +284 -149
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/index.ts +6 -2
- package/ts/interfaces/index.ts +1 -1
- package/ts/interfaces/interfaces.config.ts +61 -0
- package/ts/tswatch.classes.confighandler.ts +185 -0
- package/ts/tswatch.classes.tswatch.ts +161 -197
- package/ts/tswatch.classes.watcher.ts +134 -23
- package/ts/tswatch.cli.ts +37 -31
- package/ts/tswatch.init.ts +199 -0
- package/ts/tswatch.plugins.ts +7 -3
- package/dist_ts/interfaces/interfaces.watchmodes.d.ts +0 -1
- package/dist_ts/interfaces/interfaces.watchmodes.js +0 -2
- package/ts/interfaces/interfaces.watchmodes.ts +0 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/tswatch',
|
|
6
|
-
version: '
|
|
6
|
+
version: '3.0.0',
|
|
7
7
|
description: 'A development tool for automatically watching and re-compiling TypeScript projects upon detecting file changes, enhancing developer workflows.'
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxtQkFBbUI7SUFDekIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLGdKQUFnSjtDQUM5SixDQUFBIn0=
|
package/dist_ts/index.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export * from './tswatch.classes.tswatch.js';
|
|
2
|
-
export * from './tswatch.cli.js';
|
|
3
2
|
export * from './tswatch.classes.watcher.js';
|
|
3
|
+
export * from './tswatch.classes.confighandler.js';
|
|
4
|
+
export * from './tswatch.cli.js';
|
|
5
|
+
export * from './tswatch.init.js';
|
|
6
|
+
export * from './interfaces/index.js';
|
package/dist_ts/index.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as early from '@push.rocks/early';
|
|
2
2
|
early.start('tswatch');
|
|
3
3
|
export * from './tswatch.classes.tswatch.js';
|
|
4
|
+
export * from './tswatch.classes.watcher.js';
|
|
5
|
+
export * from './tswatch.classes.confighandler.js';
|
|
4
6
|
export * from './tswatch.cli.js';
|
|
7
|
+
export * from './tswatch.init.js';
|
|
8
|
+
export * from './interfaces/index.js';
|
|
5
9
|
early.stop();
|
|
6
|
-
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssS0FBSyxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDdkIsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUViLGNBQWMsOEJBQThCLENBQUMifQ==
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssS0FBSyxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFdkIsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './interfaces.
|
|
1
|
+
export * from './interfaces.config.js';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './interfaces.
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './interfaces.config.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUMifQ==
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration for a single watcher
|
|
3
|
+
*/
|
|
4
|
+
export interface IWatcherConfig {
|
|
5
|
+
/** Name for this watcher (used in logging) */
|
|
6
|
+
name: string;
|
|
7
|
+
/** Glob pattern(s) to watch */
|
|
8
|
+
watch: string | string[];
|
|
9
|
+
/** Shell command to execute on changes */
|
|
10
|
+
command?: string;
|
|
11
|
+
/** If true, kill previous process before restarting (default: true) */
|
|
12
|
+
restart?: boolean;
|
|
13
|
+
/** Debounce delay in ms (default: 300) */
|
|
14
|
+
debounce?: number;
|
|
15
|
+
/** If true, run the command immediately on start (default: true) */
|
|
16
|
+
runOnStart?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Configuration for the development server
|
|
20
|
+
*/
|
|
21
|
+
export interface IServerConfig {
|
|
22
|
+
/** Whether the server is enabled */
|
|
23
|
+
enabled: boolean;
|
|
24
|
+
/** Server port (default: 3002) */
|
|
25
|
+
port?: number;
|
|
26
|
+
/** Directory to serve (default: ./dist_watch/) */
|
|
27
|
+
serveDir?: string;
|
|
28
|
+
/** Whether to inject live reload script (default: true) */
|
|
29
|
+
liveReload?: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Configuration for a bundle operation
|
|
33
|
+
*/
|
|
34
|
+
export interface IBundleConfig {
|
|
35
|
+
/** Name for this bundle (used in logging) */
|
|
36
|
+
name?: string;
|
|
37
|
+
/** Entry point file */
|
|
38
|
+
from: string;
|
|
39
|
+
/** Output file */
|
|
40
|
+
to: string;
|
|
41
|
+
/** Additional patterns to watch that trigger this bundle */
|
|
42
|
+
watchPatterns?: string[];
|
|
43
|
+
/** If true, trigger server reload after bundling (default: true) */
|
|
44
|
+
triggerReload?: boolean;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Main tswatch configuration
|
|
48
|
+
*/
|
|
49
|
+
export interface ITswatchConfig {
|
|
50
|
+
/** Array of watcher configurations */
|
|
51
|
+
watchers?: IWatcherConfig[];
|
|
52
|
+
/** Development server configuration */
|
|
53
|
+
server?: IServerConfig;
|
|
54
|
+
/** Bundle configurations */
|
|
55
|
+
bundles?: IBundleConfig[];
|
|
56
|
+
/** Use a preset configuration (overridden by explicit watchers/server/bundles) */
|
|
57
|
+
preset?: 'element' | 'website' | 'npm' | 'service' | 'test';
|
|
58
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as interfaces from './interfaces/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Handles loading and managing tswatch configuration
|
|
4
|
+
*/
|
|
5
|
+
export declare class ConfigHandler {
|
|
6
|
+
private npmextra;
|
|
7
|
+
private cwd;
|
|
8
|
+
constructor(cwdArg?: string);
|
|
9
|
+
/**
|
|
10
|
+
* Check if a tswatch configuration exists
|
|
11
|
+
*/
|
|
12
|
+
hasConfig(): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Load configuration from npmextra.json
|
|
15
|
+
* If a preset is specified, merge preset defaults with user overrides
|
|
16
|
+
*/
|
|
17
|
+
loadConfig(): interfaces.ITswatchConfig | null;
|
|
18
|
+
/**
|
|
19
|
+
* Get a preset configuration by name
|
|
20
|
+
*/
|
|
21
|
+
getPreset(presetName: string): interfaces.ITswatchConfig | null;
|
|
22
|
+
/**
|
|
23
|
+
* Get all available preset names
|
|
24
|
+
*/
|
|
25
|
+
getPresetNames(): string[];
|
|
26
|
+
/**
|
|
27
|
+
* Get the config key for npmextra.json
|
|
28
|
+
*/
|
|
29
|
+
getConfigKey(): string;
|
|
30
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import * as plugins from './tswatch.plugins.js';
|
|
2
|
+
import * as paths from './tswatch.paths.js';
|
|
3
|
+
import * as interfaces from './interfaces/index.js';
|
|
4
|
+
const CONFIG_KEY = '@git.zone/tswatch';
|
|
5
|
+
/**
|
|
6
|
+
* Preset configurations matching legacy watch modes
|
|
7
|
+
*/
|
|
8
|
+
const presets = {
|
|
9
|
+
npm: {
|
|
10
|
+
watchers: [
|
|
11
|
+
{
|
|
12
|
+
name: 'npm-test',
|
|
13
|
+
watch: ['./ts/**/*', './test/**/*'],
|
|
14
|
+
command: 'npm run test',
|
|
15
|
+
restart: true,
|
|
16
|
+
debounce: 300,
|
|
17
|
+
runOnStart: true,
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
test: {
|
|
22
|
+
watchers: [
|
|
23
|
+
{
|
|
24
|
+
name: 'test2',
|
|
25
|
+
watch: ['./ts/**/*', './test/**/*'],
|
|
26
|
+
command: 'npm run test2',
|
|
27
|
+
restart: true,
|
|
28
|
+
debounce: 300,
|
|
29
|
+
runOnStart: true,
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
service: {
|
|
34
|
+
watchers: [
|
|
35
|
+
{
|
|
36
|
+
name: 'service',
|
|
37
|
+
watch: './ts/**/*',
|
|
38
|
+
command: 'npm run startTs',
|
|
39
|
+
restart: true,
|
|
40
|
+
debounce: 300,
|
|
41
|
+
runOnStart: true,
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
element: {
|
|
46
|
+
server: {
|
|
47
|
+
enabled: true,
|
|
48
|
+
port: 3002,
|
|
49
|
+
serveDir: './dist_watch/',
|
|
50
|
+
liveReload: true,
|
|
51
|
+
},
|
|
52
|
+
bundles: [
|
|
53
|
+
{
|
|
54
|
+
name: 'element-bundle',
|
|
55
|
+
from: './html/index.ts',
|
|
56
|
+
to: './dist_watch/bundle.js',
|
|
57
|
+
watchPatterns: ['./ts_web/**/*'],
|
|
58
|
+
triggerReload: true,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'html',
|
|
62
|
+
from: './html/index.html',
|
|
63
|
+
to: './dist_watch/index.html',
|
|
64
|
+
watchPatterns: ['./html/**/*'],
|
|
65
|
+
triggerReload: true,
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
watchers: [
|
|
69
|
+
{
|
|
70
|
+
name: 'ts-build',
|
|
71
|
+
watch: './ts/**/*',
|
|
72
|
+
command: 'npm run build',
|
|
73
|
+
restart: false,
|
|
74
|
+
debounce: 300,
|
|
75
|
+
runOnStart: false,
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
},
|
|
79
|
+
website: {
|
|
80
|
+
bundles: [
|
|
81
|
+
{
|
|
82
|
+
name: 'website-bundle',
|
|
83
|
+
from: './ts_web/index.ts',
|
|
84
|
+
to: './dist_serve/bundle.js',
|
|
85
|
+
watchPatterns: ['./ts_web/**/*'],
|
|
86
|
+
triggerReload: false,
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: 'html',
|
|
90
|
+
from: './html/index.html',
|
|
91
|
+
to: './dist_serve/index.html',
|
|
92
|
+
watchPatterns: ['./html/**/*'],
|
|
93
|
+
triggerReload: false,
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
name: 'assets',
|
|
97
|
+
from: './assets/',
|
|
98
|
+
to: './dist_serve/assets/',
|
|
99
|
+
watchPatterns: ['./assets/**/*'],
|
|
100
|
+
triggerReload: false,
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
watchers: [
|
|
104
|
+
{
|
|
105
|
+
name: 'backend',
|
|
106
|
+
watch: './ts/**/*',
|
|
107
|
+
command: 'npm run startTs',
|
|
108
|
+
restart: true,
|
|
109
|
+
debounce: 300,
|
|
110
|
+
runOnStart: true,
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Handles loading and managing tswatch configuration
|
|
117
|
+
*/
|
|
118
|
+
export class ConfigHandler {
|
|
119
|
+
constructor(cwdArg) {
|
|
120
|
+
this.cwd = cwdArg || paths.cwd;
|
|
121
|
+
this.npmextra = new plugins.npmextra.Npmextra(this.cwd);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Check if a tswatch configuration exists
|
|
125
|
+
*/
|
|
126
|
+
hasConfig() {
|
|
127
|
+
const config = this.npmextra.dataFor(CONFIG_KEY, null);
|
|
128
|
+
return config !== null;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Load configuration from npmextra.json
|
|
132
|
+
* If a preset is specified, merge preset defaults with user overrides
|
|
133
|
+
*/
|
|
134
|
+
loadConfig() {
|
|
135
|
+
const config = this.npmextra.dataFor(CONFIG_KEY, null);
|
|
136
|
+
if (!config) {
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
// If a preset is specified, merge it with user config
|
|
140
|
+
if (config.preset && presets[config.preset]) {
|
|
141
|
+
const preset = presets[config.preset];
|
|
142
|
+
return {
|
|
143
|
+
...preset,
|
|
144
|
+
...config,
|
|
145
|
+
// Merge arrays instead of replacing
|
|
146
|
+
watchers: config.watchers || preset.watchers,
|
|
147
|
+
bundles: config.bundles || preset.bundles,
|
|
148
|
+
server: config.server !== undefined ? config.server : preset.server,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
return config;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Get a preset configuration by name
|
|
155
|
+
*/
|
|
156
|
+
getPreset(presetName) {
|
|
157
|
+
return presets[presetName] || null;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Get all available preset names
|
|
161
|
+
*/
|
|
162
|
+
getPresetNames() {
|
|
163
|
+
return Object.keys(presets);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Get the config key for npmextra.json
|
|
167
|
+
*/
|
|
168
|
+
getConfigKey() {
|
|
169
|
+
return CONFIG_KEY;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHN3YXRjaC5jbGFzc2VzLmNvbmZpZ2hhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90c3dhdGNoLmNsYXNzZXMuY29uZmlnaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxLQUFLLE1BQU0sb0JBQW9CLENBQUM7QUFDNUMsT0FBTyxLQUFLLFVBQVUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxNQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQztBQUV2Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxHQUE4QztJQUN6RCxHQUFHLEVBQUU7UUFDSCxRQUFRLEVBQUU7WUFDUjtnQkFDRSxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsS0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQztnQkFDbkMsT0FBTyxFQUFFLGNBQWM7Z0JBQ3ZCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFFBQVEsRUFBRSxHQUFHO2dCQUNiLFVBQVUsRUFBRSxJQUFJO2FBQ2pCO1NBQ0Y7S0FDRjtJQUNELElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRTtZQUNSO2dCQUNFLElBQUksRUFBRSxPQUFPO2dCQUNiLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUM7Z0JBQ25DLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixPQUFPLEVBQUUsSUFBSTtnQkFDYixRQUFRLEVBQUUsR0FBRztnQkFDYixVQUFVLEVBQUUsSUFBSTthQUNqQjtTQUNGO0tBQ0Y7SUFDRCxPQUFPLEVBQUU7UUFDUCxRQUFRLEVBQUU7WUFDUjtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixLQUFLLEVBQUUsV0FBVztnQkFDbEIsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsUUFBUSxFQUFFLEdBQUc7Z0JBQ2IsVUFBVSxFQUFFLElBQUk7YUFDakI7U0FD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
|
|
@@ -1,15 +1,40 @@
|
|
|
1
1
|
import * as plugins from './tswatch.plugins.js';
|
|
2
2
|
import * as interfaces from './interfaces/index.js';
|
|
3
3
|
import { Watcher } from './tswatch.classes.watcher.js';
|
|
4
|
+
/**
|
|
5
|
+
* TsWatch - Config-driven file watcher
|
|
6
|
+
*
|
|
7
|
+
* Reads configuration from npmextra.json under the key '@git.zone/tswatch'
|
|
8
|
+
* and sets up watchers, bundles, and dev server accordingly.
|
|
9
|
+
*/
|
|
4
10
|
export declare class TsWatch {
|
|
5
|
-
|
|
11
|
+
config: interfaces.ITswatchConfig;
|
|
6
12
|
watcherMap: plugins.lik.ObjectMap<Watcher>;
|
|
7
|
-
typedserver: plugins.typedserver.TypedServer;
|
|
8
|
-
|
|
13
|
+
typedserver: plugins.typedserver.TypedServer | null;
|
|
14
|
+
private tsbundle;
|
|
15
|
+
private htmlHandler;
|
|
16
|
+
private assetsHandler;
|
|
17
|
+
constructor(configArg: interfaces.ITswatchConfig);
|
|
18
|
+
/**
|
|
19
|
+
* Create TsWatch from npmextra.json configuration
|
|
20
|
+
*/
|
|
21
|
+
static fromConfig(cwdArg?: string): TsWatch | null;
|
|
9
22
|
/**
|
|
10
23
|
* starts the TsWatch instance
|
|
11
24
|
*/
|
|
12
25
|
start(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Start the development server
|
|
28
|
+
*/
|
|
29
|
+
private startServer;
|
|
30
|
+
/**
|
|
31
|
+
* Setup bundle watchers
|
|
32
|
+
*/
|
|
33
|
+
private setupBundles;
|
|
34
|
+
/**
|
|
35
|
+
* Setup watchers from config
|
|
36
|
+
*/
|
|
37
|
+
private setupWatchers;
|
|
13
38
|
/**
|
|
14
39
|
* stops the execution of any active Watchers
|
|
15
40
|
*/
|