@villedemontreal/mongo 7.1.3 → 7.2.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.
Files changed (89) hide show
  1. package/dist/src/config/configs.d.ts +1 -0
  2. package/dist/src/config/configs.d.ts.map +1 -0
  3. package/dist/src/config/configs.js +1 -1
  4. package/dist/src/config/configs.js.map +1 -1
  5. package/dist/src/config/constants.d.ts +1 -0
  6. package/dist/src/config/constants.d.ts.map +1 -0
  7. package/dist/src/config/constants.js +2 -2
  8. package/dist/src/config/constants.js.map +1 -1
  9. package/dist/src/config/init.d.ts +1 -0
  10. package/dist/src/config/init.d.ts.map +1 -0
  11. package/dist/src/config/init.js +2 -3
  12. package/dist/src/config/init.js.map +1 -1
  13. package/dist/src/config/mongooseConfigs.d.ts +1 -0
  14. package/dist/src/config/mongooseConfigs.d.ts.map +1 -0
  15. package/dist/src/config/mongooseConfigs.js +1 -1
  16. package/dist/src/config/mongooseConfigs.js.map +1 -1
  17. package/dist/src/index.d.ts +1 -0
  18. package/dist/src/index.d.ts.map +1 -0
  19. package/dist/src/mongoClient.d.ts +1 -0
  20. package/dist/src/mongoClient.d.ts.map +1 -0
  21. package/dist/src/mongoClient.js +2 -3
  22. package/dist/src/mongoClient.js.map +1 -1
  23. package/dist/src/mongoUpdater.d.ts +1 -0
  24. package/dist/src/mongoUpdater.d.ts.map +1 -0
  25. package/dist/src/mongoUpdater.js +1 -1
  26. package/dist/src/mongoUpdater.js.map +1 -1
  27. package/dist/src/mongoUpdater.test.d.ts +1 -0
  28. package/dist/src/mongoUpdater.test.d.ts.map +1 -0
  29. package/dist/src/mongoUpdater.test.js +1 -0
  30. package/dist/src/mongoUpdater.test.js.map +1 -1
  31. package/dist/src/mongoUtils.d.ts +1 -0
  32. package/dist/src/mongoUtils.d.ts.map +1 -0
  33. package/dist/src/mongoUtils.js +6 -5
  34. package/dist/src/mongoUtils.js.map +1 -1
  35. package/dist/src/mongoUtils.test.d.ts +1 -0
  36. package/dist/src/mongoUtils.test.d.ts.map +1 -0
  37. package/dist/src/plugins/pagination/index.d.ts +1 -0
  38. package/dist/src/plugins/pagination/index.d.ts.map +1 -0
  39. package/dist/src/plugins/pagination/index.js +3 -3
  40. package/dist/src/plugins/pagination/index.js.map +1 -1
  41. package/dist/src/plugins/pagination/index.test.d.ts +1 -0
  42. package/dist/src/plugins/pagination/index.test.d.ts.map +1 -0
  43. package/dist/src/plugins/pagination/index.test.js.map +1 -1
  44. package/dist/src/plugins/pagination/specs/IPaginateOptions.d.ts +1 -0
  45. package/dist/src/plugins/pagination/specs/IPaginateOptions.d.ts.map +1 -0
  46. package/dist/src/utils/logger.d.ts +1 -0
  47. package/dist/src/utils/logger.d.ts.map +1 -0
  48. package/dist/src/utils/logger.js +2 -3
  49. package/dist/src/utils/logger.js.map +1 -1
  50. package/dist/src/utils/testingConfigurations.d.ts +1 -0
  51. package/dist/src/utils/testingConfigurations.d.ts.map +1 -0
  52. package/dist/src/utils/testingConfigurations.js +1 -2
  53. package/dist/src/utils/testingConfigurations.js.map +1 -1
  54. package/dist/tests/testingMongoUpdates/1.0.0.d.ts +1 -0
  55. package/dist/tests/testingMongoUpdates/1.0.0.d.ts.map +1 -0
  56. package/dist/tests/testingMongoUpdates/1.0.0.js +1 -1
  57. package/dist/tests/testingMongoUpdates/1.0.0.js.map +1 -1
  58. package/dist/tests/testingMongoUpdates/1.0.1.d.ts +1 -0
  59. package/dist/tests/testingMongoUpdates/1.0.1.d.ts.map +1 -0
  60. package/dist/tests/testingMongoUpdates/1.0.1.js +1 -1
  61. package/dist/tests/testingMongoUpdates/1.0.1.js.map +1 -1
  62. package/dist/tsconfig.tsbuildinfo +1 -0
  63. package/package.json +38 -34
  64. package/src/config/configs.ts +1 -1
  65. package/src/config/constants.ts +2 -2
  66. package/src/config/mongooseConfigs.ts +1 -1
  67. package/src/mongoUpdater.test.ts +5 -3
  68. package/src/mongoUtils.ts +6 -5
  69. package/dist/scripts/index.d.ts +0 -6
  70. package/dist/scripts/index.js +0 -16
  71. package/dist/scripts/index.js.map +0 -1
  72. package/dist/scripts/lint.d.ts +0 -6
  73. package/dist/scripts/lint.js +0 -18
  74. package/dist/scripts/lint.js.map +0 -1
  75. package/dist/scripts/lintFix.d.ts +0 -6
  76. package/dist/scripts/lintFix.js +0 -21
  77. package/dist/scripts/lintFix.js.map +0 -1
  78. package/dist/scripts/showCoverage.d.ts +0 -13
  79. package/dist/scripts/showCoverage.js +0 -40
  80. package/dist/scripts/showCoverage.js.map +0 -1
  81. package/dist/scripts/test.d.ts +0 -13
  82. package/dist/scripts/test.js +0 -29
  83. package/dist/scripts/test.js.map +0 -1
  84. package/dist/scripts/testUnits.d.ts +0 -15
  85. package/dist/scripts/testUnits.js +0 -95
  86. package/dist/scripts/testUnits.js.map +0 -1
  87. package/dist/scripts/watch.d.ts +0 -14
  88. package/dist/scripts/watch.js +0 -96
  89. package/dist/scripts/watch.js.map +0 -1
