@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,138 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { CliRatchet } from '../cli/cli-ratchet.js';
4
+ import { Logger } from '@bitblit/ratchet-common/logger/logger';
5
+ import { EsmRatchet } from '@bitblit/ratchet-common/lang/esm-ratchet';
6
+ import { ErrorRatchet } from '@bitblit/ratchet-common/lang/error-ratchet';
7
+ import { StringRatchet } from '@bitblit/ratchet-common/lang/string-ratchet';
8
+ export class ExportMapBuilder {
9
+ static process(cfg) {
10
+ Logger.info('Building export map : %j', cfg);
11
+ cfg.targetPackageJsonFile = cfg.targetPackageJsonFile ?? path.join(EsmRatchet.fetchDirName(import.meta.url), 'package.json');
12
+ cfg.includes = cfg.includes ?? [new RegExp('.*')];
13
+ cfg.excludes = cfg.excludes ?? [];
14
+ if (!fs.statSync(cfg.targetPackageJsonFile).isFile()) {
15
+ throw ErrorRatchet.fErr('targetPackageJsonFile: %s does not exist or is not a file', cfg.targetPackageJsonFile);
16
+ }
17
+ cfg.sourceRoot = cfg.sourceRoot ?? path.join(path.dirname(cfg.targetPackageJsonFile), 'src');
18
+ if (!fs.statSync(cfg.sourceRoot).isDirectory()) {
19
+ throw ErrorRatchet.fErr('sourceRoot: %s does not exist or is not a folder', cfg.sourceRoot);
20
+ }
21
+ cfg.targets = cfg.targets ?? [
22
+ {
23
+ type: 'import',
24
+ prefix: './lib',
25
+ suffix: '.js',
26
+ },
27
+ {
28
+ type: 'types',
29
+ prefix: './lib',
30
+ suffix: '.d.ts',
31
+ },
32
+ ];
33
+ Logger.info('Using sourceRoot %s and targets %j', cfg.sourceRoot, cfg.targets);
34
+ const exports = {};
35
+ for (let i = 0; i < cfg.includes.length; i++) {
36
+ ExportMapBuilder.processSingleFile(cfg.sourceRoot, cfg, exports);
37
+ }
38
+ const parsedPackage = JSON.parse(fs.readFileSync(cfg.targetPackageJsonFile).toString());
39
+ parsedPackage['exports'] = exports;
40
+ if (cfg.dryRun) {
41
+ Logger.info('DryRun : Would have updated package json to : \n%j', parsedPackage);
42
+ }
43
+ else {
44
+ fs.writeFileSync(cfg.targetPackageJsonFile, JSON.stringify(parsedPackage, null, 2));
45
+ }
46
+ return exports;
47
+ }
48
+ static pathMatchesOneOfRegExp(fileName, reg) {
49
+ let rval = false;
50
+ if (StringRatchet.trimToNull(fileName) && reg.length > 0) {
51
+ rval = true;
52
+ }
53
+ return rval;
54
+ }
55
+ static findExports(fileName) {
56
+ const text = StringRatchet.trimToEmpty(fs.readFileSync(fileName).toString());
57
+ const words = text.split(/[ \t\n]+/);
58
+ const exports = [];
59
+ for (let i = 0; i < words.length - 2; i++) {
60
+ if (words[i] === 'export') {
61
+ if (words[i + 1] === 'class' || words[i + 1] === 'interface') {
62
+ let next = words[i + 2];
63
+ if (next.endsWith('{')) {
64
+ next = next.substring(0, next.length - 1);
65
+ }
66
+ if (next.indexOf('<') !== -1) {
67
+ next = next.substring(0, next.indexOf('<'));
68
+ }
69
+ exports.push(next);
70
+ }
71
+ else if (words[i + 1] === 'default') {
72
+ }
73
+ }
74
+ }
75
+ return exports;
76
+ }
77
+ static processSingleFile(fileName, cfg, inRecord) {
78
+ const rval = Object.assign({}, inRecord ?? {});
79
+ if (fs.existsSync(fileName)) {
80
+ if (ExportMapBuilder.pathMatchesOneOfRegExp(fileName, cfg.includes)) {
81
+ if (!ExportMapBuilder.pathMatchesOneOfRegExp(fileName, cfg.excludes)) {
82
+ const stats = fs.statSync(fileName);
83
+ if (stats.isDirectory()) {
84
+ const contFiles = fs.readdirSync(fileName);
85
+ Logger.info('Found %d files in %s to process', contFiles.length, fileName);
86
+ contFiles.forEach((f) => ExportMapBuilder.processSingleFile(path.join(fileName, f), cfg, inRecord));
87
+ }
88
+ else if (stats.isFile()) {
89
+ const exports = ExportMapBuilder.findExports(fileName);
90
+ exports.forEach((s) => {
91
+ if (inRecord[s]) {
92
+ throw ErrorRatchet.fErr('Collision on name %s : %s vs %s', fileName, inRecord[s], s);
93
+ }
94
+ else {
95
+ let subPath = fileName.substring(cfg.sourceRoot.length);
96
+ subPath = subPath.split('\\').join('/');
97
+ if (subPath.endsWith('.ts')) {
98
+ subPath = subPath.substring(0, subPath.length - 3);
99
+ }
100
+ cfg.targets.forEach((tgt) => {
101
+ inRecord[s] = inRecord[s] || {};
102
+ const targetFileName = StringRatchet.trimToEmpty(tgt.prefix) + subPath + StringRatchet.trimToEmpty(tgt.suffix);
103
+ inRecord[s][tgt.type] = targetFileName;
104
+ });
105
+ }
106
+ });
107
+ }
108
+ else {
109
+ Logger.error('Skipping - neither file nor directory : %s', fileName);
110
+ }
111
+ }
112
+ else {
113
+ Logger.error('Skipping - fails exclude check : %s', fileName);
114
+ }
115
+ }
116
+ else {
117
+ Logger.error('Skipping - fails include check : %s', fileName);
118
+ }
119
+ }
120
+ else {
121
+ Logger.warn('Could not find file %s', fileName);
122
+ }
123
+ return rval;
124
+ }
125
+ static async runFromCliArgs(args) {
126
+ if (args.length < 3) {
127
+ Logger.infoP('Usage: ratchet-export-builder');
128
+ return null;
129
+ }
130
+ else {
131
+ const idx = CliRatchet.indexOfCommandArgument('export-builder');
132
+ const cfg = {};
133
+ Logger.info('Running ExportMapBuilder from command line arguments');
134
+ return ExportMapBuilder.process(cfg);
135
+ }
136
+ }
137
+ }
138
+ //# sourceMappingURL=export-map-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-map-builder.js","sourceRoot":"","sources":["../../src/export-builder/export-map-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './export-map-builder-config.js';
2
+ export * from './export-map-builder-target-config.js';
3
+ export * from './export-map-builder.js';
@@ -0,0 +1,4 @@
1
+ export * from './export-map-builder-config.js';
2
+ export * from './export-map-builder-target-config.js';
3
+ export * from './export-map-builder.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/export-builder/index.ts"],"names":[],"mappings":"AAIA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare class FilesToStaticClass {
2
+ static process(inFileNames: string[], outClassName: string, outFileName?: string): Promise<string>;
3
+ private static processFilename;
4
+ static runFromCliArgs(args: string[]): Promise<string>;
5
+ }
@@ -0,0 +1,76 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { CliRatchet } from '../cli/cli-ratchet.js';
4
+ import { Logger } from '@bitblit/ratchet-common/logger/logger';
5
+ import { RequireRatchet } from '@bitblit/ratchet-common/lang/require-ratchet';
6
+ export class FilesToStaticClass {
7
+ static async process(inFileNames, outClassName, outFileName = null) {
8
+ if (!inFileNames) {
9
+ throw new Error('fileNames must be defined');
10
+ }
11
+ if (!outClassName) {
12
+ throw new Error('outClassName must be defined');
13
+ }
14
+ if (inFileNames.length === 0) {
15
+ Logger.warn('Warning - no files supplied to process');
16
+ }
17
+ const fileNames = [];
18
+ inFileNames.forEach((f) => FilesToStaticClass.processFilename(f, fileNames));
19
+ Logger.info('Generating class %s from files %j (output file: %s)', outClassName, fileNames, outFileName);
20
+ let rval = '/** \n';
21
+ rval += '* Holder for the constants to be used by consumers \n';
22
+ rval += '* Moves it into code so that it can survive a trip through WebPack \n';
23
+ rval += '*/ \n\n';
24
+ rval += 'export class ' + outClassName + ' { \n';
25
+ rval += ' public static readonly VALUES:Record<string, string> = { \n';
26
+ for (let i = 0; i < fileNames.length; i++) {
27
+ let trimmed = fileNames[i].substring(fileNames[i].lastIndexOf('/') + 1);
28
+ trimmed = trimmed.substring(trimmed.lastIndexOf('\\') + 1);
29
+ const contents = fs.readFileSync(fileNames[i]).toString();
30
+ rval += i > 0 ? ',' : '';
31
+ rval += '"' + trimmed + '":' + JSON.stringify(contents) + '\n';
32
+ }
33
+ rval += '}; \n';
34
+ rval += '}';
35
+ if (outFileName) {
36
+ Logger.info('Writing to %s', outFileName);
37
+ fs.writeFileSync(outFileName, rval);
38
+ }
39
+ return rval;
40
+ }
41
+ static processFilename(fileName, targetArrayInPlace) {
42
+ RequireRatchet.notNullOrUndefined(targetArrayInPlace, 'targetArrayInPlace');
43
+ if (fs.existsSync(fileName)) {
44
+ const stats = fs.statSync(fileName);
45
+ if (stats.isDirectory()) {
46
+ const contFiles = fs.readdirSync(fileName);
47
+ Logger.info('Found %d files in %s to process', contFiles.length, fileName);
48
+ contFiles.forEach((f) => FilesToStaticClass.processFilename(path.join(fileName, f), targetArrayInPlace));
49
+ }
50
+ else if (stats.isFile()) {
51
+ targetArrayInPlace.push(fileName);
52
+ }
53
+ else {
54
+ Logger.error('Skipping - neither file nor directory : %s', fileName);
55
+ }
56
+ }
57
+ else {
58
+ Logger.warn('Could not find file %s', fileName);
59
+ }
60
+ }
61
+ static async runFromCliArgs(args) {
62
+ if (args.length < 3) {
63
+ Logger.infoP('Usage: ratchet-files-to-static-class {outFileName} {outClassName} {file0} ... {fileN}');
64
+ return null;
65
+ }
66
+ else {
67
+ const idx = CliRatchet.indexOfCommandArgument('files-to-static-class');
68
+ const outFileName = process.argv[idx + 1];
69
+ const outClassName = process.argv[idx + 2];
70
+ const files = process.argv.slice(idx + 3);
71
+ Logger.info('Running FilesToStaticClass from command line arguments Target: %s TargetClass: %s InFiles: %j', outFileName, outClassName, files);
72
+ return FilesToStaticClass.process(files, outClassName, outFileName);
73
+ }
74
+ }
75
+ }
76
+ //# sourceMappingURL=files-to-static-class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files-to-static-class.js","sourceRoot":"","sources":["../../src/files/files-to-static-class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './files-to-static-class.js';
2
+ export * from './unique-file-rename.js';
@@ -0,0 +1,3 @@
1
+ export * from './files-to-static-class.js';
2
+ export * from './unique-file-rename.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/files/index.ts"],"names":[],"mappings":"AAIA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare class UniqueFileRename {
2
+ static process(inFolder: string, recursive?: boolean, dryRun?: boolean): Promise<number>;
3
+ static runFromCliArgs(args: string[]): Promise<string>;
4
+ }
@@ -0,0 +1,68 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { CliRatchet } from '../cli/cli-ratchet.js';
4
+ import { Logger } from '@bitblit/ratchet-common/logger/logger';
5
+ import { BooleanRatchet } from '@bitblit/ratchet-common/lang/boolean-ratchet';
6
+ import { StringRatchet } from '@bitblit/ratchet-common/lang/string-ratchet';
7
+ export class UniqueFileRename {
8
+ static async process(inFolder, recursive = false, dryRun = false) {
9
+ let rval = 0;
10
+ if (!inFolder || inFolder.trim().length === 0) {
11
+ throw new Error('folder must be defined');
12
+ }
13
+ if (!fs.existsSync(inFolder)) {
14
+ throw new Error(inFolder + ' does not exist');
15
+ }
16
+ const stats = fs.statSync(inFolder);
17
+ if (!stats.isDirectory()) {
18
+ throw new Error(inFolder + ' is not a folder');
19
+ }
20
+ const contFiles = fs.readdirSync(inFolder);
21
+ for (let i = 0; i < contFiles.length; i++) {
22
+ const full = path.join(inFolder, contFiles[i]);
23
+ const s2 = fs.statSync(full);
24
+ if (s2.isFile()) {
25
+ const newNamePart = Date.now() + '_' + rval;
26
+ const idx = contFiles[i].lastIndexOf('.');
27
+ const newName = idx > -1 ? newNamePart + contFiles[i].substring(idx) : newNamePart;
28
+ const newFull = path.join(inFolder, newName);
29
+ if (dryRun) {
30
+ Logger.info('Would have renamed %s to %s', full, newFull);
31
+ }
32
+ else {
33
+ Logger.info('Renaming %s to %s', full, newFull);
34
+ fs.renameSync(full, newFull);
35
+ }
36
+ rval++;
37
+ }
38
+ else if (s2.isDirectory()) {
39
+ if (recursive) {
40
+ rval += await UniqueFileRename.process(full, recursive, dryRun);
41
+ }
42
+ else {
43
+ Logger.info('Ignoring %s - folder, and recursive not specified', full);
44
+ }
45
+ }
46
+ else {
47
+ Logger.info('Ignoring %s - neither file nor folder', full);
48
+ }
49
+ }
50
+ return rval;
51
+ }
52
+ static async runFromCliArgs(args) {
53
+ if (args.length !== 3) {
54
+ Logger.infoP('Usage: ratchet-unique-file-rename {folder} {recursive} {dryrun}');
55
+ Logger.infoP(args.length);
56
+ return null;
57
+ }
58
+ else {
59
+ const idx = CliRatchet.indexOfCommandArgument('unique-file-rename');
60
+ const folder = process.argv[idx + 1];
61
+ const recursive = BooleanRatchet.parseBool(process.argv[idx + 2]);
62
+ const dryrun = BooleanRatchet.parseBool(process.argv[idx + 3]);
63
+ Logger.info('Running UniqueFileName from command line arguments Folder: %s Recursive: %s DryRun: %s', folder, recursive, dryrun);
64
+ return StringRatchet.safeString(UniqueFileRename.process(folder, recursive, dryrun));
65
+ }
66
+ }
67
+ }
68
+ //# sourceMappingURL=unique-file-rename.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unique-file-rename.js","sourceRoot":"","sources":["../../src/files/unique-file-rename.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Writable } from 'stream';
2
+ export declare class BufferWritable extends Writable {
3
+ private _val;
4
+ constructor();
5
+ _write(chunk: any, encoding: string, callback: any): void;
6
+ get value(): Buffer;
7
+ }
@@ -0,0 +1,17 @@
1
+ import { Writable } from 'stream';
2
+ export class BufferWritable extends Writable {
3
+ _val = [];
4
+ constructor() {
5
+ super();
6
+ }
7
+ _write(chunk, encoding, callback) {
8
+ if (chunk) {
9
+ this._val.push(chunk);
10
+ }
11
+ callback();
12
+ }
13
+ get value() {
14
+ return Buffer.concat(this._val);
15
+ }
16
+ }
17
+ //# sourceMappingURL=buffer-writable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer-writable.js","sourceRoot":"","sources":["../../src/stream/buffer-writable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAClC,IAAI,GAAU,EAAE,CAAC;IAEzB;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,MAAM,CAAC,KAAU,EAAE,QAAgB,EAAE,QAAQ;QAC3C,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,IAAW,KAAK;QACd,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export * from './buffer-writable.js';
2
+ export * from './multi-stream.js';
3
+ export * from './node-stream-ratchet.js';
4
+ export * from './string-writable.js';
@@ -0,0 +1,5 @@
1
+ export * from './buffer-writable.js';
2
+ export * from './multi-stream.js';
3
+ export * from './node-stream-ratchet.js';
4
+ export * from './string-writable.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stream/index.ts"],"names":[],"mappings":"AAIA,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Readable, ReadableOptions } from 'stream';
2
+ export declare class MultiStream extends Readable {
3
+ _object: any;
4
+ constructor(object: any, options?: ReadableOptions);
5
+ _read(): void;
6
+ }
@@ -0,0 +1,13 @@
1
+ import { Readable } from 'stream';
2
+ export class MultiStream extends Readable {
3
+ _object;
4
+ constructor(object, options = {}) {
5
+ super(object instanceof Buffer || typeof object === 'string' ? options : { objectMode: true });
6
+ this._object = object;
7
+ }
8
+ _read() {
9
+ this.push(this._object);
10
+ this._object = null;
11
+ }
12
+ }
13
+ //# sourceMappingURL=multi-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-stream.js","sourceRoot":"","sources":["../../src/stream/multi-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,QAAQ,CAAC;AAEnD,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,OAAO,CAAM;IAEb,YAAY,MAAW,EAAE,UAA2B,EAAE;QACpD,KAAK,CAAC,MAAM,YAAY,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import { Readable, Writable } from 'stream';
2
+ export declare class NodeStreamRatchet {
3
+ private constructor();
4
+ static readableToBufferSync(stream: Readable): Buffer;
5
+ static stringToReadable(input: string): Readable;
6
+ static anyToStringReadable(input: any): Readable;
7
+ static webReadableStreamToNodeReadable(rs: ReadableStream): Readable;
8
+ static webWritableStreamToNodeWriteable(ws: WritableStream): Writable;
9
+ }
@@ -0,0 +1,53 @@
1
+ import { Readable, Writable } from 'stream';
2
+ import { StringRatchet } from '@bitblit/ratchet-common/lang/string-ratchet';
3
+ export class NodeStreamRatchet {
4
+ constructor() { }
5
+ static readableToBufferSync(stream) {
6
+ const bufs = [];
7
+ let next = stream.read();
8
+ while (next) {
9
+ bufs.push(next);
10
+ next = stream.read();
11
+ }
12
+ return Buffer.concat(bufs);
13
+ }
14
+ static stringToReadable(input) {
15
+ return new Readable({
16
+ read() {
17
+ this.push(input);
18
+ this.push(null);
19
+ },
20
+ });
21
+ }
22
+ static anyToStringReadable(input) {
23
+ return input === null || input === undefined
24
+ ? NodeStreamRatchet.stringToReadable(null)
25
+ : NodeStreamRatchet.stringToReadable(StringRatchet.safeString(input));
26
+ }
27
+ static webReadableStreamToNodeReadable(rs) {
28
+ const reader = rs.getReader();
29
+ const out = new Readable();
30
+ reader.read().then(async ({ value, done }) => {
31
+ while (!done) {
32
+ out.push(value);
33
+ ({ done, value } = await reader.read());
34
+ }
35
+ out.push(null);
36
+ });
37
+ return out;
38
+ }
39
+ static webWritableStreamToNodeWriteable(ws) {
40
+ const writer = ws.getWriter();
41
+ const out = new Writable();
42
+ out._write = (chunk, encoding, callback) => {
43
+ writer.write(chunk);
44
+ callback();
45
+ };
46
+ out._final = (callback) => {
47
+ writer.close();
48
+ callback();
49
+ };
50
+ return out;
51
+ }
52
+ }
53
+ //# sourceMappingURL=node-stream-ratchet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-stream-ratchet.js","sourceRoot":"","sources":["../../src/stream/node-stream-ratchet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAU5E,MAAM,OAAO,iBAAiB;IAG5B,gBAAuB,CAAC;IAEjB,MAAM,CAAC,oBAAoB,CAAC,MAAgB;QACjD,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,IAAI,IAAI,GAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,KAAa;QAC1C,OAAO,IAAI,QAAQ,CAAC;YAClB,IAAI;gBACF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAAC,KAAU;QAC1C,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAC1C,CAAC,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAC1C,CAAC,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IAGM,MAAM,CAAC,+BAA+B,CAAC,EAAkB;QAC9D,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YAC3C,OAAO,CAAC,IAAI,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAGM,MAAM,CAAC,gCAAgC,CAAC,EAAkB;QAC/D,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YACzC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpB,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC;QACF,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,EAAE;YACxB,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ import { Writable } from 'stream';
2
+ export declare class StringWritable extends Writable {
3
+ private _val;
4
+ constructor();
5
+ _write(chunk: any, encoding: string, callback: any): void;
6
+ get value(): string;
7
+ }
@@ -0,0 +1,15 @@
1
+ import { Writable } from 'stream';
2
+ export class StringWritable extends Writable {
3
+ _val = '';
4
+ constructor() {
5
+ super();
6
+ }
7
+ _write(chunk, encoding, callback) {
8
+ this._val += chunk ? chunk.toString() : '';
9
+ callback();
10
+ }
11
+ get value() {
12
+ return this._val;
13
+ }
14
+ }
15
+ //# sourceMappingURL=string-writable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-writable.js","sourceRoot":"","sources":["../../src/stream/string-writable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAClC,IAAI,GAAW,EAAE,CAAC;IAE1B;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,MAAM,CAAC,KAAU,EAAE,QAAgB,EAAE,QAAQ;QAC3C,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ export declare class GitRatchet {
2
+ private static readonly SPLIT_CHARACTER;
3
+ private static readonly PRETTY_FORMAT;
4
+ static executeCommand(command: string, options: any): Promise<string>;
5
+ private static getCommandString;
6
+ static getLastCommitSwallowException(options?: any): Promise<GitCommitData>;
7
+ static getLastCommit(options?: any): Promise<GitCommitData>;
8
+ }
9
+ export interface GitCommitData {
10
+ shortHash: string;
11
+ hash: string;
12
+ subject: string;
13
+ sanitizedSubject: string;
14
+ body: string;
15
+ authoredOn: string;
16
+ committedOn: string;
17
+ author: GitCommitDataPerson;
18
+ committer: GitCommitDataPerson;
19
+ notes: string;
20
+ branch: string;
21
+ tags: string[];
22
+ }
23
+ export interface GitCommitDataPerson {
24
+ name: string;
25
+ email: string;
26
+ }
@@ -0,0 +1,71 @@
1
+ import process from 'child_process';
2
+ import { EsmRatchet } from '@bitblit/ratchet-common/lang/esm-ratchet';
3
+ import { Logger } from '@bitblit/ratchet-common/logger/logger';
4
+ export class GitRatchet {
5
+ static SPLIT_CHARACTER = '<##>';
6
+ static PRETTY_FORMAT = ['%h', '%H', '%s', '%f', '%b', '%at', '%ct', '%an', '%ae', '%cn', '%ce', '%N', ''];
7
+ static async executeCommand(command, options) {
8
+ let dst = EsmRatchet.fetchDirName(import.meta.url);
9
+ if (!!options && !!options.dst) {
10
+ dst = options.dst;
11
+ }
12
+ return new Promise((res, rej) => {
13
+ process.exec(command, { cwd: dst }, (err, stdout, stderr) => {
14
+ if (stdout === '') {
15
+ rej('this does not look like a git repo');
16
+ }
17
+ if (stderr) {
18
+ rej(stderr);
19
+ }
20
+ res(stdout);
21
+ });
22
+ });
23
+ }
24
+ static getCommandString(splitChar) {
25
+ return ('git log -1 --pretty=format:"' +
26
+ GitRatchet.PRETTY_FORMAT.join(splitChar) +
27
+ '"' +
28
+ ' && git rev-parse --abbrev-ref HEAD' +
29
+ ' && git tag --contains HEAD');
30
+ }
31
+ static async getLastCommitSwallowException(options = {}) {
32
+ let rval = null;
33
+ try {
34
+ rval = await this.getLastCommit(options);
35
+ }
36
+ catch (err) {
37
+ Logger.warn('Failed to fetch git data : %s', err, err);
38
+ }
39
+ return rval;
40
+ }
41
+ static async getLastCommit(options = {}) {
42
+ const command = GitRatchet.getCommandString(GitRatchet.SPLIT_CHARACTER);
43
+ const res = await GitRatchet.executeCommand(command, options);
44
+ const a = res.split(GitRatchet.SPLIT_CHARACTER);
45
+ const branchAndTags = a[a.length - 1].split('\n').filter((n) => n);
46
+ const branch = branchAndTags[0];
47
+ const tags = branchAndTags.slice(1);
48
+ const rval = {
49
+ shortHash: a[0],
50
+ hash: a[1],
51
+ subject: a[2],
52
+ sanitizedSubject: a[3],
53
+ body: a[4],
54
+ authoredOn: a[5],
55
+ committedOn: a[6],
56
+ author: {
57
+ name: a[7],
58
+ email: a[8],
59
+ },
60
+ committer: {
61
+ name: a[9],
62
+ email: a[10],
63
+ },
64
+ notes: a[11],
65
+ branch,
66
+ tags,
67
+ };
68
+ return rval;
69
+ }
70
+ }
71
+ //# sourceMappingURL=git-ratchet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-ratchet.js","sourceRoot":"","sources":["../../../src/third-party/git/git-ratchet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './git/git-ratchet.js';
2
+ export * from './slack/publish-ci-release-to-slack.js';