pushwork 1.0.5 → 1.0.11
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/README.md +87 -335
- package/babel.config.js +5 -0
- package/dist/cli/commands.d.ts +9 -15
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +37 -170
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/output.d.ts +11 -25
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +55 -61
- package/dist/cli/output.js.map +1 -1
- package/dist/cli.js +208 -213
- package/dist/cli.js.map +1 -1
- package/dist/commands.d.ts +51 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/commands.js +799 -0
- package/dist/commands.js.map +1 -0
- package/dist/core/change-detection.d.ts +7 -23
- package/dist/core/change-detection.d.ts.map +1 -1
- package/dist/core/change-detection.js +108 -122
- package/dist/core/change-detection.js.map +1 -1
- package/dist/core/config.d.ts +81 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +296 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/move-detection.d.ts +4 -3
- package/dist/core/move-detection.d.ts.map +1 -1
- package/dist/core/move-detection.js +8 -7
- package/dist/core/move-detection.js.map +1 -1
- package/dist/core/snapshot.d.ts +0 -4
- package/dist/core/snapshot.d.ts.map +1 -1
- package/dist/core/snapshot.js +2 -11
- package/dist/core/snapshot.js.map +1 -1
- package/dist/core/sync-engine.d.ts +41 -12
- package/dist/core/sync-engine.d.ts.map +1 -1
- package/dist/core/sync-engine.js +522 -359
- package/dist/core/sync-engine.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -6
- package/dist/index.js.map +1 -1
- package/dist/types/config.d.ts +24 -88
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +6 -0
- package/dist/types/config.js.map +1 -1
- package/dist/types/documents.d.ts +15 -2
- package/dist/types/documents.d.ts.map +1 -1
- package/dist/types/documents.js.map +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +1 -1
- package/dist/types/snapshot.d.ts +0 -21
- package/dist/types/snapshot.d.ts.map +1 -1
- package/dist/types/snapshot.js +0 -14
- package/dist/types/snapshot.js.map +1 -1
- package/dist/utils/content.d.ts.map +1 -1
- package/dist/utils/content.js +2 -6
- package/dist/utils/content.js.map +1 -1
- package/dist/utils/directory.d.ts +24 -0
- package/dist/utils/directory.d.ts.map +1 -0
- package/dist/utils/directory.js +56 -0
- package/dist/utils/directory.js.map +1 -0
- package/dist/utils/fs.d.ts +15 -2
- package/dist/utils/fs.d.ts.map +1 -1
- package/dist/utils/fs.js +53 -20
- package/dist/utils/fs.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -3
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/keyhive.d.ts +9 -0
- package/dist/utils/keyhive.d.ts.map +1 -0
- package/dist/utils/keyhive.js +26 -0
- package/dist/utils/keyhive.js.map +1 -0
- package/dist/utils/mime-types.d.ts.map +1 -1
- package/dist/utils/mime-types.js +11 -4
- package/dist/utils/mime-types.js.map +1 -1
- package/dist/utils/network-sync.d.ts +16 -7
- package/dist/utils/network-sync.d.ts.map +1 -1
- package/dist/utils/network-sync.js +158 -99
- package/dist/utils/network-sync.js.map +1 -1
- package/dist/utils/output.d.ts +129 -0
- package/dist/utils/output.d.ts.map +1 -0
- package/dist/utils/output.js +375 -0
- package/dist/utils/output.js.map +1 -0
- package/dist/utils/repo-factory.d.ts +2 -6
- package/dist/utils/repo-factory.d.ts.map +1 -1
- package/dist/utils/repo-factory.js +8 -31
- package/dist/utils/repo-factory.js.map +1 -1
- package/dist/utils/string-similarity.js +2 -2
- package/dist/utils/string-similarity.js.map +1 -1
- package/dist/utils/trace.d.ts +19 -0
- package/dist/utils/trace.d.ts.map +1 -0
- package/dist/utils/trace.js +68 -0
- package/dist/utils/trace.js.map +1 -0
- package/package.json +21 -11
- package/src/cli.ts +276 -308
- package/src/commands.ts +988 -0
- package/src/core/change-detection.ts +226 -246
- package/src/{config/index.ts → core/config.ts} +65 -82
- package/src/core/index.ts +1 -1
- package/src/core/move-detection.ts +10 -8
- package/src/core/snapshot.ts +2 -12
- package/src/core/sync-engine.ts +630 -478
- package/src/index.ts +0 -10
- package/src/types/config.ts +28 -93
- package/src/types/documents.ts +16 -2
- package/src/types/index.ts +0 -5
- package/src/types/snapshot.ts +0 -23
- package/src/utils/content.ts +2 -6
- package/src/utils/directory.ts +73 -0
- package/src/utils/fs.ts +57 -23
- package/src/utils/index.ts +1 -5
- package/src/utils/mime-types.ts +12 -4
- package/src/utils/network-sync.ts +216 -138
- package/src/utils/output.ts +450 -0
- package/src/utils/repo-factory.ts +13 -44
- package/src/utils/string-similarity.ts +2 -2
- package/src/utils/trace.ts +70 -0
- package/test/integration/exclude-patterns.test.ts +6 -15
- package/test/integration/fuzzer.test.ts +308 -391
- package/test/integration/in-memory-sync.test.ts +435 -0
- package/test/integration/init-sync.test.ts +89 -0
- package/test/integration/sync-deletion.test.ts +2 -61
- package/test/integration/sync-flow.test.ts +4 -24
- package/test/jest.setup.ts +34 -0
- package/test/unit/deletion-behavior.test.ts +3 -14
- package/test/unit/enhanced-mime-detection.test.ts +0 -22
- package/test/unit/snapshot.test.ts +2 -29
- package/test/unit/sync-convergence.test.ts +3 -198
- package/test/unit/sync-timing.test.ts +0 -44
- package/test/unit/utils.test.ts +0 -2
- package/tsconfig.json +3 -3
- package/bench/filesystem.bench.ts +0 -78
- package/bench/hashing.bench.ts +0 -60
- package/bench/move-detection.bench.ts +0 -130
- package/bench/runner.ts +0 -49
- package/dist/browser/browser-sync-engine.d.ts +0 -64
- package/dist/browser/browser-sync-engine.d.ts.map +0 -1
- package/dist/browser/browser-sync-engine.js +0 -303
- package/dist/browser/browser-sync-engine.js.map +0 -1
- package/dist/browser/filesystem-adapter.d.ts +0 -84
- package/dist/browser/filesystem-adapter.d.ts.map +0 -1
- package/dist/browser/filesystem-adapter.js +0 -413
- package/dist/browser/filesystem-adapter.js.map +0 -1
- package/dist/browser/index.d.ts +0 -36
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.js +0 -90
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/types.d.ts +0 -70
- package/dist/browser/types.d.ts.map +0 -1
- package/dist/browser/types.js +0 -6
- package/dist/browser/types.js.map +0 -1
- package/dist/config/remote-manager.d.ts +0 -65
- package/dist/config/remote-manager.d.ts.map +0 -1
- package/dist/config/remote-manager.js +0 -243
- package/dist/config/remote-manager.js.map +0 -1
- package/dist/core/isomorphic-snapshot.d.ts +0 -58
- package/dist/core/isomorphic-snapshot.d.ts.map +0 -1
- package/dist/core/isomorphic-snapshot.js +0 -204
- package/dist/core/isomorphic-snapshot.js.map +0 -1
- package/dist/platform/browser-filesystem.d.ts +0 -26
- package/dist/platform/browser-filesystem.d.ts.map +0 -1
- package/dist/platform/browser-filesystem.js +0 -91
- package/dist/platform/browser-filesystem.js.map +0 -1
- package/dist/platform/filesystem.d.ts +0 -29
- package/dist/platform/filesystem.d.ts.map +0 -1
- package/dist/platform/filesystem.js +0 -65
- package/dist/platform/filesystem.js.map +0 -1
- package/dist/platform/node-filesystem.d.ts +0 -21
- package/dist/platform/node-filesystem.d.ts.map +0 -1
- package/dist/platform/node-filesystem.js +0 -93
- package/dist/platform/node-filesystem.js.map +0 -1
- package/dist/utils/fs-browser.d.ts +0 -57
- package/dist/utils/fs-browser.d.ts.map +0 -1
- package/dist/utils/fs-browser.js +0 -311
- package/dist/utils/fs-browser.js.map +0 -1
- package/dist/utils/fs-node.d.ts +0 -53
- package/dist/utils/fs-node.d.ts.map +0 -1
- package/dist/utils/fs-node.js +0 -220
- package/dist/utils/fs-node.js.map +0 -1
- package/dist/utils/isomorphic.d.ts +0 -29
- package/dist/utils/isomorphic.d.ts.map +0 -1
- package/dist/utils/isomorphic.js +0 -139
- package/dist/utils/isomorphic.js.map +0 -1
- package/dist/utils/pure.d.ts +0 -25
- package/dist/utils/pure.d.ts.map +0 -1
- package/dist/utils/pure.js +0 -112
- package/dist/utils/pure.js.map +0 -1
- package/src/cli/commands.ts +0 -1030
- package/src/cli/index.ts +0 -2
- package/src/cli/output.ts +0 -244
- package/test/README-TESTING-GAPS.md +0 -174
package/dist/cli/output.js
CHANGED
|
@@ -7,7 +7,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
7
7
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
8
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
9
|
};
|
|
10
|
-
var _Output_instances, _Output_stopTask
|
|
10
|
+
var _Output_instances, _Output_stopTask;
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.Output = void 0;
|
|
13
13
|
const chalk_1 = __importDefault(require("chalk"));
|
|
@@ -20,16 +20,20 @@ const ora_1 = __importDefault(require("ora"));
|
|
|
20
20
|
* - Minimal output
|
|
21
21
|
*/
|
|
22
22
|
class Output {
|
|
23
|
-
constructor() {
|
|
23
|
+
constructor(quiet = false) {
|
|
24
24
|
_Output_instances.add(this);
|
|
25
25
|
this.spinner = null;
|
|
26
|
+
this.quiet = false;
|
|
26
27
|
this.taskStartTime = null;
|
|
27
28
|
this.taskMessage = null;
|
|
29
|
+
this.quiet = quiet;
|
|
28
30
|
}
|
|
29
31
|
/**
|
|
30
32
|
* Start a task with spinner - updates in place
|
|
31
33
|
*/
|
|
32
34
|
task(message) {
|
|
35
|
+
if (this.quiet)
|
|
36
|
+
return;
|
|
33
37
|
__classPrivateFieldGet(this, _Output_instances, "m", _Output_stopTask).call(this);
|
|
34
38
|
this.taskStartTime = Date.now();
|
|
35
39
|
this.taskMessage = message;
|
|
@@ -39,7 +43,7 @@ class Output {
|
|
|
39
43
|
* Update spinner text (stays on same line)
|
|
40
44
|
*/
|
|
41
45
|
update(message) {
|
|
42
|
-
if (this.spinner) {
|
|
46
|
+
if (this.spinner && !this.quiet) {
|
|
43
47
|
this.spinner.text = message;
|
|
44
48
|
}
|
|
45
49
|
}
|
|
@@ -48,6 +52,8 @@ class Output {
|
|
|
48
52
|
* Defaults to showing the original task message with duration
|
|
49
53
|
*/
|
|
50
54
|
done(message, showTime = true) {
|
|
55
|
+
if (this.quiet)
|
|
56
|
+
return;
|
|
51
57
|
let text = message || this.taskMessage || "done";
|
|
52
58
|
if (showTime && this.taskStartTime) {
|
|
53
59
|
const duration = ((Date.now() - this.taskStartTime) / 1000).toFixed(1);
|
|
@@ -61,43 +67,48 @@ class Output {
|
|
|
61
67
|
this.taskMessage = null;
|
|
62
68
|
}
|
|
63
69
|
/**
|
|
64
|
-
* Show a
|
|
70
|
+
* Show a banner header with background color
|
|
65
71
|
*/
|
|
66
|
-
|
|
72
|
+
banner(type, message) {
|
|
73
|
+
if (this.quiet)
|
|
74
|
+
return;
|
|
67
75
|
__classPrivateFieldGet(this, _Output_instances, "m", _Output_stopTask).call(this);
|
|
68
|
-
const
|
|
69
|
-
|
|
76
|
+
const label = type.toUpperCase();
|
|
77
|
+
let styled;
|
|
78
|
+
switch (type) {
|
|
79
|
+
case "success":
|
|
80
|
+
styled = chalk_1.default.bgGreen.black(label);
|
|
81
|
+
break;
|
|
82
|
+
case "error":
|
|
83
|
+
styled = chalk_1.default.bgRed.white(label);
|
|
84
|
+
break;
|
|
85
|
+
case "warning":
|
|
86
|
+
styled = chalk_1.default.bgYellow.black(label);
|
|
87
|
+
break;
|
|
88
|
+
case "info":
|
|
89
|
+
styled = chalk_1.default.bgGrey.white(label);
|
|
90
|
+
break;
|
|
91
|
+
default:
|
|
92
|
+
styled = chalk_1.default.bgWhite.black(label);
|
|
93
|
+
}
|
|
94
|
+
console.log(`\n${styled} ${message}`);
|
|
70
95
|
}
|
|
71
96
|
/**
|
|
72
|
-
* Show
|
|
73
|
-
* Filters out undefined values and applies optional transforms
|
|
74
|
-
* Automatically calculates key padding from max key length
|
|
97
|
+
* Show a key-value pair (indented, aligned)
|
|
75
98
|
*/
|
|
76
|
-
|
|
99
|
+
pair(key, value) {
|
|
100
|
+
if (this.quiet)
|
|
101
|
+
return;
|
|
77
102
|
__classPrivateFieldGet(this, _Output_instances, "m", _Output_stopTask).call(this);
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
81
|
-
if (value === undefined)
|
|
82
|
-
continue;
|
|
83
|
-
const displayKey = keyTransform ? keyTransform(key) : key;
|
|
84
|
-
entries.push([key, displayKey, value]);
|
|
85
|
-
}
|
|
86
|
-
// Calculate max key length for padding
|
|
87
|
-
const maxKeyLength = Math.max(...entries.map(([, displayKey]) => displayKey.length));
|
|
88
|
-
// Print each entry
|
|
89
|
-
for (const [key, displayKey, value] of entries) {
|
|
90
|
-
const displayValue = valueTransform
|
|
91
|
-
? valueTransform(value, key)
|
|
92
|
-
: String(value);
|
|
93
|
-
const keyFormatted = chalk_1.default.dim(displayKey.padEnd(maxKeyLength + 2));
|
|
94
|
-
console.log(`${keyFormatted}${displayValue}`);
|
|
95
|
-
}
|
|
103
|
+
const keyFormatted = chalk_1.default.dim(key.padEnd(12));
|
|
104
|
+
console.log(`${keyFormatted}${value}`);
|
|
96
105
|
}
|
|
97
106
|
/**
|
|
98
107
|
* Show plain message with optional color
|
|
99
108
|
*/
|
|
100
109
|
log(message, color) {
|
|
110
|
+
if (this.quiet)
|
|
111
|
+
return;
|
|
101
112
|
__classPrivateFieldGet(this, _Output_instances, "m", _Output_stopTask).call(this);
|
|
102
113
|
if (color) {
|
|
103
114
|
const colorFn = color === "dim" ? chalk_1.default.dim : chalk_1.default[color];
|
|
@@ -109,53 +120,42 @@ class Output {
|
|
|
109
120
|
}
|
|
110
121
|
/**
|
|
111
122
|
* Show success message (green)
|
|
112
|
-
* - 1 arg: green text
|
|
113
|
-
* - 2 args: green background label + message
|
|
114
|
-
*/
|
|
115
|
-
success(labelOrMessage, message) {
|
|
116
|
-
__classPrivateFieldGet(this, _Output_instances, "m", _Output_stopTask).call(this);
|
|
117
|
-
console.log(__classPrivateFieldGet(this, _Output_instances, "m", _Output_fmt).call(this, labelOrMessage, message, (text) => chalk_1.default.bgGreen.black(text), (text) => chalk_1.default.green(text)));
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Show info message (dim/grey)
|
|
121
|
-
* - 1 arg: dim text
|
|
122
|
-
* - 2 args: grey background label + message
|
|
123
123
|
*/
|
|
124
|
-
|
|
124
|
+
success(message) {
|
|
125
|
+
if (this.quiet)
|
|
126
|
+
return;
|
|
125
127
|
__classPrivateFieldGet(this, _Output_instances, "m", _Output_stopTask).call(this);
|
|
126
|
-
console.log(
|
|
128
|
+
console.log(chalk_1.default.green(message));
|
|
127
129
|
}
|
|
128
130
|
/**
|
|
129
|
-
* Show info message (dim
|
|
130
|
-
* - 1 arg: dim text
|
|
131
|
-
* - 2 args: grey background label + message
|
|
131
|
+
* Show info message (dim)
|
|
132
132
|
*/
|
|
133
|
-
|
|
133
|
+
info(message) {
|
|
134
|
+
if (this.quiet)
|
|
135
|
+
return;
|
|
134
136
|
__classPrivateFieldGet(this, _Output_instances, "m", _Output_stopTask).call(this);
|
|
135
|
-
console.log(
|
|
137
|
+
console.log(chalk_1.default.dim(message));
|
|
136
138
|
}
|
|
137
139
|
/**
|
|
138
140
|
* Show error message (red) - fails spinner if running
|
|
139
|
-
* - 1 arg: red text
|
|
140
|
-
* - 2 args: red background label + message
|
|
141
141
|
*/
|
|
142
|
-
error(
|
|
142
|
+
error(message) {
|
|
143
143
|
if (this.spinner) {
|
|
144
144
|
this.spinner.fail("failed");
|
|
145
145
|
this.spinner = null;
|
|
146
146
|
this.taskStartTime = null;
|
|
147
147
|
this.taskMessage = null;
|
|
148
148
|
}
|
|
149
|
-
console.
|
|
149
|
+
console.error(chalk_1.default.red(message));
|
|
150
150
|
}
|
|
151
151
|
/**
|
|
152
152
|
* Show warning message (yellow)
|
|
153
|
-
* - 1 arg: yellow text
|
|
154
|
-
* - 2 args: yellow background label + message
|
|
155
153
|
*/
|
|
156
|
-
warn(
|
|
154
|
+
warn(message) {
|
|
155
|
+
if (this.quiet)
|
|
156
|
+
return;
|
|
157
157
|
__classPrivateFieldGet(this, _Output_instances, "m", _Output_stopTask).call(this);
|
|
158
|
-
console.
|
|
158
|
+
console.warn(chalk_1.default.yellow(message));
|
|
159
159
|
}
|
|
160
160
|
/**
|
|
161
161
|
* Exit with code
|
|
@@ -172,11 +172,5 @@ _Output_instances = new WeakSet(), _Output_stopTask = function _Output_stopTask(
|
|
|
172
172
|
this.spinner.clear();
|
|
173
173
|
this.spinner = null;
|
|
174
174
|
}
|
|
175
|
-
}, _Output_fmt = function _Output_fmt(labelOrMessage, message, bgColorFn, fgColorFn) {
|
|
176
|
-
if (message !== undefined) {
|
|
177
|
-
const styled = bgColorFn(` ${labelOrMessage} `);
|
|
178
|
-
return `\n${styled} ${message}`;
|
|
179
|
-
}
|
|
180
|
-
return fgColorFn(labelOrMessage);
|
|
181
175
|
};
|
|
182
176
|
//# sourceMappingURL=output.js.map
|
package/dist/cli/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA0B;AAC1B,8CAA+B;AAE/B;;;;;;GAMG;AACH,MAAa,MAAM;
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"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"}
|