@bitblit/ratchet-node-only 4.0.419-alpha → 4.0.421-alpha

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 (84) hide show
  1. package/lib/build/index.d.ts +1 -0
  2. package/lib/build/index.js +2 -0
  3. package/lib/build/index.js.map +1 -0
  4. package/lib/build/ratchet-node-only-info.d.ts +5 -0
  5. package/lib/build/ratchet-node-only-info.js +15 -0
  6. package/lib/build/ratchet-node-only-info.js.map +1 -0
  7. package/lib/ci/apply-ci-env-variables-to-files.d.ts +7 -0
  8. package/lib/ci/apply-ci-env-variables-to-files.js +81 -0
  9. package/lib/ci/apply-ci-env-variables-to-files.js.map +1 -0
  10. package/lib/ci/ci-run-information-util.d.ts +8 -0
  11. package/lib/ci/ci-run-information-util.js +44 -0
  12. package/lib/ci/ci-run-information-util.js.map +1 -0
  13. package/lib/ci/ci-run-information.d.ts +9 -0
  14. package/lib/ci/ci-run-information.js +2 -0
  15. package/lib/ci/ci-run-information.js.map +1 -0
  16. package/lib/ci/index.d.ts +3 -0
  17. package/lib/ci/index.js +4 -0
  18. package/lib/ci/index.js.map +1 -0
  19. package/lib/cli/abstract-ratchet-cli-handler.d.ts +6 -0
  20. package/lib/cli/abstract-ratchet-cli-handler.js +31 -0
  21. package/lib/cli/abstract-ratchet-cli-handler.js.map +1 -0
  22. package/lib/cli/cli-ratchet.d.ts +6 -0
  23. package/lib/cli/cli-ratchet.js +29 -0
  24. package/lib/cli/cli-ratchet.js.map +1 -0
  25. package/lib/cli/index.d.ts +3 -0
  26. package/lib/cli/index.js +4 -0
  27. package/lib/cli/index.js.map +1 -0
  28. package/lib/cli/ratchet-cli-handler.d.ts +6 -0
  29. package/lib/cli/ratchet-cli-handler.js +20 -0
  30. package/lib/cli/ratchet-cli-handler.js.map +1 -0
  31. package/lib/csv/csv-ratchet.d.ts +24 -0
  32. package/lib/csv/csv-ratchet.js +159 -0
  33. package/lib/csv/csv-ratchet.js.map +1 -0
  34. package/lib/csv/index.d.ts +1 -0
  35. package/lib/csv/index.js +2 -0
  36. package/lib/csv/index.js.map +1 -0
  37. package/lib/export-builder/export-map-builder-config.d.ts +9 -0
  38. package/lib/export-builder/export-map-builder-config.js +2 -0
  39. package/lib/export-builder/export-map-builder-config.js.map +1 -0
  40. package/lib/export-builder/export-map-builder-target-config.d.ts +5 -0
  41. package/lib/export-builder/export-map-builder-target-config.js +2 -0
  42. package/lib/export-builder/export-map-builder-target-config.js.map +1 -0
  43. package/lib/export-builder/export-map-builder.d.ts +8 -0
  44. package/lib/export-builder/export-map-builder.js +138 -0
  45. package/lib/export-builder/export-map-builder.js.map +1 -0
  46. package/lib/export-builder/index.d.ts +3 -0
  47. package/lib/export-builder/index.js +4 -0
  48. package/lib/export-builder/index.js.map +1 -0
  49. package/lib/files/files-to-static-class.d.ts +5 -0
  50. package/lib/files/files-to-static-class.js +76 -0
  51. package/lib/files/files-to-static-class.js.map +1 -0
  52. package/lib/files/index.d.ts +2 -0
  53. package/lib/files/index.js +3 -0
  54. package/lib/files/index.js.map +1 -0
  55. package/lib/files/unique-file-rename.d.ts +4 -0
  56. package/lib/files/unique-file-rename.js +68 -0
  57. package/lib/files/unique-file-rename.js.map +1 -0
  58. package/lib/stream/buffer-writable.d.ts +7 -0
  59. package/lib/stream/buffer-writable.js +17 -0
  60. package/lib/stream/buffer-writable.js.map +1 -0
  61. package/lib/stream/index.d.ts +4 -0
  62. package/lib/stream/index.js +5 -0
  63. package/lib/stream/index.js.map +1 -0
  64. package/lib/stream/multi-stream.d.ts +6 -0
  65. package/lib/stream/multi-stream.js +13 -0
  66. package/lib/stream/multi-stream.js.map +1 -0
  67. package/lib/stream/node-stream-ratchet.d.ts +9 -0
  68. package/lib/stream/node-stream-ratchet.js +53 -0
  69. package/lib/stream/node-stream-ratchet.js.map +1 -0
  70. package/lib/stream/string-writable.d.ts +7 -0
  71. package/lib/stream/string-writable.js +15 -0
  72. package/lib/stream/string-writable.js.map +1 -0
  73. package/lib/third-party/git/git-ratchet.d.ts +26 -0
  74. package/lib/third-party/git/git-ratchet.js +71 -0
  75. package/lib/third-party/git/git-ratchet.js.map +1 -0
  76. package/lib/third-party/index.d.ts +2 -0
  77. package/lib/third-party/index.js +3 -0
  78. package/lib/third-party/index.js.map +1 -0
  79. package/lib/third-party/slack/publish-ci-release-to-slack.d.ts +4 -0
  80. package/lib/third-party/slack/publish-ci-release-to-slack.js +59 -0
  81. package/lib/third-party/slack/publish-ci-release-to-slack.js.map +1 -0
  82. package/package.json +10 -8
  83. package/lib/index.mjs +0 -2
  84. package/lib/types.d.ts +0 -149