@@ -1,6 +0,0 @@
1
- import { ScriptBase } from '@villedemontreal/scripting/dist/src';
2
- export declare class LintFixScript extends ScriptBase {
3
- get name(): string;
4
- get description(): string;
5
- protected main(): Promise<void>;
6
- }
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LintFixScript = void 0;
4
- const src_1 = require("@villedemontreal/scripting/dist/src");
5
- const configs_1 = require("../src/config/configs");
6
- class LintFixScript extends src_1.ScriptBase {
7
- get name() {
8
- return 'lint-fix';
9
- }
10
- get description() {
11
- return `Fix the code using ESLint validation (including TSLint and Prettier rules).`;
12
- }
13
- async main() {
14
- await this.invokeShellCommand(`${configs_1.configs.libRoot}/node_modules/.bin/eslint`, [
15
- '--fix',
16
- configs_1.configs.libRoot,
17
- ]);
18
- }
19
- }
20
- exports.LintFixScript = LintFixScript;
21
- //# sourceMappingURL=lintFix.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lintFix.js","sourceRoot":"","sources":["../../scripts/lintFix.ts"],"names":[],"mappings":";;;AAAA,6DAAiE;AACjE,mDAAgD;AAEhD,MAAa,aAAc,SAAQ,gBAAU;IAC3C,IAAI,IAAI;QACN,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,6EAA6E,CAAC;IACvF,CAAC;IAES,KAAK,CAAC,IAAI;QAClB,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,iBAAO,CAAC,OAAO,2BAA2B,EAAE;YAC3E,OAAO;YACP,iBAAO,CAAC,OAAO;SAChB,CAAC,CAAC;IACL,CAAC;CACF;AAfD,sCAeC"}
@@ -1,13 +0,0 @@
1
- import { Command } from '@caporal/core';
2
- import { ScriptBase } from '@villedemontreal/scripting/dist/src';
3
- export interface Options {
4
- report?: string;
5
- }
6
- export declare class ShowCoverageScript extends ScriptBase<Options> {
7
- get name(): string;
8
- get description(): string;
9
- protected get requiredDependencies(): string[];
10
- protected configure(command: Command): Promise<void>;
11
- protected main(): Promise<void>;
12
- protected getReportDir(): string;
13
- }
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ShowCoverageScript = void 0;
4
- const core_1 = require("@caporal/core");
5
- const src_1 = require("@villedemontreal/scripting/dist/src");
6
- const path = require("path");
7
- const configs_1 = require("../src/config/configs");
8
- class ShowCoverageScript extends src_1.ScriptBase {
9
- get name() {
10
- return 'show-coverage';
11
- }
12
- get description() {
13
- return `Open the tests coverage report.`;
14
- }
15
- get requiredDependencies() {
16
- return ['nyc'];
17
- }
18
- async configure(command) {
19
- command.option(`--report <path>`, `The relative path to the coverage report directory.`, {
20
- default: `output/coverage`,
21
- validator: core_1.program.STRING,
22
- });
23
- }
24
- async main() {
25
- if (configs_1.configs.isWindows) {
26
- await this.invokeShellCommand('start', ['', this.getReportDir()], {
27
- useShellOption: true,
28
- });
29
- }
30
- else {
31
- await this.invokeShellCommand('open', [this.getReportDir()]);
32
- }
33
- }
34
- getReportDir() {
35
- const reportDir = path.resolve(configs_1.configs.libRoot, this.options.report, 'lcov-report/index.html');
36
- return reportDir;
37
- }
38
- }
39
- exports.ShowCoverageScript = ShowCoverageScript;
40
- //# sourceMappingURL=showCoverage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"showCoverage.js","sourceRoot":"","sources":["../../scripts/showCoverage.ts"],"names":[],"mappings":";;;AAAA,wCAAiD;AACjD,6DAAiE;AACjE,6BAA6B;AAC7B,mDAAgD;AAMhD,MAAa,kBAAmB,SAAQ,gBAAmB;IACzD,IAAI,IAAI;QACN,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IAED,IAAc,oBAAoB;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAES,KAAK,CAAC,SAAS,CAAC,OAAgB;QACxC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,qDAAqD,EAAE;YACvF,OAAO,EAAE,iBAAiB;YAC1B,SAAS,EAAE,cAAO,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,IAAI;QAClB,IAAI,iBAAO,CAAC,SAAS,EAAE;YACrB,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE;gBAChE,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;SAC9D;IACH,CAAC;IAES,YAAY;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC/F,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAlCD,gDAkCC"}
@@ -1,13 +0,0 @@
1
- import { Command } from '@caporal/core';
2
- import { ScriptBase } from '@villedemontreal/scripting/dist/src';
3
- export interface Options {
4
- bail?: boolean;
5
- jenkins?: boolean;
6
- report?: string;
7
- }
8
- export declare class TestScript extends ScriptBase<Options> {
9
- get name(): string;
10
- get description(): string;
11
- protected configure(command: Command): Promise<void>;
12
- protected main(): Promise<void>;
13
- }
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TestScript = void 0;
4
- const core_1 = require("@caporal/core");
5
- const src_1 = require("@villedemontreal/scripting/dist/src");
6
- const lint_1 = require("./lint");
7
- const testUnits_1 = require("./testUnits");
8
- class TestScript extends src_1.ScriptBase {
9
- get name() {
10
- return 'test';
11
- }
12
- get description() {
13
- return `Run the unit tests + the linting validations.`;
14
- }
15
- async configure(command) {
16
- command.option(`--bail`, `Stop the execution of the tests as soon as an error occures.`);
17
- command.option(`--jenkins`, `Configure the tests to be run by Jenkins.`);
18
- command.option(`--report <path>`, `The relative path to the report, when the tests are run for Jenkins.`, {
19
- default: `output/test-results/report.xml`,
20
- validator: core_1.program.STRING,
21
- });
22
- }
23
- async main() {
24
- await this.invokeScript(lint_1.LintScript, {}, {});
25
- await this.invokeScript(testUnits_1.TestUnitsScript, this.options, {});
26
- }
27
- }
28
- exports.TestScript = TestScript;
29
- //# sourceMappingURL=test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../scripts/test.ts"],"names":[],"mappings":";;;AAAA,wCAAiD;AACjD,6DAAiE;AACjE,iCAAoC;AACpC,2CAA8C;AAQ9C,MAAa,UAAW,SAAQ,gBAAmB;IACjD,IAAI,IAAI;QACN,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,+CAA+C,CAAC;IACzD,CAAC;IAES,KAAK,CAAC,SAAS,CAAC,OAAgB;QACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,8DAA8D,CAAC,CAAC;QACzF,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,2CAA2C,CAAC,CAAC;QACzE,OAAO,CAAC,MAAM,CACZ,iBAAiB,EACjB,sEAAsE,EACtE;YACE,OAAO,EAAE,gCAAgC;YACzC,SAAS,EAAE,cAAO,CAAC,MAAM;SAC1B,CACF,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,IAAI;QAClB,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,YAAY,CAAC,2BAAe,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF;AA1BD,gCA0BC"}
@@ -1,15 +0,0 @@
1
- import { Command } from '@caporal/core';
2
- import { ScriptBase } from '@villedemontreal/scripting/dist/src';
3
- export interface Options {
4
- bail?: boolean;
5
- jenkins?: boolean;
6
- report?: string;
7
- }
8
- export declare class TestUnitsScript extends ScriptBase<Options> {
9
- get name(): string;
10
- get description(): string;
11
- protected configure(command: Command): Promise<void>;
12
- protected get requiredDependencies(): string[];
13
- private addQuotes;
14
- protected main(): Promise<void>;
15
- }
@@ -1,95 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TestUnitsScript = void 0;
4
- const core_1 = require("@caporal/core");
5
- const src_1 = require("@villedemontreal/scripting/dist/src");
6
- const _ = require("lodash");
7
- const configs_1 = require("../src/config/configs");
8
- const TESTS_LOCATIONS = [`${configs_1.configs.libRoot}/dist/src/**/*.test.js`];
9
- class TestUnitsScript extends src_1.ScriptBase {
10
- get name() {
11
- return 'test-units';
12
- }
13
- get description() {
14
- return `Run the unit tests.`;
15
- }
16
- async configure(command) {
17
- command.option(`--bail`, `Stop the execution of the tests as soon as an error occures.`);
18
- command.option(`--jenkins`, `Configure the tests to be run by Jenkins.`);
19
- command.option(`--report <path>`, `The relative path to the report, when the tests are run for Jenkins.`, {
20
- default: `output/test-results/report.xml`,
21
- validator: core_1.program.STRING,
22
- });
23
- }
24
- get requiredDependencies() {
25
- const deps = ['mocha'];
26
- if (this.options.jenkins) {
27
- deps.push('mocha-jenkins-reporter');
28
- }
29
- return deps;
30
- }
31
- addQuotes(tokens) {
32
- if (_.isNil(tokens) || tokens.length === 0) {
33
- return [];
34
- }
35
- return tokens.map((token) => {
36
- return _.isNil(token) ? token : `"${_.trim(token, '"')}"`;
37
- });
38
- }
39
- async main() {
40
- const cmdArgs = [];
41
- if (await this.isProjectDirectDependency(`nyc`)) {
42
- cmdArgs.push(`${configs_1.configs.libRoot}/node_modules/nyc/bin/nyc`);
43
- }
44
- else {
45
- this.logger.warn(`The "nyc" direct dependency was not found in your project. The tests will be run using Mocha only!`);
46
- }
47
- cmdArgs.push(`${configs_1.configs.libRoot}/node_modules/mocha/bin/_mocha`);
48
- // ==========================================
49
- // The test locations need to be quoted because
50
- // they may contain a "**" wildcard that some
51
- // shells may interpret differently otherwise!
52
- //
53
- // @see https://mochajs.org/#the-test-directory
54
- // ==========================================
55
- cmdArgs.push(...this.addQuotes(TESTS_LOCATIONS));
56
- cmdArgs.push(`--exit`);
57
- // ==========================================
58
- // Stop testing as soon as one test fails?
59
- // ==========================================
60
- if (this.options.bail) {
61
- cmdArgs.push('--bail');
62
- }
63
- // ==========================================
64
- // For Jenkins, the path to the report to generate
65
- // can be passed :
66
- // - as a command line param :
67
- // "run test-units --jenkins --report output/test-results/report.xml"
68
- // - as an "JUNIT_REPORT_PATH" environment variable.
69
- //
70
- // By default, the path will be "output/test-results/report.xml"
71
- // ==========================================
72
- if (this.options.jenkins) {
73
- if (this.options.report) {
74
- process.env.JUNIT_REPORT_PATH = this.options.report;
75
- }
76
- else if (!process.env.JUNIT_REPORT_PATH) {
77
- process.env.JUNIT_REPORT_PATH = 'output/test-results/report.xml';
78
- }
79
- this.logger.info('Exporting tests to junit file ' + process.env.JUNIT_REPORT_PATH);
80
- cmdArgs.push('--reporter');
81
- cmdArgs.push('mocha-jenkins-reporter');
82
- }
83
- try {
84
- await this.invokeShellCommand('node', cmdArgs, {
85
- useTestsNodeAppInstance: true,
86
- });
87
- this.logger.info(" \u21b3 type 'run show-coverage' (or './run show-coverage' on Linux/Mac) to display the HTML report");
88
- }
89
- catch (err) {
90
- throw new Error('Some unit tests failed');
91
- }
92
- }
93
- }
94
- exports.TestUnitsScript = TestUnitsScript;
95
- //# sourceMappingURL=testUnits.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testUnits.js","sourceRoot":"","sources":["../../scripts/testUnits.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { Command } from '@caporal/core';
2
- import { ScriptBase } from '@villedemontreal/scripting/dist/src';
3
- export interface Options {
4
- /**
5
- * Disable the visual notification
6
- */
7
- dn?: boolean;
8
- }
9
- export declare class WatchScript extends ScriptBase<Options> {
10
- get name(): string;
11
- get description(): string;
12
- protected configure(command: Command): Promise<void>;
13
- protected main(): Promise<void>;
14
- }
@@ -1,96 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WatchScript = void 0;
4
- const general_utils_1 = require("@villedemontreal/general-utils");
5
- const src_1 = require("@villedemontreal/scripting/dist/src");
6
- const _ = require("lodash");
7
- const path = require("path");
8
- const configs_1 = require("../src/config/configs");
9
- const notifier = require('node-notifier');
10
- class WatchScript extends src_1.ScriptBase {
11
- get name() {
12
- return 'watch';
13
- }
14
- get description() {
15
- return `Start Typescript incremental compilation. \
16
- You can run this script in an external terminal and then debug your \
17
- application in your IDE. When you have made some modifications and want \
18
- to test them, you stop your application and restart it \
19
- using the "Debug Locally - fast" launch configuration (if you are \
20
- in VSCode) or \`run start --nc\`. No compilation is required at \
21
- that point since the incremental compilation is already done by this script.`;
22
- }
23
- async configure(command) {
24
- command.option(`--dn`, `Disable the visual notifications`);
25
- }
26
- async main() {
27
- this.logger.info(`\n==========================================\n` +
28
- `Starting incremental compilation...\n` +
29
- `==========================================\n`);
30
- const projectName = require(configs_1.configs.libRoot + '/package.json').namae;
31
- let ignoreNextCompilationComplete = false;
32
- const compilationCompletetRegEx = /(Compilation complete)|(Found 0 errors)/;
33
- // eslint-disable-next-line no-control-regex
34
- const errorRegEx = /(: error)|(error)/;
35
- const outputHandler = (stdoutData, stderrData) => {
36
- if (stdoutData) {
37
- const stdoutDataClean = stdoutData.toString();
38
- this.logger.info(stdoutDataClean);
39
- if (this.options.dn) {
40
- return;
41
- }
42
- let error = false;
43
- if (errorRegEx.test(stdoutDataClean)) {
44
- error = true;
45
- notifier.notify({
46
- title: projectName,
47
- message: 'incremental compilation error',
48
- icon: path.normalize(`${__dirname}/../../../assets/notifications/error.png`),
49
- sound: false,
50
- });
51
- }
52
- else if (compilationCompletetRegEx.test(stdoutDataClean)) {
53
- if (!ignoreNextCompilationComplete) {
54
- notifier.notify({
55
- title: projectName,
56
- message: 'incremental compilation done',
57
- icon: path.normalize(`${__dirname}/../../../assets/notifications/success.png`),
58
- sound: false,
59
- });
60
- }
61
- }
62
- ignoreNextCompilationComplete = error && !compilationCompletetRegEx.test(stdoutDataClean);
63
- }
64
- if (stderrData && !stderrData.match(/^Debugger attached.(\n|\r\n)$/)) {
65
- this.logger.error(stderrData);
66
- }
67
- };
68
- // eslint-disable-next-line no-constant-condition
69
- while (true) {
70
- try {
71
- await this.invokeShellCommand('node', [
72
- `${configs_1.configs.libRoot}/node_modules/typescript/lib/tsc.js`,
73
- '--project',
74
- configs_1.configs.libRoot,
75
- '--watch',
76
- '--pretty',
77
- ], {
78
- outputHandler,
79
- });
80
- }
81
- catch (err) {
82
- // ==========================================
83
- // @see https://stackoverflow.com/a/25444766/843699
84
- // ==========================================
85
- if (_.isString(err) && err.indexOf('3221225786') >= 0) {
86
- this.logger.error('Exiting...');
87
- process.exit(0);
88
- }
89
- this.logger.error('Error, restarting incremental compilation in a second : ' + String(err));
90
- await general_utils_1.utils.sleep(1000);
91
- }
92
- }
93
- }
94
- }
95
- exports.WatchScript = WatchScript;
96
- //# sourceMappingURL=watch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../scripts/watch.ts"],"names":[],"mappings":"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"}