@git.zone/tswatch 2.0.25 → 2.0.29
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 +1 -1
- package/dist_ts/interfaces/interfaces.watchmodes.d.ts +1 -1
- package/dist_ts/tswatch.classes.tswatch.js +103 -67
- package/dist_ts/tswatch.cli.js +5 -5
- package/dist_ts/tswatch.plugins.d.ts +2 -1
- package/dist_ts/tswatch.plugins.js +3 -2
- package/package.json +6 -5
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/interfaces/interfaces.watchmodes.ts +5 -5
- package/ts/tswatch.classes.tswatch.ts +123 -79
- package/ts/tswatch.cli.ts +4 -4
- package/ts/tswatch.plugins.ts +2 -0
- package/dist_ts/tswatch.classes.parcel.d.ts +0 -3
- package/dist_ts/tswatch.classes.parcel.js +0 -44
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/tswatch',
|
|
6
|
-
version: '2.0.
|
|
6
|
+
version: '2.0.29',
|
|
7
7
|
description: 'watch typescript projects during development'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxtQkFBbUI7SUFDekIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLDhDQUE4QztDQUM1RCxDQUFBIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export type TWatchModes = 'test' | '
|
|
1
|
+
export type TWatchModes = 'test' | 'node' | 'service' | 'element' | 'website' | 'echo';
|
|
@@ -2,6 +2,7 @@ import * as plugins from './tswatch.plugins.js';
|
|
|
2
2
|
import * as paths from './tswatch.paths.js';
|
|
3
3
|
import * as interfaces from './interfaces/index.js';
|
|
4
4
|
import { Watcher } from './tswatch.classes.watcher.js';
|
|
5
|
+
import { logger } from './tswatch.logging.js';
|
|
5
6
|
export class TsWatch {
|
|
6
7
|
constructor(watchmodeArg) {
|
|
7
8
|
this.watcherMap = new plugins.lik.ObjectMap();
|
|
@@ -15,95 +16,130 @@ export class TsWatch {
|
|
|
15
16
|
const htmlHandler = new plugins.tsbundle.HtmlHandler();
|
|
16
17
|
switch (this.watchmode) {
|
|
17
18
|
case 'test':
|
|
19
|
+
/**
|
|
20
|
+
* this strategy runs test whenever there is a change in the ts directory
|
|
21
|
+
*/
|
|
18
22
|
this.watcherMap.add(new Watcher({
|
|
19
23
|
filePathToWatch: paths.cwd,
|
|
20
24
|
commandToExecute: 'npm run test2',
|
|
21
25
|
timeout: null,
|
|
22
26
|
}));
|
|
23
27
|
break;
|
|
24
|
-
case '
|
|
28
|
+
case 'node':
|
|
25
29
|
this.watcherMap.add(new Watcher({
|
|
26
30
|
filePathToWatch: paths.cwd,
|
|
27
31
|
commandToExecute: 'npm run test',
|
|
28
32
|
timeout: null,
|
|
29
33
|
}));
|
|
30
34
|
break;
|
|
31
|
-
case '
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
35
|
+
case 'element':
|
|
36
|
+
(async () => {
|
|
37
|
+
/**
|
|
38
|
+
* this strategy runs a standard server and bundles the ts files to a dist_watch directory
|
|
39
|
+
*/
|
|
40
|
+
// lets create a standard server
|
|
41
|
+
console.log('bundling TypeScript files to "dist_watch" Note: This is for development only!');
|
|
42
|
+
this.typedserver = new plugins.typedserver.TypedServer({
|
|
43
|
+
cors: true,
|
|
44
|
+
injectReload: true,
|
|
45
|
+
serveDir: plugins.path.join(paths.cwd, './dist_watch/'),
|
|
46
|
+
port: 3002,
|
|
47
|
+
enableCompression: true,
|
|
48
|
+
preferredCompressionMethod: 'gzip',
|
|
45
49
|
});
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
filePathToWatch: plugins.path.join(paths.cwd, './ts_web/'),
|
|
50
|
-
functionToCall: async () => {
|
|
51
|
-
await bundleAndReloadElement();
|
|
52
|
-
},
|
|
53
|
-
timeout: null,
|
|
54
|
-
}));
|
|
55
|
-
this.watcherMap.add(new Watcher({
|
|
56
|
-
filePathToWatch: plugins.path.join(paths.cwd, './html/'),
|
|
57
|
-
functionToCall: async () => {
|
|
58
|
-
await htmlHandler.processHtml({
|
|
59
|
-
from: plugins.path.join(paths.cwd, './html/index.html'),
|
|
60
|
-
to: plugins.path.join(paths.cwd, './dist_watch/index.html'),
|
|
61
|
-
minify: false,
|
|
50
|
+
const bundleAndReloadElement = async () => {
|
|
51
|
+
await tsbundle.build(paths.cwd, './html/index.ts', './dist_watch/bundle.js', {
|
|
52
|
+
bundler: 'esbuild',
|
|
62
53
|
});
|
|
63
|
-
await
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
54
|
+
await this.typedserver.reload();
|
|
55
|
+
};
|
|
56
|
+
this.watcherMap.add(new Watcher({
|
|
57
|
+
filePathToWatch: plugins.path.join(paths.cwd, './ts_web/'),
|
|
58
|
+
functionToCall: async () => {
|
|
59
|
+
await bundleAndReloadElement();
|
|
60
|
+
},
|
|
61
|
+
timeout: null,
|
|
62
|
+
}));
|
|
63
|
+
// lets get the other ts folders
|
|
64
|
+
let tsfolders = await plugins.smartfile.fs.listFolders(paths.cwd);
|
|
65
|
+
tsfolders = tsfolders.filter((itemArg) => itemArg.startsWith('ts') && itemArg !== 'ts_web');
|
|
66
|
+
const smartshellInstance = new plugins.smartshell.Smartshell({
|
|
67
|
+
executor: 'bash',
|
|
77
68
|
});
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
69
|
+
for (const tsfolder of tsfolders) {
|
|
70
|
+
logger.log('info', `creating watcher for folder ${tsfolder}`);
|
|
71
|
+
this.watcherMap.add(new Watcher({
|
|
72
|
+
filePathToWatch: plugins.path.join(paths.cwd, `./${tsfolder}/`),
|
|
73
|
+
functionToCall: async () => {
|
|
74
|
+
logger.log('info', `building ${tsfolder}`);
|
|
75
|
+
await smartshellInstance.exec(`(cd ${paths.cwd} && npm run build)`);
|
|
76
|
+
await this.typedserver.reload();
|
|
77
|
+
},
|
|
78
|
+
timeout: null,
|
|
79
|
+
}));
|
|
80
|
+
}
|
|
81
|
+
this.watcherMap.add(new Watcher({
|
|
82
|
+
filePathToWatch: plugins.path.join(paths.cwd, './html/'),
|
|
83
|
+
functionToCall: async () => {
|
|
84
|
+
await htmlHandler.processHtml({
|
|
85
|
+
from: plugins.path.join(paths.cwd, './html/index.html'),
|
|
86
|
+
to: plugins.path.join(paths.cwd, './dist_watch/index.html'),
|
|
87
|
+
minify: false,
|
|
88
|
+
});
|
|
89
|
+
await bundleAndReloadElement();
|
|
90
|
+
},
|
|
91
|
+
timeout: null,
|
|
92
|
+
}));
|
|
93
|
+
})();
|
|
94
|
+
break;
|
|
95
|
+
case 'website':
|
|
96
|
+
(async () => {
|
|
97
|
+
const bundleAndReloadWebsite = async () => {
|
|
98
|
+
await tsbundle.build(paths.cwd, './ts_web/index.ts', './dist_serve/bundle.js', {
|
|
99
|
+
bundler: 'esbuild',
|
|
93
100
|
});
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
101
|
+
};
|
|
102
|
+
let tsfolders = await plugins.smartfile.fs.listFolders(paths.cwd);
|
|
103
|
+
tsfolders = tsfolders.filter((itemArg) => itemArg.startsWith('ts') && itemArg !== 'ts_web');
|
|
104
|
+
const smartshellInstance = new plugins.smartshell.Smartshell({
|
|
105
|
+
executor: 'bash',
|
|
106
|
+
});
|
|
107
|
+
for (const tsfolder of tsfolders) {
|
|
108
|
+
this.watcherMap.add(new Watcher({
|
|
109
|
+
filePathToWatch: plugins.path.join(paths.cwd, `./${tsfolder}/`),
|
|
110
|
+
commandToExecute: `npm run startTs`,
|
|
111
|
+
timeout: null,
|
|
112
|
+
}));
|
|
113
|
+
}
|
|
114
|
+
this.watcherMap.add(new Watcher({
|
|
115
|
+
filePathToWatch: plugins.path.join(paths.cwd, './ts_web/'),
|
|
116
|
+
functionToCall: async () => {
|
|
117
|
+
await bundleAndReloadWebsite();
|
|
118
|
+
},
|
|
119
|
+
timeout: null,
|
|
120
|
+
}));
|
|
121
|
+
this.watcherMap.add(new Watcher({
|
|
122
|
+
filePathToWatch: plugins.path.join(paths.cwd, './html/'),
|
|
123
|
+
functionToCall: async () => {
|
|
124
|
+
await htmlHandler.processHtml({
|
|
125
|
+
from: plugins.path.join(paths.cwd, './html/index.html'),
|
|
126
|
+
to: plugins.path.join(paths.cwd, './dist_serve/index.html'),
|
|
127
|
+
minify: false,
|
|
128
|
+
});
|
|
129
|
+
await bundleAndReloadWebsite();
|
|
130
|
+
},
|
|
131
|
+
timeout: null,
|
|
132
|
+
}));
|
|
133
|
+
})();
|
|
98
134
|
break;
|
|
99
|
-
case '
|
|
135
|
+
case 'service':
|
|
100
136
|
this.watcherMap.add(new Watcher({
|
|
101
137
|
filePathToWatch: plugins.path.join(paths.cwd, './ts/'),
|
|
102
138
|
commandToExecute: 'npm run startTs',
|
|
103
139
|
timeout: null,
|
|
104
140
|
}));
|
|
105
141
|
break;
|
|
106
|
-
case '
|
|
142
|
+
case 'echo':
|
|
107
143
|
const tsWatchInstanceEchoSomething = new Watcher({
|
|
108
144
|
filePathToWatch: plugins.path.join(paths.cwd, './ts'),
|
|
109
145
|
commandToExecute: 'npm -v',
|
|
@@ -133,4 +169,4 @@ export class TsWatch {
|
|
|
133
169
|
});
|
|
134
170
|
}
|
|
135
171
|
}
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHN3YXRjaC5jbGFzc2VzLnRzd2F0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90c3dhdGNoLmNsYXNzZXMudHN3YXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxLQUFLLE1BQU0sb0JBQW9CLENBQUM7QUFDNUMsT0FBTyxLQUFLLFVBQVUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlDLE1BQU0sT0FBTyxPQUFPO0lBS2xCLFlBQVksWUFBb0M7UUFIekMsZUFBVSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQVcsQ0FBQztRQUl2RCxJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixNQUFNLFFBQVEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakQsTUFBTSxXQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZELFFBQVEsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssTUFBTTtnQkFDVDs7bUJBRUc7Z0JBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ2pCLElBQUksT0FBTyxDQUFDO29CQUNWLGVBQWUsRUFBRSxLQUFLLENBQUMsR0FBRztvQkFDMUIsZ0JBQWdCLEVBQUUsZUFBZTtvQkFDakMsT0FBTyxFQUFFLElBQUk7aUJBQ2QsQ0FBQyxDQUNILENBQUM7Z0JBQ0YsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcs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
|
package/dist_ts/tswatch.cli.js
CHANGED
|
@@ -9,17 +9,17 @@ tswatchCli.standardCommand().subscribe((argvArg => {
|
|
|
9
9
|
}));
|
|
10
10
|
tswatchCli.addCommand('element').subscribe(async (argvArg) => {
|
|
11
11
|
logger.log('info', `running watch task for a gitzone element project`);
|
|
12
|
-
const tsWatch = new TsWatch('
|
|
12
|
+
const tsWatch = new TsWatch('element');
|
|
13
13
|
await tsWatch.start();
|
|
14
14
|
});
|
|
15
15
|
tswatchCli.addCommand('npm').subscribe(async (argvArg) => {
|
|
16
16
|
logger.log('info', `running watch task for a gitzone element project`);
|
|
17
|
-
const tsWatch = new TsWatch('
|
|
17
|
+
const tsWatch = new TsWatch('node');
|
|
18
18
|
await tsWatch.start();
|
|
19
19
|
});
|
|
20
20
|
tswatchCli.addCommand('service').subscribe(async (argvArg) => {
|
|
21
21
|
logger.log('info', `running test task`);
|
|
22
|
-
const tsWatch = new TsWatch('
|
|
22
|
+
const tsWatch = new TsWatch('service');
|
|
23
23
|
await tsWatch.start();
|
|
24
24
|
});
|
|
25
25
|
tswatchCli.addCommand('test').subscribe(async (argvArg) => {
|
|
@@ -29,10 +29,10 @@ tswatchCli.addCommand('test').subscribe(async (argvArg) => {
|
|
|
29
29
|
});
|
|
30
30
|
tswatchCli.addCommand('website').subscribe(async (argvArg) => {
|
|
31
31
|
logger.log('info', `running watch task for a gitzone website project`);
|
|
32
|
-
const tsWatch = new TsWatch('
|
|
32
|
+
const tsWatch = new TsWatch('website');
|
|
33
33
|
await tsWatch.start();
|
|
34
34
|
});
|
|
35
35
|
export const runCli = async () => {
|
|
36
36
|
tswatchCli.startParse();
|
|
37
37
|
};
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHN3YXRjaC5jbGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90c3dhdGNoLmNsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxLQUFLLE1BQU0sb0JBQW9CLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV2RCxNQUFNLFVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7QUFFbkQsK0NBQStDO0FBQy9DLFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRTtJQUNoRCxVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBRUgsVUFBVSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQzNELE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLGtEQUFrRCxDQUFDLENBQUM7SUFDdkUsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUM7QUFFSCxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDdkQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsa0RBQWtELENBQUMsQ0FBQztJQUN2RSxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxNQUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQztBQUVILFVBQVUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUMzRCxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDO0FBRUgsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ3hELE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDeEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDeEIsQ0FBQyxDQUFDLENBQUM7QUFFSCxVQUFVLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDM0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsa0RBQWtELENBQUMsQ0FBQztJQUN2RSxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxNQUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUN4QixDQUFDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxLQUFLLElBQUksRUFBRTtJQUMvQixVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7QUFDMUIsQ0FBQyxDQUFDIn0=
|
|
@@ -8,8 +8,9 @@ import * as lik from '@push.rocks/lik';
|
|
|
8
8
|
import * as smartchok from '@push.rocks/smartchok';
|
|
9
9
|
import * as smartcli from '@push.rocks/smartcli';
|
|
10
10
|
import * as smartdelay from '@push.rocks/smartdelay';
|
|
11
|
+
import * as smartfile from '@push.rocks/smartfile';
|
|
11
12
|
import * as smartlog from '@push.rocks/smartlog';
|
|
12
13
|
import * as smartlogDestinationLocal from '@push.rocks/smartlog-destination-local';
|
|
13
14
|
import * as smartshell from '@push.rocks/smartshell';
|
|
14
15
|
import * as taskbuffer from '@push.rocks/taskbuffer';
|
|
15
|
-
export { lik, smartchok, smartcli, smartdelay, smartlog, smartlogDestinationLocal, smartshell, taskbuffer, };
|
|
16
|
+
export { lik, smartchok, smartcli, smartdelay, smartfile, smartlog, smartlogDestinationLocal, smartshell, taskbuffer, };
|
|
@@ -12,9 +12,10 @@ import * as lik from '@push.rocks/lik';
|
|
|
12
12
|
import * as smartchok from '@push.rocks/smartchok';
|
|
13
13
|
import * as smartcli from '@push.rocks/smartcli';
|
|
14
14
|
import * as smartdelay from '@push.rocks/smartdelay';
|
|
15
|
+
import * as smartfile from '@push.rocks/smartfile';
|
|
15
16
|
import * as smartlog from '@push.rocks/smartlog';
|
|
16
17
|
import * as smartlogDestinationLocal from '@push.rocks/smartlog-destination-local';
|
|
17
18
|
import * as smartshell from '@push.rocks/smartshell';
|
|
18
19
|
import * as taskbuffer from '@push.rocks/taskbuffer';
|
|
19
|
-
export { lik, smartchok, smartcli, smartdelay, smartlog, smartlogDestinationLocal, smartshell, taskbuffer, };
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
export { lik, smartchok, smartcli, smartdelay, smartfile, smartlog, smartlogDestinationLocal, smartshell, taskbuffer, };
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHN3YXRjaC5wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvdHN3YXRjaC5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFvQjtBQUNwQixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFFaEIsaUJBQWlCO0FBQ2pCLE9BQU8sS0FBSyxRQUFRLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUNMLFFBQVEsRUFDVCxDQUFBO0FBRUQsbUJBQW1CO0FBQ25CLE9BQU8sS0FBSyxXQUFXLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUNMLFdBQVcsR0FDWixDQUFBO0FBRUQsbUJBQW1CO0FBQ25CLE9BQU8sS0FBSyxHQUFHLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxLQUFLLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEtBQUssUUFBUSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxVQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxLQUFLLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEtBQUssUUFBUSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sS0FBSyx3QkFBd0IsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEtBQUssVUFBVSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sS0FBSyxVQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxFQUNMLEdBQUcsRUFDSCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixTQUFTLEVBQ1QsUUFBUSxFQUNSLHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsVUFBVSxHQUNYLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@git.zone/tswatch",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.29",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "watch typescript projects during development",
|
|
6
6
|
"main": "dist_ts/index.js",
|
|
@@ -12,20 +12,21 @@
|
|
|
12
12
|
"tswatch": "cli.js"
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
15
|
-
"@git.zone/tsbuild": "^2.
|
|
15
|
+
"@git.zone/tsbuild": "^2.2.0",
|
|
16
16
|
"@git.zone/tstest": "^1.0.90",
|
|
17
|
-
"@push.rocks/tapbundle": "^5.3
|
|
18
|
-
"@types/node": "^22.
|
|
17
|
+
"@push.rocks/tapbundle": "^5.5.3",
|
|
18
|
+
"@types/node": "^22.10.1"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@api.global/typedserver": "^3.0.51",
|
|
22
22
|
"@git.zone/tsbundle": "^2.1.0",
|
|
23
|
-
"@git.zone/tsrun": "^1.
|
|
23
|
+
"@git.zone/tsrun": "^1.3.3",
|
|
24
24
|
"@push.rocks/early": "^4.0.4",
|
|
25
25
|
"@push.rocks/lik": "^6.1.0",
|
|
26
26
|
"@push.rocks/smartchok": "^1.0.34",
|
|
27
27
|
"@push.rocks/smartcli": "^4.0.11",
|
|
28
28
|
"@push.rocks/smartdelay": "^3.0.5",
|
|
29
|
+
"@push.rocks/smartfile": "^11.0.21",
|
|
29
30
|
"@push.rocks/smartlog": "^3.0.7",
|
|
30
31
|
"@push.rocks/smartlog-destination-local": "^9.0.2",
|
|
31
32
|
"@push.rocks/smartshell": "^3.0.6",
|
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -3,6 +3,7 @@ import * as paths from './tswatch.paths.js';
|
|
|
3
3
|
import * as interfaces from './interfaces/index.js';
|
|
4
4
|
|
|
5
5
|
import { Watcher } from './tswatch.classes.watcher.js';
|
|
6
|
+
import { logger } from './tswatch.logging.js';
|
|
6
7
|
|
|
7
8
|
export class TsWatch {
|
|
8
9
|
public watchmode: interfaces.TWatchModes;
|
|
@@ -21,6 +22,9 @@ export class TsWatch {
|
|
|
21
22
|
const htmlHandler = new plugins.tsbundle.HtmlHandler();
|
|
22
23
|
switch (this.watchmode) {
|
|
23
24
|
case 'test':
|
|
25
|
+
/**
|
|
26
|
+
* this strategy runs test whenever there is a change in the ts directory
|
|
27
|
+
*/
|
|
24
28
|
this.watcherMap.add(
|
|
25
29
|
new Watcher({
|
|
26
30
|
filePathToWatch: paths.cwd,
|
|
@@ -29,7 +33,7 @@ export class TsWatch {
|
|
|
29
33
|
})
|
|
30
34
|
);
|
|
31
35
|
break;
|
|
32
|
-
case '
|
|
36
|
+
case 'node':
|
|
33
37
|
this.watcherMap.add(
|
|
34
38
|
new Watcher({
|
|
35
39
|
filePathToWatch: paths.cwd,
|
|
@@ -38,88 +42,128 @@ export class TsWatch {
|
|
|
38
42
|
})
|
|
39
43
|
);
|
|
40
44
|
break;
|
|
41
|
-
case '
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
case 'element':
|
|
46
|
+
(async () => {
|
|
47
|
+
/**
|
|
48
|
+
* this strategy runs a standard server and bundles the ts files to a dist_watch directory
|
|
49
|
+
*/
|
|
50
|
+
// lets create a standard server
|
|
51
|
+
console.log(
|
|
52
|
+
'bundling TypeScript files to "dist_watch" Note: This is for development only!'
|
|
53
|
+
);
|
|
54
|
+
this.typedserver = new plugins.typedserver.TypedServer({
|
|
55
|
+
cors: true,
|
|
56
|
+
injectReload: true,
|
|
57
|
+
serveDir: plugins.path.join(paths.cwd, './dist_watch/'),
|
|
58
|
+
port: 3002,
|
|
59
|
+
enableCompression: true,
|
|
60
|
+
preferredCompressionMethod: 'gzip',
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
const bundleAndReloadElement = async () => {
|
|
64
|
+
await tsbundle.build(paths.cwd, './html/index.ts', './dist_watch/bundle.js', {
|
|
65
|
+
bundler: 'esbuild',
|
|
66
|
+
});
|
|
67
|
+
await this.typedserver.reload();
|
|
68
|
+
};
|
|
69
|
+
this.watcherMap.add(
|
|
70
|
+
new Watcher({
|
|
71
|
+
filePathToWatch: plugins.path.join(paths.cwd, './ts_web/'),
|
|
72
|
+
functionToCall: async () => {
|
|
73
|
+
await bundleAndReloadElement();
|
|
74
|
+
},
|
|
75
|
+
timeout: null,
|
|
76
|
+
})
|
|
77
|
+
);
|
|
54
78
|
|
|
55
|
-
|
|
56
|
-
await
|
|
57
|
-
|
|
79
|
+
// lets get the other ts folders
|
|
80
|
+
let tsfolders = await plugins.smartfile.fs.listFolders(paths.cwd);
|
|
81
|
+
tsfolders = tsfolders.filter(
|
|
82
|
+
(itemArg) => itemArg.startsWith('ts') && itemArg !== 'ts_web'
|
|
83
|
+
);
|
|
84
|
+
const smartshellInstance = new plugins.smartshell.Smartshell({
|
|
85
|
+
executor: 'bash',
|
|
58
86
|
});
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
87
|
+
for (const tsfolder of tsfolders) {
|
|
88
|
+
logger.log('info', `creating watcher for folder ${tsfolder}`);
|
|
89
|
+
this.watcherMap.add(
|
|
90
|
+
new Watcher({
|
|
91
|
+
filePathToWatch: plugins.path.join(paths.cwd, `./${tsfolder}/`),
|
|
92
|
+
functionToCall: async () => {
|
|
93
|
+
logger.log('info', `building ${tsfolder}`);
|
|
94
|
+
await smartshellInstance.exec(`(cd ${paths.cwd} && npm run build)`);
|
|
95
|
+
await this.typedserver.reload();
|
|
96
|
+
},
|
|
97
|
+
timeout: null,
|
|
98
|
+
})
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
this.watcherMap.add(
|
|
103
|
+
new Watcher({
|
|
104
|
+
filePathToWatch: plugins.path.join(paths.cwd, './html/'),
|
|
105
|
+
functionToCall: async () => {
|
|
106
|
+
await htmlHandler.processHtml({
|
|
107
|
+
from: plugins.path.join(paths.cwd, './html/index.html'),
|
|
108
|
+
to: plugins.path.join(paths.cwd, './dist_watch/index.html'),
|
|
109
|
+
minify: false,
|
|
110
|
+
});
|
|
111
|
+
await bundleAndReloadElement();
|
|
112
|
+
},
|
|
113
|
+
timeout: null,
|
|
114
|
+
})
|
|
115
|
+
);
|
|
116
|
+
})();
|
|
84
117
|
break;
|
|
85
|
-
case '
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
118
|
+
case 'website':
|
|
119
|
+
(async () => {
|
|
120
|
+
const bundleAndReloadWebsite = async () => {
|
|
121
|
+
await tsbundle.build(paths.cwd, './ts_web/index.ts', './dist_serve/bundle.js', {
|
|
122
|
+
bundler: 'esbuild',
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
let tsfolders = await plugins.smartfile.fs.listFolders(paths.cwd);
|
|
126
|
+
tsfolders = tsfolders.filter(
|
|
127
|
+
(itemArg) => itemArg.startsWith('ts') && itemArg !== 'ts_web'
|
|
128
|
+
);
|
|
129
|
+
const smartshellInstance = new plugins.smartshell.Smartshell({
|
|
130
|
+
executor: 'bash',
|
|
96
131
|
});
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
132
|
+
for (const tsfolder of tsfolders) {
|
|
133
|
+
this.watcherMap.add(
|
|
134
|
+
new Watcher({
|
|
135
|
+
filePathToWatch: plugins.path.join(paths.cwd, `./${tsfolder}/`),
|
|
136
|
+
commandToExecute: `npm run startTs`,
|
|
137
|
+
timeout: null,
|
|
138
|
+
})
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
this.watcherMap.add(
|
|
142
|
+
new Watcher({
|
|
143
|
+
filePathToWatch: plugins.path.join(paths.cwd, './ts_web/'),
|
|
144
|
+
functionToCall: async () => {
|
|
145
|
+
await bundleAndReloadWebsite();
|
|
146
|
+
},
|
|
147
|
+
timeout: null,
|
|
148
|
+
})
|
|
149
|
+
);
|
|
150
|
+
this.watcherMap.add(
|
|
151
|
+
new Watcher({
|
|
152
|
+
filePathToWatch: plugins.path.join(paths.cwd, './html/'),
|
|
153
|
+
functionToCall: async () => {
|
|
154
|
+
await htmlHandler.processHtml({
|
|
155
|
+
from: plugins.path.join(paths.cwd, './html/index.html'),
|
|
156
|
+
to: plugins.path.join(paths.cwd, './dist_serve/index.html'),
|
|
157
|
+
minify: false,
|
|
158
|
+
});
|
|
159
|
+
await bundleAndReloadWebsite();
|
|
160
|
+
},
|
|
161
|
+
timeout: null,
|
|
162
|
+
})
|
|
163
|
+
);
|
|
164
|
+
})();
|
|
121
165
|
break;
|
|
122
|
-
case '
|
|
166
|
+
case 'service':
|
|
123
167
|
this.watcherMap.add(
|
|
124
168
|
new Watcher({
|
|
125
169
|
filePathToWatch: plugins.path.join(paths.cwd, './ts/'),
|
|
@@ -128,7 +172,7 @@ export class TsWatch {
|
|
|
128
172
|
})
|
|
129
173
|
);
|
|
130
174
|
break;
|
|
131
|
-
case '
|
|
175
|
+
case 'echo':
|
|
132
176
|
const tsWatchInstanceEchoSomething = new Watcher({
|
|
133
177
|
filePathToWatch: plugins.path.join(paths.cwd, './ts'),
|
|
134
178
|
commandToExecute: 'npm -v',
|
package/ts/tswatch.cli.ts
CHANGED
|
@@ -13,19 +13,19 @@ tswatchCli.standardCommand().subscribe((argvArg => {
|
|
|
13
13
|
|
|
14
14
|
tswatchCli.addCommand('element').subscribe(async (argvArg) => {
|
|
15
15
|
logger.log('info', `running watch task for a gitzone element project`);
|
|
16
|
-
const tsWatch = new TsWatch('
|
|
16
|
+
const tsWatch = new TsWatch('element');
|
|
17
17
|
await tsWatch.start();
|
|
18
18
|
});
|
|
19
19
|
|
|
20
20
|
tswatchCli.addCommand('npm').subscribe(async (argvArg) => {
|
|
21
21
|
logger.log('info', `running watch task for a gitzone element project`);
|
|
22
|
-
const tsWatch = new TsWatch('
|
|
22
|
+
const tsWatch = new TsWatch('node');
|
|
23
23
|
await tsWatch.start();
|
|
24
24
|
});
|
|
25
25
|
|
|
26
26
|
tswatchCli.addCommand('service').subscribe(async (argvArg) => {
|
|
27
27
|
logger.log('info', `running test task`);
|
|
28
|
-
const tsWatch = new TsWatch('
|
|
28
|
+
const tsWatch = new TsWatch('service');
|
|
29
29
|
await tsWatch.start();
|
|
30
30
|
});
|
|
31
31
|
|
|
@@ -37,7 +37,7 @@ tswatchCli.addCommand('test').subscribe(async (argvArg) => {
|
|
|
37
37
|
|
|
38
38
|
tswatchCli.addCommand('website').subscribe(async (argvArg) => {
|
|
39
39
|
logger.log('info', `running watch task for a gitzone website project`);
|
|
40
|
-
const tsWatch = new TsWatch('
|
|
40
|
+
const tsWatch = new TsWatch('website');
|
|
41
41
|
await tsWatch.start();
|
|
42
42
|
});
|
|
43
43
|
|
package/ts/tswatch.plugins.ts
CHANGED
|
@@ -20,6 +20,7 @@ import * as lik from '@push.rocks/lik';
|
|
|
20
20
|
import * as smartchok from '@push.rocks/smartchok';
|
|
21
21
|
import * as smartcli from '@push.rocks/smartcli';
|
|
22
22
|
import * as smartdelay from '@push.rocks/smartdelay';
|
|
23
|
+
import * as smartfile from '@push.rocks/smartfile';
|
|
23
24
|
import * as smartlog from '@push.rocks/smartlog';
|
|
24
25
|
import * as smartlogDestinationLocal from '@push.rocks/smartlog-destination-local';
|
|
25
26
|
import * as smartshell from '@push.rocks/smartshell';
|
|
@@ -30,6 +31,7 @@ export {
|
|
|
30
31
|
smartchok,
|
|
31
32
|
smartcli,
|
|
32
33
|
smartdelay,
|
|
34
|
+
smartfile,
|
|
33
35
|
smartlog,
|
|
34
36
|
smartlogDestinationLocal,
|
|
35
37
|
smartshell,
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
3
|
-
if (mod && mod.__esModule) return mod;
|
|
4
|
-
var result = {};
|
|
5
|
-
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
6
|
-
result["default"] = mod;
|
|
7
|
-
return result;
|
|
8
|
-
};
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
const plugins = __importStar(require("./tswatch.plugins"));
|
|
11
|
-
const paths = __importStar(require("./tswatch.paths"));
|
|
12
|
-
class Parcel {
|
|
13
|
-
async start() {
|
|
14
|
-
const entryFiles = plugins.path.join(paths.cwd, './html/index.html');
|
|
15
|
-
// Bundler options
|
|
16
|
-
const options = {
|
|
17
|
-
outDir: './dist_watch',
|
|
18
|
-
outFile: 'index.html',
|
|
19
|
-
publicUrl: '/',
|
|
20
|
-
watch: true,
|
|
21
|
-
cache: true,
|
|
22
|
-
cacheDir: '.nogit/.parcelcache',
|
|
23
|
-
contentHash: false,
|
|
24
|
-
global: 'moduleName',
|
|
25
|
-
minify: false,
|
|
26
|
-
scopeHoist: false,
|
|
27
|
-
target: 'browser',
|
|
28
|
-
bundleNodeModules: true,
|
|
29
|
-
https: null,
|
|
30
|
-
logLevel: 3,
|
|
31
|
-
hmr: true,
|
|
32
|
-
hmrPort: 3003,
|
|
33
|
-
sourceMaps: true,
|
|
34
|
-
hmrHostname: '',
|
|
35
|
-
detailedReport: false // Prints a detailed report of the bundles, assets, filesizes and times, defaults to false, reports are only printed if watch is disabled
|
|
36
|
-
};
|
|
37
|
-
const bundler = new plugins.parcel(entryFiles, options);
|
|
38
|
-
// Run the bundler, this returns the main bundle
|
|
39
|
-
// Use the events if you're using watch mode as this promise will only trigger once and not for every rebuild
|
|
40
|
-
const bundle = await bundler.serve(3002);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
exports.Parcel = Parcel;
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHN3YXRjaC5jbGFzc2VzLnBhcmNlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rzd2F0Y2guY2xhc3Nlcy5wYXJjZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsMkRBQTZDO0FBQzdDLHVEQUF5QztBQUV6QyxNQUFhLE1BQU07SUFDVixLQUFLLENBQUMsS0FBSztRQUNoQixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFFckUsa0JBQWtCO1FBQ2xCLE1BQU0sT0FBTyxHQUFpQztZQUM1QyxNQUFNLEVBQUUsY0FBYztZQUN0QixPQUFPLEVBQUUsWUFBWTtZQUNyQixTQUFTLEVBQUUsR0FBRztZQUNkLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUscUJBQXFCO1lBQy9CLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLE1BQU0sRUFBRSxZQUFZO1lBQ3BCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsVUFBVSxFQUFFLEtBQUs7WUFDakIsTUFBTSxFQUFFLFNBQVM7WUFDakIsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixLQUFLLEVBQUUsSUFBSTtZQUNYLFFBQVEsRUFBRSxDQUFDO1lBQ1gsR0FBRyxFQUFFLElBQUk7WUFDVCxPQUFPLEVBQUUsSUFBSTtZQUNiLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsY0FBYyxFQUFFLEtBQUssQ0FBQyx5SUFBeUk7U0FDaEssQ0FBQztRQUVGLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFeEQsZ0RBQWdEO1FBQ2hELDZHQUE2RztRQUM3RyxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNGO0FBakNELHdCQWlDQyJ9
|