@@ -0,0 +1 @@
1
+ export * from './ratchet-node-only-info.js';
@@ -0,0 +1,2 @@
1
+ export * from './ratchet-node-only-info.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"AAIA,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { BuildInformation } from '@bitblit/ratchet-common/build/build-information';
2
+ export declare class RatchetNodeOnlyInfo {
3
+ private constructor();
4
+ static buildInformation(): BuildInformation;
5
+ }
@@ -0,0 +1,15 @@
1
+ export class RatchetNodeOnlyInfo {
2
+ constructor() { }
3
+ static buildInformation() {
4
+ const val = {
5
+ version: 'LOCAL-SNAPSHOT',
6
+ hash: 'LOCAL-HASH',
7
+ branch: 'LOCAL-BRANCH',
8
+ tag: 'LOCAL-TAG',
9
+ timeBuiltISO: 'LOCAL-TIME-ISO',
10
+ notes: 'LOCAL-NOTES',
11
+ };
12
+ return val;
13
+ }
14
+ }
15
+ //# sourceMappingURL=ratchet-node-only-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ratchet-node-only-info.js","sourceRoot":"","sources":["../../src/build/ratchet-node-only-info.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,mBAAmB;IAG9B,gBAAuB,CAAC;IAEjB,MAAM,CAAC,gBAAgB;QAC5B,MAAM,GAAG,GAAqB;YAC5B,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,cAAc;YACtB,GAAG,EAAE,WAAW;YAChB,YAAY,EAAE,gBAAgB;YAC9B,KAAK,EAAE,aAAa;SACrB,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ import { CiRunInformation } from './ci-run-information.js';
2
+ export declare class ApplyCiEnvVariablesToFiles {
3
+ static process(fileNames: string[], cfg: CiRunInformation, buildFinder?: string, branchFinder?: string, hashFinder?: string, tagFinder?: string, timeFinder?: string): Promise<number>;
4
+ static extractFileNames(): string[];
5
+ static extractVariableConfig(inName: string): CiRunInformation;
6
+ static runFromCliArgs(args: string[]): Promise<number>;
7
+ }
@@ -0,0 +1,81 @@
1
+ import fs from 'fs';
2
+ import { CiRunInformationUtil } from './ci-run-information-util.js';
3
+ import { RequireRatchet } from '@bitblit/ratchet-common/lang/require-ratchet';
4
+ import { Logger } from '@bitblit/ratchet-common/logger/logger';
5
+ import { ErrorRatchet } from '@bitblit/ratchet-common/lang/error-ratchet';
6
+ import { StringRatchet } from '@bitblit/ratchet-common/lang/string-ratchet';
7
+ export class ApplyCiEnvVariablesToFiles {
8
+ static async process(fileNames, cfg, buildFinder = 'LOCAL-SNAPSHOT', branchFinder = 'LOCAL-BRANCH', hashFinder = 'LOCAL-HASH', tagFinder = 'LOCAL-TAG', timeFinder = 'LOCAL-TIME') {
9
+ RequireRatchet.notNullOrUndefined(cfg, 'cfg');
10
+ RequireRatchet.notNullOrUndefined(cfg.buildNumber, 'cfg.buildNumber');
11
+ RequireRatchet.notNullOrUndefined(cfg.localTime, 'cfg.localTime');
12
+ if (!fileNames) {
13
+ throw new Error('fileNames must be defined');
14
+ }
15
+ if (fileNames.length === 0) {
16
+ Logger.warn('Warning - no files supplied to process');
17
+ }
18
+ if (!cfg.buildNumber) {
19
+ ErrorRatchet.throwFormattedErr('%s env var not set - apparently not in a CI environment', cfg.buildNumber);
20
+ }
21
+ Logger.info('Processing files %j with run info %j', cfg);
22
+ let foundCount = 0;
23
+ fileNames.forEach((f) => {
24
+ if (!fs.existsSync(f)) {
25
+ Logger.error('Could not find file %s to process, continuing', f);
26
+ }
27
+ else {
28
+ try {
29
+ let contents = fs.readFileSync(f).toString();
30
+ contents = contents.split(buildFinder).join(cfg.buildNumber);
31
+ contents = contents.split(branchFinder).join(cfg.branch || '');
32
+ contents = contents.split(hashFinder).join(cfg.commitHash || '');
33
+ contents = contents.split(tagFinder).join(cfg.tag || '');
34
+ contents = contents.split(timeFinder).join(cfg.localTime || '');
35
+ fs.writeFileSync(f, contents);
36
+ foundCount++;
37
+ }
38
+ catch (err) {
39
+ Logger.error('Error processing %s , continuing: %s', f, err, err);
40
+ }
41
+ }
42
+ });
43
+ return foundCount;
44
+ }
45
+ static extractFileNames() {
46
+ let rval = [];
47
+ if (process && process.argv && process.argv.length > 3) {
48
+ rval = process.argv.slice(3);
49
+ }
50
+ return rval;
51
+ }
52
+ static extractVariableConfig(inName) {
53
+ let rval = null;
54
+ const name = StringRatchet.trimToEmpty(inName).toLowerCase();
55
+ switch (name) {
56
+ case 'circleci':
57
+ rval = CiRunInformationUtil.createDefaultCircleCiRunInformation();
58
+ break;
59
+ case 'github':
60
+ rval = CiRunInformationUtil.createDefaultGithubActionsRunInformation();
61
+ break;
62
+ case 'test':
63
+ rval = CiRunInformationUtil.createTestingCiRunInformation();
64
+ break;
65
+ default:
66
+ ErrorRatchet.throwFormattedErr('Unrecognized env var config type : %s', name);
67
+ }
68
+ Logger.info('Using variable config : %j', rval);
69
+ return rval;
70
+ }
71
+ static async runFromCliArgs(args) {
72
+ if (args.length > 1) {
73
+ return ApplyCiEnvVariablesToFiles.process(args.slice(1), ApplyCiEnvVariablesToFiles.extractVariableConfig(args[0]));
74
+ }
75
+ else {
76
+ Logger.infoP('Usage : apply-ci-env-variables-to-files {file1} {file2} ...');
77
+ return -1;
78
+ }
79
+ }
80
+ }
81
+ //# sourceMappingURL=apply-ci-env-variables-to-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-ci-env-variables-to-files.js","sourceRoot":"","sources":["../../src/ci/apply-ci-env-variables-to-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAE5E,MAAM,OAAO,0BAA0B;IAC9B,MAAM,CAAC,KAAK,CAAC,OAAO,CACzB,SAAmB,EACnB,GAAqB,EACrB,WAAW,GAAG,gBAAgB,EAC9B,YAAY,GAAG,cAAc,EAC7B,UAAU,GAAG,YAAY,EACzB,SAAS,GAAG,WAAW,EACvB,UAAU,GAAG,YAAY;QAEzB,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9C,cAAc,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;QACtE,cAAc,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACrB,YAAY,CAAC,iBAAiB,CAAC,yDAAyD,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7G,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;QAEzD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,IAAI,QAAQ,GAAW,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACrD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC7D,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;oBAC/D,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;oBACjE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;oBACzD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;oBAChE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;oBAC9B,UAAU,EAAE,CAAC;gBACf,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,gBAAgB;QAC5B,IAAI,IAAI,GAAa,EAAE,CAAC;QACxB,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,MAAc;QAChD,IAAI,IAAI,GAAqB,IAAI,CAAC;QAClC,MAAM,IAAI,GAAW,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACrE,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,UAAU;gBACb,IAAI,GAAG,oBAAoB,CAAC,mCAAmC,EAAE,CAAC;gBAClE,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,GAAG,oBAAoB,CAAC,wCAAwC,EAAE,CAAC;gBACvE,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,GAAG,oBAAoB,CAAC,6BAA6B,EAAE,CAAC;gBAC5D,MAAM;YACR;gBACE,YAAY,CAAC,iBAAiB,CAAC,uCAAuC,EAAE,IAAI,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC;IACd,CAAC;IAMM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAc;QAC/C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,0BAA0B,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YAC5E,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ import { CiRunInformation } from './ci-run-information.js';
2
+ export declare class CiRunInformationUtil {
3
+ static readonly DEFAULT_TIME_FORMAT: string;
4
+ static readonly DEFAULT_TIME_ZONE: string;
5
+ static createTestingCiRunInformation(timezone?: string): CiRunInformation;
6
+ static createDefaultCircleCiRunInformation(timezone?: string): CiRunInformation;
7
+ static createDefaultGithubActionsRunInformation(timezone?: string): CiRunInformation;
8
+ }
@@ -0,0 +1,44 @@
1
+ import { DateTime } from 'luxon';
2
+ import { GlobalRatchet } from '@bitblit/ratchet-common/lang/global-ratchet';
3
+ export class CiRunInformationUtil {
4
+ static DEFAULT_TIME_FORMAT = 'yyyy-MM-dd HH:mm:ss a z';
5
+ static DEFAULT_TIME_ZONE = 'America/Los_Angeles';
6
+ static createTestingCiRunInformation(timezone = CiRunInformationUtil.DEFAULT_TIME_ZONE) {
7
+ const now = new Date().toISOString();
8
+ const rval = {
9
+ buildNumber: 'Test_buildNumberVar_' + now,
10
+ localTime: DateTime.local().setZone(timezone).toFormat(CiRunInformationUtil.DEFAULT_TIME_FORMAT),
11
+ branch: 'Test_branchVar_' + now,
12
+ tag: 'Test_tagVar_' + now,
13
+ commitHash: 'Test_hashVar_' + now,
14
+ userName: 'Test_userNameVar_' + now,
15
+ projectName: 'Test_projectNameVar_' + now,
16
+ };
17
+ return rval;
18
+ }
19
+ static createDefaultCircleCiRunInformation(timezone = CiRunInformationUtil.DEFAULT_TIME_ZONE) {
20
+ const rval = {
21
+ buildNumber: GlobalRatchet.fetchGlobalVar('CIRCLE_BUILD_NUM'),
22
+ branch: GlobalRatchet.fetchGlobalVar('CIRCLE_BRANCH'),
23
+ tag: GlobalRatchet.fetchGlobalVar('CIRCLE_TAG'),
24
+ commitHash: GlobalRatchet.fetchGlobalVar('CIRCLE_SHA1'),
25
+ localTime: DateTime.local().setZone(timezone).toFormat(CiRunInformationUtil.DEFAULT_TIME_FORMAT),
26
+ userName: GlobalRatchet.fetchGlobalVar('CIRCLE_USERNAME'),
27
+ projectName: GlobalRatchet.fetchGlobalVar('CIRCLE_PROJECT_REPONAME'),
28
+ };
29
+ return rval;
30
+ }
31
+ static createDefaultGithubActionsRunInformation(timezone = CiRunInformationUtil.DEFAULT_TIME_ZONE) {
32
+ const rval = {
33
+ buildNumber: GlobalRatchet.fetchGlobalVar('GITHUB_RUN_NUMBER'),
34
+ branch: GlobalRatchet.fetchGlobalVar('GITHUB_REF_NAME'),
35
+ tag: GlobalRatchet.fetchGlobalVar('GITHUB_REF_NAME'),
36
+ commitHash: GlobalRatchet.fetchGlobalVar('GITHUB_SHA'),
37
+ localTime: DateTime.local().setZone(timezone).toFormat(CiRunInformationUtil.DEFAULT_TIME_FORMAT),
38
+ userName: GlobalRatchet.fetchGlobalVar('GITHUB_ACTOR'),
39
+ projectName: GlobalRatchet.fetchGlobalVar('GITHUB_REPOSITORY'),
40
+ };
41
+ return rval;
42
+ }
43
+ }
44
+ //# sourceMappingURL=ci-run-information-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-run-information-util.js","sourceRoot":"","sources":["../../src/ci/ci-run-information-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAE5E,MAAM,OAAO,oBAAoB;IACxB,MAAM,CAAU,mBAAmB,GAAW,yBAAyB,CAAC;IACxE,MAAM,CAAU,iBAAiB,GAAW,qBAAqB,CAAC;IAElE,MAAM,CAAC,6BAA6B,CAAC,QAAQ,GAAG,oBAAoB,CAAC,iBAAiB;QAC3F,MAAM,GAAG,GAAW,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAqB;YAC7B,WAAW,EAAE,sBAAsB,GAAG,GAAG;YACzC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,mBAAmB,CAAC;YAChG,MAAM,EAAE,iBAAiB,GAAG,GAAG;YAC/B,GAAG,EAAE,cAAc,GAAG,GAAG;YACzB,UAAU,EAAE,eAAe,GAAG,GAAG;YACjC,QAAQ,EAAE,mBAAmB,GAAG,GAAG;YACnC,WAAW,EAAE,sBAAsB,GAAG,GAAG;SAC1C,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,mCAAmC,CAAC,QAAQ,GAAG,oBAAoB,CAAC,iBAAiB;QACjG,MAAM,IAAI,GAAqB;YAC7B,WAAW,EAAE,aAAa,CAAC,cAAc,CAAC,kBAAkB,CAAC;YAC7D,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,eAAe,CAAC;YACrD,GAAG,EAAE,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC;YAC/C,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC;YACvD,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,mBAAmB,CAAC;YAChG,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,iBAAiB,CAAC;YACzD,WAAW,EAAE,aAAa,CAAC,cAAc,CAAC,yBAAyB,CAAC;SACrE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,wCAAwC,CAAC,QAAQ,GAAG,oBAAoB,CAAC,iBAAiB;QACtG,MAAM,IAAI,GAAqB;YAC7B,WAAW,EAAE,aAAa,CAAC,cAAc,CAAC,mBAAmB,CAAC;YAC9D,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,iBAAiB,CAAC;YACvD,GAAG,EAAE,aAAa,CAAC,cAAc,CAAC,iBAAiB,CAAC;YACpD,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC;YACtD,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,mBAAmB,CAAC;YAChG,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC;YACtD,WAAW,EAAE,aAAa,CAAC,cAAc,CAAC,mBAAmB,CAAC;SAC/D,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface CiRunInformation {
2
+ buildNumber: string;
3
+ localTime: string;
4
+ branch?: string;
5
+ tag?: string;
6
+ commitHash?: string;
7
+ userName?: string;
8
+ projectName?: string;
9
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ci-run-information.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-run-information.js","sourceRoot":"","sources":["../../src/ci/ci-run-information.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './apply-ci-env-variables-to-files.js';
2
+ export * from './ci-run-information-util.js';
3
+ export * from './ci-run-information.js';
@@ -0,0 +1,4 @@
1
+ export * from './apply-ci-env-variables-to-files.js';
2
+ export * from './ci-run-information-util.js';
3
+ export * from './ci-run-information.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ci/index.ts"],"names":[],"mappings":"AAIA,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { BuildInformation } from '@bitblit/ratchet-common/build/build-information';
2
+ export declare abstract class AbstractRatchetCliHandler {
3
+ abstract fetchHandlerMap(): Record<string, any>;
4
+ abstract fetchVersionInfo(): BuildInformation;
5
+ findAndExecuteHandler(useSubstringMatch?: boolean): Promise<void>;
6
+ }
@@ -0,0 +1,31 @@
1
+ import { CliRatchet } from './cli-ratchet.js';
2
+ export class AbstractRatchetCliHandler {
3
+ async findAndExecuteHandler(useSubstringMatch = false) {
4
+ let handler = null;
5
+ const versionArgs = CliRatchet.argsAfterCommand(['version'], useSubstringMatch);
6
+ if (versionArgs) {
7
+ console.log('Version : ' + JSON.stringify(this.fetchVersionInfo()));
8
+ console.log('Process: ' + JSON.stringify(process?.argv) + ' VersionArgs: ' + JSON.stringify(versionArgs));
9
+ }
10
+ else {
11
+ const handlerMap = this.fetchHandlerMap();
12
+ const keys = Object.keys(handlerMap);
13
+ let remainArgs = null;
14
+ for (let i = 0; i < keys.length && !handler; i++) {
15
+ remainArgs = CliRatchet.argsAfterCommand([keys[i], keys[i] + '.js']);
16
+ if (remainArgs) {
17
+ handler = handlerMap[keys[i]];
18
+ }
19
+ }
20
+ if (handler) {
21
+ console.debug('Running command with args ' + JSON.stringify(remainArgs));
22
+ await handler(remainArgs);
23
+ }
24
+ else {
25
+ console.log('Unrecognized command : ', process.argv);
26
+ console.log('Valid commands are : ', Object.keys(handlerMap));
27
+ }
28
+ }
29
+ }
30
+ }
31
+ //# sourceMappingURL=abstract-ratchet-cli-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-ratchet-cli-handler.js","sourceRoot":"","sources":["../../src/cli/abstract-ratchet-cli-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,OAAgB,yBAAyB;IAItC,KAAK,CAAC,qBAAqB,CAAC,oBAA6B,KAAK;QACnE,IAAI,OAAO,GAAQ,IAAI,CAAC;QACxB,MAAM,WAAW,GAAa,UAAU,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC1F,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5G,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAwB,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAa,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,UAAU,GAAa,IAAI,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;gBACrE,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;gBACzE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ export declare class CliRatchet {
2
+ static isCalledFromCLI(filenames: string[], useSubstringMatch?: boolean): boolean;
3
+ static argsAfterCommand(filenames: string[], useSubstringMatch?: boolean): string[];
4
+ static isCalledFromCLISingle(filename: string, useSubstringMatch?: boolean): boolean;
5
+ static indexOfCommandArgument(filename: string, useSubstringMatch?: boolean): number;
6
+ }
@@ -0,0 +1,29 @@
1
+ export class CliRatchet {
2
+ static isCalledFromCLI(filenames, useSubstringMatch = false) {
3
+ let rval = false;
4
+ for (let i = 0; filenames && i < filenames.length && !rval; i++) {
5
+ rval = CliRatchet.indexOfCommandArgument(filenames[i], useSubstringMatch) !== null;
6
+ }
7
+ return rval;
8
+ }
9
+ static argsAfterCommand(filenames, useSubstringMatch = false) {
10
+ let rval = null;
11
+ if (process?.argv?.length && filenames?.length) {
12
+ let idx = null;
13
+ for (let i = 0; i < filenames.length && idx === null; i++) {
14
+ idx = CliRatchet.indexOfCommandArgument(filenames[i], useSubstringMatch);
15
+ }
16
+ rval = idx !== null ? process.argv.slice(idx + 1, process.argv.length) : null;
17
+ }
18
+ return rval;
19
+ }
20
+ static isCalledFromCLISingle(filename, useSubstringMatch = false) {
21
+ return CliRatchet.isCalledFromCLI([filename], useSubstringMatch);
22
+ }
23
+ static indexOfCommandArgument(filename, useSubstringMatch = false) {
24
+ const contFileName = process.argv.map((arg) => (!useSubstringMatch && arg === filename) || (useSubstringMatch && arg.indexOf(filename) !== -1));
25
+ const idx = contFileName.indexOf(true);
26
+ return idx === -1 ? null : idx;
27
+ }
28
+ }
29
+ //# sourceMappingURL=cli-ratchet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-ratchet.js","sourceRoot":"","sources":["../../src/cli/cli-ratchet.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAU;IACd,MAAM,CAAC,eAAe,CAAC,SAAmB,EAAE,oBAA6B,KAAK;QACnF,IAAI,IAAI,GAAY,KAAK,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAChE,IAAI,GAAG,UAAU,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,IAAI,CAAC;QACrF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,SAAmB,EAAE,oBAA6B,KAAK;QACpF,IAAI,IAAI,GAAa,IAAI,CAAC;QAC1B,IAAI,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;YAC/C,IAAI,GAAG,GAAW,IAAI,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1D,GAAG,GAAG,UAAU,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,QAAgB,EAAE,oBAA6B,KAAK;QACtF,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACnE,CAAC;IAEM,MAAM,CAAC,sBAAsB,CAAC,QAAgB,EAAE,oBAA6B,KAAK;QACvF,MAAM,YAAY,GAAc,OAAO,CAAC,IAAI,CAAC,GAAG,CAC9C,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,GAAG,KAAK,QAAQ,CAAC,IAAI,CAAC,iBAAiB,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CACzG,CAAC;QACF,MAAM,GAAG,GAAW,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export * from './abstract-ratchet-cli-handler.js';
2
+ export * from './cli-ratchet.js';
3
+ export * from './ratchet-cli-handler.js';
@@ -0,0 +1,4 @@
1
+ export * from './abstract-ratchet-cli-handler.js';
2
+ export * from './cli-ratchet.js';
3
+ export * from './ratchet-cli-handler.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAIA,cAAc,mCAAmC,CAAC;AAClD,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { AbstractRatchetCliHandler } from './abstract-ratchet-cli-handler.js';
2
+ import { BuildInformation } from '@bitblit/ratchet-common/build/build-information';
3
+ export declare class RatchetCliHandler extends AbstractRatchetCliHandler {
4
+ fetchHandlerMap(): Record<string, any>;
5
+ fetchVersionInfo(): BuildInformation;
6
+ }
@@ -0,0 +1,20 @@
1
+ import { RatchetNodeOnlyInfo } from '../build/ratchet-node-only-info.js';
2
+ import { ApplyCiEnvVariablesToFiles } from '../ci/apply-ci-env-variables-to-files.js';
3
+ import { FilesToStaticClass } from '../files/files-to-static-class.js';
4
+ import { PublishCiReleaseToSlack } from '../third-party/slack/publish-ci-release-to-slack.js';
5
+ import { AbstractRatchetCliHandler } from './abstract-ratchet-cli-handler.js';
6
+ import { UniqueFileRename } from '../files/unique-file-rename.js';
7
+ export class RatchetCliHandler extends AbstractRatchetCliHandler {
8
+ fetchHandlerMap() {
9
+ return {
10
+ 'apply-ci-env-variables-to-files': ApplyCiEnvVariablesToFiles.runFromCliArgs,
11
+ 'files-to-static-class': FilesToStaticClass.runFromCliArgs,
12
+ 'publish-ci-release-to-slack': PublishCiReleaseToSlack.runFromCliArgs,
13
+ 'unique-file-rename': UniqueFileRename.runFromCliArgs,
14
+ };
15
+ }
16
+ fetchVersionInfo() {
17
+ return RatchetNodeOnlyInfo.buildInformation();
18
+ }
19
+ }
20
+ //# sourceMappingURL=ratchet-cli-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ratchet-cli-handler.js","sourceRoot":"","sources":["../../src/cli/ratchet-cli-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE,MAAM,OAAO,iBAAkB,SAAQ,yBAAyB;IAC9D,eAAe;QACb,OAAO;YACL,iCAAiC,EAAE,0BAA0B,CAAC,cAAc;YAC5E,uBAAuB,EAAE,kBAAkB,CAAC,cAAc;YAC1D,6BAA6B,EAAE,uBAAuB,CAAC,cAAc;YACrE,oBAAoB,EAAE,gBAAgB,CAAC,cAAc;SACtD,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,OAAO,mBAAmB,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ import { Options as ParseOptions } from 'csv-parse';
2
+ import { Options } from 'csv-stringify';
3
+ import { Subject } from 'rxjs';
4
+ import { Readable, Writable } from 'stream';
5
+ export declare class CsvRatchet {
6
+ static defaultParseOptions(): ParseOptions;
7
+ static defaultStringifyOptions(): Options;
8
+ static stringParse<T>(input: string, pf: ParseFunction<T>, opts?: ParseOptions): Promise<T[]>;
9
+ static streamParse<T>(readStream: Readable, pf: ParseFunction<T>, opts?: ParseOptions): Promise<T[]>;
10
+ static fileParse<T>(filename: string, pf: ParseFunction<T>): Promise<T[]>;
11
+ static generateCsvData(objectsToConvert: any[], opts?: Options): Promise<string>;
12
+ static generateComparison(file1: string, file2: string, keyField: string): Promise<ComparisonResults>;
13
+ static streamObjectsToCsv<T>(srcSubject: Subject<T>, output: Writable, inOpts?: Options): Promise<number>;
14
+ static defaultParseFunction<T>(row: any): T;
15
+ }
16
+ type ParseFunction<T> = (row: any) => T;
17
+ export interface ComparisonResults {
18
+ file1OnlyKeys: string[];
19
+ file2OnlyKeys: string[];
20
+ bothFilesKeys: string[];
21
+ file1Data: Map<string, any>;
22
+ file2Data: Map<string, any>;
23
+ }
24
+ export {};
@@ -0,0 +1,159 @@
1
+ import fs from 'fs';
2
+ import { parse } from 'csv-parse';
3
+ import { stringify } from 'csv-stringify';
4
+ import { Readable } from 'stream';
5
+ import { Logger } from '@bitblit/ratchet-common/logger/logger';
6
+ import { RequireRatchet } from '@bitblit/ratchet-common/lang/require-ratchet';
7
+ import { MapRatchet } from '@bitblit/ratchet-common/lang/map-ratchet';
8
+ export class CsvRatchet {
9
+ static defaultParseOptions() {
10
+ const rval = {
11
+ delimiter: ',',
12
+ columns: true,
13
+ };
14
+ return rval;
15
+ }
16
+ static defaultStringifyOptions() {
17
+ const rval = {
18
+ header: true,
19
+ };
20
+ return rval;
21
+ }
22
+ static async stringParse(input, pf, opts = CsvRatchet.defaultParseOptions()) {
23
+ return CsvRatchet.streamParse(Readable.from(input), pf, opts);
24
+ }
25
+ static async streamParse(readStream, pf, opts = CsvRatchet.defaultParseOptions()) {
26
+ return new Promise((res, rej) => {
27
+ const rval = [];
28
+ const p = parse(opts);
29
+ p.on('readable', () => {
30
+ let record = p.read();
31
+ while (record) {
32
+ const newVal = pf(record);
33
+ if (newVal) {
34
+ rval.push(newVal);
35
+ }
36
+ else {
37
+ }
38
+ record = p.read();
39
+ }
40
+ });
41
+ p.on('error', (err) => {
42
+ rej(err);
43
+ });
44
+ p.on('end', () => {
45
+ res(rval);
46
+ });
47
+ readStream.pipe(p);
48
+ });
49
+ }
50
+ static async fileParse(filename, pf) {
51
+ const readStream = fs.createReadStream(filename);
52
+ return CsvRatchet.streamParse(readStream, pf);
53
+ }
54
+ static async generateCsvData(objectsToConvert, opts = CsvRatchet.defaultStringifyOptions()) {
55
+ Logger.silly('Converting %d items into csv file', objectsToConvert.length);
56
+ const genProm = new Promise((res, rej) => {
57
+ stringify(objectsToConvert, opts, function (err, data) {
58
+ if (err) {
59
+ rej(err);
60
+ }
61
+ else {
62
+ res(data);
63
+ }
64
+ });
65
+ });
66
+ return genProm;
67
+ }
68
+ static async generateComparison(file1, file2, keyField) {
69
+ RequireRatchet.notNullOrUndefined(file1, 'file1');
70
+ RequireRatchet.notNullOrUndefined(file2, 'file2');
71
+ RequireRatchet.notNullOrUndefined(keyField, 'keyField');
72
+ Logger.info('Created csv compare with files %s and %s keyed on %s', file1, file2, keyField);
73
+ let file1Parsed = await this.streamParse(fs.createReadStream(file1), (f) => {
74
+ f;
75
+ });
76
+ file1Parsed = file1Parsed.map((m) => {
77
+ const next = {};
78
+ Object.keys(m).forEach((k) => {
79
+ next[k.trim()] = m[k];
80
+ });
81
+ return next;
82
+ });
83
+ const file1Mapped = MapRatchet.mapByUniqueProperty(file1Parsed, keyField);
84
+ let file2Parsed = await this.streamParse(fs.createReadStream(file2), (f) => {
85
+ f;
86
+ });
87
+ file2Parsed = file2Parsed.map((m) => {
88
+ const next = {};
89
+ Object.keys(m).forEach((k) => {
90
+ next[k.trim()] = m[k];
91
+ });
92
+ return next;
93
+ });
94
+ const file2Mapped = MapRatchet.mapByUniqueProperty(file2Parsed, keyField);
95
+ const f1Only = [];
96
+ const f2Only = [];
97
+ const both = [];
98
+ Array.from(file1Mapped.keys()).forEach((f1k) => {
99
+ if (file2Mapped.has(f1k)) {
100
+ both.push(f1k);
101
+ }
102
+ else {
103
+ f1Only.push(f1k);
104
+ }
105
+ });
106
+ Array.from(file2Mapped.keys()).forEach((f1k) => {
107
+ if (!file1Mapped.has(f1k)) {
108
+ f2Only.push(f1k);
109
+ }
110
+ });
111
+ const rval = {
112
+ file1Data: file1Mapped,
113
+ file2Data: file2Mapped,
114
+ file1OnlyKeys: f1Only,
115
+ file2OnlyKeys: f2Only,
116
+ bothFilesKeys: both,
117
+ };
118
+ return rval;
119
+ }
120
+ static async streamObjectsToCsv(srcSubject, output, inOpts) {
121
+ RequireRatchet.notNullOrUndefined(srcSubject, 'srcSubject');
122
+ RequireRatchet.notNullOrUndefined(output, 'output');
123
+ const opts = inOpts || CsvRatchet.defaultStringifyOptions();
124
+ Logger.silly('Running pipe to csv output : %j', opts);
125
+ let count = 0;
126
+ const genProm = new Promise((res, rej) => {
127
+ const stringifier = stringify(opts);
128
+ stringifier.on('error', (err) => {
129
+ if (sub) {
130
+ sub.unsubscribe();
131
+ }
132
+ rej(err);
133
+ });
134
+ stringifier.on('finish', () => {
135
+ if (sub) {
136
+ sub.unsubscribe();
137
+ }
138
+ res(count);
139
+ });
140
+ stringifier.pipe(output);
141
+ const sub = srcSubject.subscribe((next) => {
142
+ Logger.debug('Adding %j to csv', next);
143
+ count++;
144
+ stringifier.write(next);
145
+ }, (err) => {
146
+ Logger.error('Error generating : %s', err);
147
+ rej(err);
148
+ }, () => {
149
+ Logger.debug('Finished');
150
+ stringifier.end();
151
+ });
152
+ });
153
+ return genProm;
154
+ }
155
+ static defaultParseFunction(row) {
156
+ return row;
157
+ }
158
+ }
159
+ //# sourceMappingURL=csv-ratchet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csv-ratchet.js","sourceRoot":"","sources":["../../src/csv/csv-ratchet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './csv-ratchet.js';
@@ -0,0 +1,2 @@
1
+ export * from './csv-ratchet.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/csv/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ExportMapBuilderTargetConfig } from './export-map-builder-target-config.js';
2
+ export interface ExportMapBuilderConfig {
3
+ sourceRoot?: string;
4
+ targets?: ExportMapBuilderTargetConfig[];
5
+ includes?: RegExp[];
6
+ excludes?: RegExp[];
7
+ targetPackageJsonFile?: string;
8
+ dryRun?: boolean;
9
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=export-map-builder-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-map-builder-config.js","sourceRoot":"","sources":["../../src/export-builder/export-map-builder-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface ExportMapBuilderTargetConfig {
2
+ type: string;
3
+ prefix: string;
4
+ suffix: string;
5
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=export-map-builder-target-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-map-builder-target-config.js","sourceRoot":"","sources":["../../src/export-builder/export-map-builder-target-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { ExportMapBuilderConfig } from './export-map-builder-config.js';
2
+ export declare class ExportMapBuilder {
3
+ static process(cfg: ExportMapBuilderConfig): Record<string, any>;
4
+ private static pathMatchesOneOfRegExp;
5
+ private static findExports;
6
+ private static processSingleFile;
7
+ static runFromCliArgs(args: string[]): Promise<Record<string, any>>;
8
+ }