git-sync-js 1.0.0 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/commitAndSync.d.ts +9 -4
- package/dist/src/commitAndSync.d.ts.map +1 -1
- package/dist/src/commitAndSync.js +10 -7
- package/dist/src/commitAndSync.js.map +1 -1
- package/package.json +23 -26
- package/dist/test/clone.test.d.ts +0 -2
- package/dist/test/clone.test.d.ts.map +0 -1
- package/dist/test/clone.test.js +0 -42
- package/dist/test/clone.test.js.map +0 -1
- package/dist/test/commitAndSync.test.d.ts +0 -2
- package/dist/test/commitAndSync.test.d.ts.map +0 -1
- package/dist/test/commitAndSync.test.js +0 -27
- package/dist/test/commitAndSync.test.js.map +0 -1
- package/dist/test/constants.d.ts +0 -23
- package/dist/test/constants.d.ts.map +0 -1
- package/dist/test/constants.js +0 -51
- package/dist/test/constants.js.map +0 -1
- package/dist/test/constants.test.d.ts +0 -2
- package/dist/test/constants.test.d.ts.map +0 -1
- package/dist/test/constants.test.js +0 -7
- package/dist/test/constants.test.js.map +0 -1
- package/dist/test/initGit.test.d.ts +0 -2
- package/dist/test/initGit.test.d.ts.map +0 -1
- package/dist/test/initGit.test.js +0 -90
- package/dist/test/initGit.test.js.map +0 -1
- package/dist/test/inspect.test.d.ts +0 -2
- package/dist/test/inspect.test.d.ts.map +0 -1
- package/dist/test/inspect.test.js +0 -224
- package/dist/test/inspect.test.js.map +0 -1
- package/dist/test/jest.setup.d.ts +0 -2
- package/dist/test/jest.setup.d.ts.map +0 -1
- package/dist/test/jest.setup.js +0 -30
- package/dist/test/jest.setup.js.map +0 -1
- package/dist/test/sync.test.d.ts +0 -2
- package/dist/test/sync.test.d.ts.map +0 -1
- package/dist/test/sync.test.js +0 -75
- package/dist/test/sync.test.js.map +0 -1
- package/dist/test/utils.d.ts +0 -5
- package/dist/test/utils.d.ts.map +0 -1
- package/dist/test/utils.js +0 -38
- package/dist/test/utils.js.map +0 -1
|
@@ -3,10 +3,15 @@ import { defaultGitInfo as defaultDefaultGitInfo } from './defaultGitInfo';
|
|
|
3
3
|
export interface ICommitAndSyncOptions {
|
|
4
4
|
/** wiki folder path, can be relative */
|
|
5
5
|
dir: string;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
commitOnly?: boolean;
|
|
7
|
+
/** the storage service url we are sync to, for example your github repo url
|
|
8
|
+
* When empty, and commitOnly===true, it means we just want commit, without sync
|
|
9
|
+
*/
|
|
10
|
+
remoteUrl?: string;
|
|
11
|
+
/** user info used in the commit message
|
|
12
|
+
* When empty, and commitOnly===true, it means we just want commit, without sync
|
|
13
|
+
*/
|
|
14
|
+
userInfo?: IGitUserInfos;
|
|
10
15
|
/** the commit message */
|
|
11
16
|
commitMessage?: string;
|
|
12
17
|
logger?: ILogger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commitAndSync.d.ts","sourceRoot":"","sources":["../../src/commitAndSync.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAW,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ
|
|
1
|
+
{"version":3,"file":"commitAndSync.d.ts","sourceRoot":"","sources":["../../src/commitAndSync.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAW,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,yBAAyB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,qBAAqB,CAAC;IAC9C,+GAA+G;IAC/G,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AACD;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2JjF"}
|
|
@@ -9,15 +9,9 @@ import { commitFiles, continueRebase, mergeUpstream, pushUpstream } from './sync
|
|
|
9
9
|
* `git add .` + `git commit` + `git rebase` or something that can sync bi-directional
|
|
10
10
|
*/
|
|
11
11
|
export async function commitAndSync(options) {
|
|
12
|
-
const { dir, remoteUrl, commitMessage = 'Updated with Git-Sync', userInfo, logger, defaultGitInfo = defaultDefaultGitInfo, filesToIgnore } = options;
|
|
12
|
+
const { dir, remoteUrl, commitMessage = 'Updated with Git-Sync', userInfo, logger, defaultGitInfo = defaultDefaultGitInfo, filesToIgnore, commitOnly, } = options;
|
|
13
13
|
const { gitUserName, email, branch } = userInfo ?? defaultGitInfo;
|
|
14
14
|
const { accessToken } = userInfo ?? {};
|
|
15
|
-
if (accessToken === '' || accessToken === undefined) {
|
|
16
|
-
throw new SyncParameterMissingError('accessToken');
|
|
17
|
-
}
|
|
18
|
-
if (remoteUrl === '' || remoteUrl === undefined) {
|
|
19
|
-
throw new SyncParameterMissingError('remoteUrl');
|
|
20
|
-
}
|
|
21
15
|
const defaultBranchName = (await getDefaultBranchName(dir)) ?? branch;
|
|
22
16
|
const remoteName = await getRemoteName(dir, defaultBranchName);
|
|
23
17
|
const logProgress = (step) => logger?.info?.(step, {
|
|
@@ -63,7 +57,16 @@ export async function commitAndSync(options) {
|
|
|
63
57
|
}
|
|
64
58
|
logProgress(GitStep.CommitComplete);
|
|
65
59
|
}
|
|
60
|
+
if (commitOnly === true) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
66
63
|
logProgress(GitStep.PreparingUserInfo);
|
|
64
|
+
if (accessToken === '' || accessToken === undefined) {
|
|
65
|
+
throw new SyncParameterMissingError('accessToken');
|
|
66
|
+
}
|
|
67
|
+
if (remoteUrl === '' || remoteUrl === undefined) {
|
|
68
|
+
throw new SyncParameterMissingError('remoteUrl');
|
|
69
|
+
}
|
|
67
70
|
await credentialOn(dir, remoteUrl, gitUserName, accessToken, remoteName);
|
|
68
71
|
logProgress(GitStep.FetchingData);
|
|
69
72
|
await GitProcess.exec(['fetch', remoteName, defaultBranchName], dir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commitAndSync.js","sourceRoot":"","sources":["../../src/commitAndSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAC;AACvG,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACnI,OAAO,EAA0B,OAAO,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"commitAndSync.js","sourceRoot":"","sources":["../../src/commitAndSync.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "git-sync-js",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "JS implementation for Git-Sync, a handy script that backup your notes in a git repo to the remote git services.",
|
|
5
5
|
"homepage": "https://github.com/linonetwo/git-sync-js",
|
|
6
6
|
"bugs": {
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
},
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"author": "Lin Onetwo <linonetwo012@gmail.com> (https://github.com/linonetwo)",
|
|
15
|
-
"main": "dist/index.js",
|
|
16
|
-
"types": "dist/index.d.ts",
|
|
15
|
+
"main": "dist/src/index.js",
|
|
16
|
+
"types": "dist/src/index.d.ts",
|
|
17
17
|
"files": [
|
|
18
|
-
"dist/"
|
|
18
|
+
"dist/src/"
|
|
19
19
|
],
|
|
20
20
|
"scripts": {
|
|
21
21
|
"prepublishOnly": "npm run clean && npm run compile",
|
|
@@ -30,45 +30,42 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"dugite": "^1.104.0",
|
|
33
|
-
"fs-extra": "^10.0.
|
|
34
|
-
"isomorphic-git": "^1.
|
|
33
|
+
"fs-extra": "^10.0.1",
|
|
34
|
+
"isomorphic-git": "^1.17.0",
|
|
35
35
|
"lodash": "^4.17.21"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/fs-extra": "^9.0.13",
|
|
39
|
-
"@types/jest": "^27.4.
|
|
40
|
-
"@types/lodash": "^4.14.
|
|
41
|
-
"@types/node": "^17.0.
|
|
42
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
43
|
-
"@typescript-eslint/parser": "^5.
|
|
39
|
+
"@types/jest": "^27.4.1",
|
|
40
|
+
"@types/lodash": "^4.14.181",
|
|
41
|
+
"@types/node": "^17.0.23",
|
|
42
|
+
"@typescript-eslint/eslint-plugin": "^5.17.0",
|
|
43
|
+
"@typescript-eslint/parser": "^5.17.0",
|
|
44
44
|
"docs-ts": "^0.6.10",
|
|
45
|
-
"eslint": "^8.
|
|
46
|
-
"eslint-config-prettier": "8.
|
|
45
|
+
"eslint": "^8.12.0",
|
|
46
|
+
"eslint-config-prettier": "8.5.0",
|
|
47
47
|
"eslint-config-standard": "16.0.3",
|
|
48
48
|
"eslint-config-standard-with-typescript": "21.0.1",
|
|
49
49
|
"eslint-import-resolver-alias": "1.1.2",
|
|
50
|
-
"eslint-import-resolver-typescript": "2.
|
|
50
|
+
"eslint-import-resolver-typescript": "2.7.1",
|
|
51
51
|
"eslint-plugin-html": "6.2.0",
|
|
52
52
|
"eslint-plugin-import": "2.25.4",
|
|
53
53
|
"eslint-plugin-node": "11.1.0",
|
|
54
54
|
"eslint-plugin-prettier": "4.0.0",
|
|
55
55
|
"eslint-plugin-promise": "6.0.0",
|
|
56
|
-
"eslint-plugin-react": "7.
|
|
57
|
-
"eslint-plugin-react-hooks": "4.
|
|
56
|
+
"eslint-plugin-react": "7.29.4",
|
|
57
|
+
"eslint-plugin-react-hooks": "4.4.0",
|
|
58
58
|
"eslint-plugin-security": "^1.4.0",
|
|
59
59
|
"eslint-plugin-security-node": "^1.1.1",
|
|
60
|
-
"eslint-plugin-unicorn": "
|
|
61
|
-
"jest": "^27.
|
|
62
|
-
"prettier": "2.
|
|
60
|
+
"eslint-plugin-unicorn": "42.0.0",
|
|
61
|
+
"jest": "^27.5.1",
|
|
62
|
+
"prettier": "2.6.2",
|
|
63
63
|
"rimraf": "^3.0.2",
|
|
64
|
-
"ts-jest": "^27.1.
|
|
65
|
-
"ts-node": "^10.
|
|
66
|
-
"typescript": "^4.
|
|
64
|
+
"ts-jest": "^27.1.4",
|
|
65
|
+
"ts-node": "^10.7.0",
|
|
66
|
+
"typescript": "^4.6.3"
|
|
67
67
|
},
|
|
68
68
|
"keywords": [
|
|
69
69
|
"git,sync,notebook,commit,rebase,note"
|
|
70
|
-
]
|
|
71
|
-
"publishConfig": {
|
|
72
|
-
"registry": "https://registry.npmjs.org/"
|
|
73
|
-
}
|
|
70
|
+
]
|
|
74
71
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clone.test.d.ts","sourceRoot":"","sources":["../../test/clone.test.ts"],"names":[],"mappings":""}
|
package/dist/test/clone.test.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/* eslint-disable security/detect-non-literal-fs-filename */
|
|
2
|
-
import fs from 'fs-extra';
|
|
3
|
-
import { getDefaultBranchName, getSyncState, hasGit, haveLocalChanges } from '../src/inspect';
|
|
4
|
-
import { defaultGitInfo } from '../src/defaultGitInfo';
|
|
5
|
-
import {
|
|
6
|
-
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
7
|
-
dir, exampleToken, gitDirectory,
|
|
8
|
-
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
9
|
-
upstreamDir, } from './constants';
|
|
10
|
-
import { clone } from '../src/clone';
|
|
11
|
-
import { addAndCommitUsingDugite, addSomeFiles } from './utils';
|
|
12
|
-
describe('clone', () => {
|
|
13
|
-
beforeEach(async () => {
|
|
14
|
-
// remove dir's .git folder in this test suit, so we have a clean folder to clone
|
|
15
|
-
await fs.remove(gitDirectory);
|
|
16
|
-
});
|
|
17
|
-
describe('with upstream', () => {
|
|
18
|
-
test('equal to upstream after clone', async () => {
|
|
19
|
-
await clone({
|
|
20
|
-
dir,
|
|
21
|
-
userInfo: { ...defaultGitInfo, accessToken: exampleToken },
|
|
22
|
-
remoteUrl: upstreamDir,
|
|
23
|
-
});
|
|
24
|
-
expect(await hasGit(dir)).toBe(true);
|
|
25
|
-
expect(await haveLocalChanges(dir)).toBe(false);
|
|
26
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal');
|
|
27
|
-
expect(await getDefaultBranchName(dir)).toBe(defaultGitInfo.branch);
|
|
28
|
-
});
|
|
29
|
-
test('equal to committed upstream', async () => {
|
|
30
|
-
// modify upstream
|
|
31
|
-
await addSomeFiles(upstreamDir);
|
|
32
|
-
await addAndCommitUsingDugite(upstreamDir);
|
|
33
|
-
await clone({
|
|
34
|
-
dir,
|
|
35
|
-
userInfo: { ...defaultGitInfo, accessToken: exampleToken },
|
|
36
|
-
remoteUrl: upstreamDir,
|
|
37
|
-
});
|
|
38
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal');
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
//# sourceMappingURL=clone.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clone.test.js","sourceRoot":"","sources":["../../test/clone.test.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAa,MAAM,gBAAgB,CAAC;AACzG,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO;AACL,yDAAyD;AACzD,GAAG,EACH,YAAY,EACZ,YAAY;AACZ,yDAAyD;AACzD,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEhE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,iFAAiF;QACjF,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,KAAK,CAAC;gBACV,GAAG;gBACH,QAAQ,EAAE,EAAE,GAAG,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE;gBAC1D,SAAS,EAAE,WAAW;aACvB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAY,OAAO,CAAC,CAAC;YACvG,MAAM,CAAC,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC7C,kBAAkB;YAClB,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;YAChC,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC;YAE3C,MAAM,KAAK,CAAC;gBACV,GAAG;gBACH,QAAQ,EAAE,EAAE,GAAG,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE;gBAC1D,SAAS,EAAE,WAAW;aACvB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAY,OAAO,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commitAndSync.test.d.ts","sourceRoot":"","sources":["../../test/commitAndSync.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/* eslint-disable security/detect-non-literal-fs-filename */
|
|
2
|
-
import { getSyncState } from '../src/inspect';
|
|
3
|
-
import { defaultGitInfo } from '../src/defaultGitInfo';
|
|
4
|
-
import {
|
|
5
|
-
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
6
|
-
dir, exampleToken,
|
|
7
|
-
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
8
|
-
upstreamDir, } from './constants';
|
|
9
|
-
import { addBareUpstream, addSomeFiles } from './utils';
|
|
10
|
-
import { commitAndSync } from '../src/commitAndSync';
|
|
11
|
-
describe('commitAndSync', () => {
|
|
12
|
-
beforeEach(async () => {
|
|
13
|
-
await addBareUpstream();
|
|
14
|
-
});
|
|
15
|
-
const getCommitAndSyncOptions = () => ({
|
|
16
|
-
dir,
|
|
17
|
-
remoteUrl: upstreamDir,
|
|
18
|
-
userInfo: { ...defaultGitInfo, accessToken: exampleToken },
|
|
19
|
-
});
|
|
20
|
-
test('equal to upstream that been commitAndSync to', async () => {
|
|
21
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('noUpstreamOrBareUpstream');
|
|
22
|
-
await addSomeFiles();
|
|
23
|
-
await commitAndSync(getCommitAndSyncOptions());
|
|
24
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal');
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
//# sourceMappingURL=commitAndSync.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commitAndSync.test.js","sourceRoot":"","sources":["../../test/commitAndSync.test.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,YAAY,EAAa,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO;AACL,yDAAyD;AACzD,GAAG,EACH,YAAY;AACZ,yDAAyD;AACzD,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,aAAa,EAAyB,MAAM,sBAAsB,CAAC;AAE5E,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,uBAAuB,GAAG,GAA0B,EAAE,CAAC,CAAC;QAC5D,GAAG;QACH,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,EAAE,GAAG,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE;KAC3D,CAAC,CAAC;IAEH,IAAI,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAY,0BAA0B,CAAC,CAAC;QAC1H,MAAM,YAAY,EAAE,CAAC;QACrB,MAAM,aAAa,CAAC,uBAAuB,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAY,OAAO,CAAC,CAAC;IACzG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/test/constants.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/**
|
|
3
|
-
* mockRepoLocation
|
|
4
|
-
*/
|
|
5
|
-
export declare let dir: string;
|
|
6
|
-
export declare let upstreamDir: string;
|
|
7
|
-
export declare let gitDirectory: string;
|
|
8
|
-
export declare let upstreamDirGitDirectory: string;
|
|
9
|
-
export declare let gitSyncRepoDirectory: string;
|
|
10
|
-
export declare let gitSyncRepoDirectoryGitDirectory: string;
|
|
11
|
-
/**
|
|
12
|
-
* use currentTestName to get better constants, should call in jest functions as early as possible
|
|
13
|
-
*/
|
|
14
|
-
export declare const setGlobalConstants: () => void;
|
|
15
|
-
export declare const exampleRepoName = "tiddly-gittly/git-sync-js";
|
|
16
|
-
/**
|
|
17
|
-
* In TidGi, we use https remote without `.git` suffix, we will add `.git` when we need it.
|
|
18
|
-
*/
|
|
19
|
-
export declare const exampleRemoteUrl: string;
|
|
20
|
-
export declare const exampleToken = "testToken";
|
|
21
|
-
/** from https://stackoverflow.com/questions/39062595/how-can-i-create-a-png-blob-from-binary-data-in-a-typed-array */
|
|
22
|
-
export declare const exampleImageBuffer: Buffer;
|
|
23
|
-
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../test/constants.ts"],"names":[],"mappings":";AASA;;GAEG;AAEH,eAAO,IAAI,GAAG,EAAE,MAAM,CAAC;AACvB,eAAO,IAAI,WAAW,EAAE,MAAM,CAAC;AAE/B,eAAO,IAAI,YAAY,EAAE,MAAM,CAAC;AAChC,eAAO,IAAI,uBAAuB,EAAE,MAAM,CAAC;AAC3C,eAAO,IAAI,oBAAoB,EAAE,MAAM,CAAC;AACxC,eAAO,IAAI,gCAAgC,EAAE,MAAM,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAO,IAiBrC,CAAC;AAEF,eAAO,MAAM,eAAe,8BAA8B,CAAC;AAC3D;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAA0C,CAAC;AACxE,eAAO,MAAM,YAAY,cAAc,CAAC;AAExC,sHAAsH;AACtH,eAAO,MAAM,kBAAkB,QAM9B,CAAC"}
|
package/dist/test/constants.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/* eslint-disable security-node/detect-insecure-randomness */
|
|
2
|
-
/* eslint-disable unicorn/prevent-abbreviations */
|
|
3
|
-
/* eslint-disable unicorn/prefer-module */
|
|
4
|
-
import path from 'path';
|
|
5
|
-
/**
|
|
6
|
-
* Random dir name to prevent parallel test execution collision
|
|
7
|
-
*/
|
|
8
|
-
let repoName = Math.random().toString();
|
|
9
|
-
/**
|
|
10
|
-
* mockRepoLocation
|
|
11
|
-
*/
|
|
12
|
-
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
13
|
-
export let dir;
|
|
14
|
-
export let upstreamDir;
|
|
15
|
-
export let gitDirectory;
|
|
16
|
-
export let upstreamDirGitDirectory;
|
|
17
|
-
export let gitSyncRepoDirectory;
|
|
18
|
-
export let gitSyncRepoDirectoryGitDirectory;
|
|
19
|
-
/**
|
|
20
|
-
* use currentTestName to get better constants, should call in jest functions as early as possible
|
|
21
|
-
*/
|
|
22
|
-
export const setGlobalConstants = () => {
|
|
23
|
-
/**
|
|
24
|
-
* Random dir name to prevent parallel test execution collision
|
|
25
|
-
* This is undefined in describe! Only work inside test block.
|
|
26
|
-
*/
|
|
27
|
-
repoName = expect.getState().currentTestName;
|
|
28
|
-
/**
|
|
29
|
-
* mockRepoLocation
|
|
30
|
-
*/
|
|
31
|
-
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
32
|
-
dir = path.join(__dirname, 'mockRepo', repoName);
|
|
33
|
-
upstreamDir = path.join(__dirname, 'mockUpstreamRepo', repoName);
|
|
34
|
-
gitDirectory = path.join(dir, '.git');
|
|
35
|
-
upstreamDirGitDirectory = path.join(upstreamDir, '.git');
|
|
36
|
-
gitSyncRepoDirectory = path.join(__dirname, '..');
|
|
37
|
-
gitSyncRepoDirectoryGitDirectory = path.join(gitSyncRepoDirectory, '.git');
|
|
38
|
-
};
|
|
39
|
-
export const exampleRepoName = 'tiddly-gittly/git-sync-js';
|
|
40
|
-
/**
|
|
41
|
-
* In TidGi, we use https remote without `.git` suffix, we will add `.git` when we need it.
|
|
42
|
-
*/
|
|
43
|
-
export const exampleRemoteUrl = `https://github.com/${exampleRepoName}`;
|
|
44
|
-
export const exampleToken = 'testToken';
|
|
45
|
-
/** from https://stackoverflow.com/questions/39062595/how-can-i-create-a-png-blob-from-binary-data-in-a-typed-array */
|
|
46
|
-
export const exampleImageBuffer = Buffer.from(new Uint8Array([
|
|
47
|
-
137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0, 8, 0, 0, 0, 8, 8, 2, 0, 0, 0, 75, 109, 41, 220, 0, 0, 0, 34, 73, 68, 65, 84, 8, 215,
|
|
48
|
-
99, 120, 173, 168, 135, 21, 49, 0, 241, 255, 15, 90, 104, 8, 33, 129, 83, 7, 97, 163, 136, 214, 129, 93, 2, 43, 2, 0, 181, 31, 90, 179, 225, 252, 176, 37,
|
|
49
|
-
0, 0, 0, 0, 73, 69, 78, 68, 174, 66, 96, 130,
|
|
50
|
-
]));
|
|
51
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../test/constants.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,kDAAkD;AAClD,0CAA0C;AAC1C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;GAEG;AACH,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;AACxC;;GAEG;AACH,yDAAyD;AACzD,MAAM,CAAC,IAAI,GAAW,CAAC;AACvB,MAAM,CAAC,IAAI,WAAmB,CAAC;AAE/B,MAAM,CAAC,IAAI,YAAoB,CAAC;AAChC,MAAM,CAAC,IAAI,uBAA+B,CAAC;AAC3C,MAAM,CAAC,IAAI,oBAA4B,CAAC;AACxC,MAAM,CAAC,IAAI,gCAAwC,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAS,EAAE;IAC3C;;;OAGG;IACH,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC;IAC7C;;OAEG;IACH,yDAAyD;IACzD,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACjD,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAEjE,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACtC,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAClD,gCAAgC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,2BAA2B,CAAC;AAC3D;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,eAAe,EAAE,CAAC;AACxE,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AAExC,sHAAsH;AACtH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAC3C,IAAI,UAAU,CAAC;IACb,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG;IAC1J,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IACzJ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG;CAC7C,CAAC,CACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.test.d.ts","sourceRoot":"","sources":["../../test/constants.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.test.js","sourceRoot":"","sources":["../../test/constants.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initGit.test.d.ts","sourceRoot":"","sources":["../../test/initGit.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/* eslint-disable security/detect-non-literal-fs-filename */
|
|
2
|
-
import { GitProcess } from 'dugite';
|
|
3
|
-
import fs from 'fs-extra';
|
|
4
|
-
import { assumeSync, getDefaultBranchName, getSyncState, hasGit, haveLocalChanges } from '../src/inspect';
|
|
5
|
-
import { defaultGitInfo } from '../src/defaultGitInfo';
|
|
6
|
-
import { AssumeSyncError } from '../src/errors';
|
|
7
|
-
import {
|
|
8
|
-
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
9
|
-
dir, exampleToken, gitDirectory,
|
|
10
|
-
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
11
|
-
upstreamDir, } from './constants';
|
|
12
|
-
import { addAndCommitUsingDugite, addAnUpstream, addSomeFiles } from './utils';
|
|
13
|
-
import { commitFiles } from '../src/sync';
|
|
14
|
-
import { initGit } from '../src/initGit';
|
|
15
|
-
describe('initGit', () => {
|
|
16
|
-
beforeEach(async () => {
|
|
17
|
-
// remove dir's .git folder in this test suit, so we have a clean folder to init
|
|
18
|
-
await fs.remove(gitDirectory);
|
|
19
|
-
});
|
|
20
|
-
const testBranchName = 'test-branch';
|
|
21
|
-
test('Have a valid local repo after init', async () => {
|
|
22
|
-
await initGit({ dir, syncImmediately: false, userInfo: { ...defaultGitInfo, branch: testBranchName } });
|
|
23
|
-
expect(await hasGit(dir)).toBe(true);
|
|
24
|
-
expect(await haveLocalChanges(dir)).toBe(false);
|
|
25
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('noUpstreamOrBareUpstream');
|
|
26
|
-
expect(await getDefaultBranchName(dir)).toBe(testBranchName);
|
|
27
|
-
});
|
|
28
|
-
test('Fallback to default info', async () => {
|
|
29
|
-
await initGit({ dir, syncImmediately: false, defaultGitInfo: { ...defaultGitInfo, branch: testBranchName } });
|
|
30
|
-
expect(await getDefaultBranchName(dir)).toBe(testBranchName);
|
|
31
|
-
});
|
|
32
|
-
test("Don't use fallback if have provided info", async () => {
|
|
33
|
-
await initGit({
|
|
34
|
-
dir,
|
|
35
|
-
syncImmediately: false,
|
|
36
|
-
userInfo: { ...defaultGitInfo, branch: testBranchName },
|
|
37
|
-
defaultGitInfo: { ...defaultGitInfo, branch: testBranchName + '-bad' },
|
|
38
|
-
});
|
|
39
|
-
expect(await getDefaultBranchName(dir)).toBe(testBranchName);
|
|
40
|
-
});
|
|
41
|
-
describe('with upstream', () => {
|
|
42
|
-
test('equal to upstream that using dugite add', async () => {
|
|
43
|
-
await initGit({
|
|
44
|
-
dir,
|
|
45
|
-
syncImmediately: false,
|
|
46
|
-
defaultGitInfo,
|
|
47
|
-
});
|
|
48
|
-
// nested describe > beforeEach execute first, so after we add upstream, the .git folder is deleted and recreated, we need to manually fetch here
|
|
49
|
-
await GitProcess.exec(['fetch', defaultGitInfo.remote, defaultGitInfo.branch], dir);
|
|
50
|
-
// basically same as other test suit
|
|
51
|
-
const sharedCommitMessage = 'some commit message';
|
|
52
|
-
// syncImmediately: false, so we don't have a remote yet
|
|
53
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('noUpstreamOrBareUpstream');
|
|
54
|
-
await addAnUpstream();
|
|
55
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal');
|
|
56
|
-
await addSomeFiles();
|
|
57
|
-
await commitFiles(dir, defaultGitInfo.gitUserName, defaultGitInfo.email, sharedCommitMessage);
|
|
58
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('ahead');
|
|
59
|
-
await expect(async () => await assumeSync(dir, defaultGitInfo.branch, defaultGitInfo.remote)).rejects.toThrowError(new AssumeSyncError('ahead'));
|
|
60
|
-
// modify upstream
|
|
61
|
-
await addSomeFiles(upstreamDir);
|
|
62
|
-
await addAndCommitUsingDugite(upstreamDir, () => { }, sharedCommitMessage);
|
|
63
|
-
// it is equal until we fetch the latest remote
|
|
64
|
-
await GitProcess.exec(['fetch', defaultGitInfo.remote], dir);
|
|
65
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal');
|
|
66
|
-
});
|
|
67
|
-
test('syncImmediately to get equal state', async () => {
|
|
68
|
-
await initGit({
|
|
69
|
-
dir,
|
|
70
|
-
syncImmediately: true,
|
|
71
|
-
remoteUrl: upstreamDir,
|
|
72
|
-
userInfo: { ...defaultGitInfo, accessToken: exampleToken },
|
|
73
|
-
});
|
|
74
|
-
// basically same as other test suit
|
|
75
|
-
const sharedCommitMessage = 'some commit message';
|
|
76
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal');
|
|
77
|
-
await addSomeFiles();
|
|
78
|
-
await commitFiles(dir, defaultGitInfo.gitUserName, defaultGitInfo.email, sharedCommitMessage);
|
|
79
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('ahead');
|
|
80
|
-
await expect(async () => await assumeSync(dir, defaultGitInfo.branch, defaultGitInfo.remote)).rejects.toThrowError(new AssumeSyncError('ahead'));
|
|
81
|
-
// modify upstream
|
|
82
|
-
await addSomeFiles(upstreamDir);
|
|
83
|
-
await addAndCommitUsingDugite(upstreamDir, () => { }, sharedCommitMessage);
|
|
84
|
-
// it is equal until we fetch the latest remote
|
|
85
|
-
await GitProcess.exec(['fetch', defaultGitInfo.remote], dir);
|
|
86
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal');
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
//# sourceMappingURL=initGit.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initGit.test.js","sourceRoot":"","sources":["../../test/initGit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.test.d.ts","sourceRoot":"","sources":["../../test/inspect.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
/* eslint-disable security/detect-non-literal-fs-filename */
|
|
2
|
-
import fs from 'fs-extra';
|
|
3
|
-
import { GitProcess } from 'dugite';
|
|
4
|
-
import os from 'os';
|
|
5
|
-
import { assumeSync, getDefaultBranchName, getGitDirectory, getGitRepositoryState, getModifiedFileList, getRemoteName, getRemoteRepoName, getRemoteUrl, getSyncState, hasGit, haveLocalChanges, } from '../src/inspect';
|
|
6
|
-
import { credentialOff, credentialOn, getGitUrlWithCredential } from '../src/credential';
|
|
7
|
-
import { defaultGitInfo } from '../src/defaultGitInfo';
|
|
8
|
-
import { AssumeSyncError } from '../src/errors';
|
|
9
|
-
import {
|
|
10
|
-
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
11
|
-
dir, exampleImageBuffer, exampleRemoteUrl, exampleRepoName, exampleToken, gitDirectory, gitSyncRepoDirectoryGitDirectory,
|
|
12
|
-
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
13
|
-
upstreamDir, } from './constants';
|
|
14
|
-
import { addAndCommitUsingDugite, addAnUpstream, addSomeFiles } from './utils';
|
|
15
|
-
import { getGitUrlWithGitSuffix, getGitUrlWithOutGitSuffix } from '../src/utils';
|
|
16
|
-
describe('getGitDirectory', () => {
|
|
17
|
-
test('echo the git dir, hasGit is true', async () => {
|
|
18
|
-
expect(await getGitDirectory(dir)).toBe(gitDirectory);
|
|
19
|
-
expect(await hasGit(dir)).toBe(true);
|
|
20
|
-
});
|
|
21
|
-
describe('when no git', () => {
|
|
22
|
-
beforeEach(async () => {
|
|
23
|
-
await fs.remove(gitDirectory);
|
|
24
|
-
});
|
|
25
|
-
test("the git dir will be git-sync's dir", async () => {
|
|
26
|
-
expect(await getGitDirectory(dir)).toBe(gitSyncRepoDirectoryGitDirectory);
|
|
27
|
-
});
|
|
28
|
-
test('hasGit is false when strictly no git', async () => {
|
|
29
|
-
// will detect git-sync's repo git
|
|
30
|
-
expect(await hasGit(dir, false)).toBe(true);
|
|
31
|
-
// default is strictly check
|
|
32
|
-
expect(await hasGit(dir)).toBe(false);
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
describe('getDefaultBranchName', () => {
|
|
37
|
-
test('return undefined on a non git folder', async () => {
|
|
38
|
-
const branch = await getDefaultBranchName(os.tmpdir());
|
|
39
|
-
expect(branch).toBe(undefined);
|
|
40
|
-
});
|
|
41
|
-
test('return undefined on a not existed folder', async () => {
|
|
42
|
-
const branch = await getDefaultBranchName(os.tmpdir() + '/not-existed');
|
|
43
|
-
expect(branch).toBe(undefined);
|
|
44
|
-
});
|
|
45
|
-
test('it is main now due to BLM activities', async () => {
|
|
46
|
-
const branch = await getDefaultBranchName(dir);
|
|
47
|
-
expect(branch).toBe('main');
|
|
48
|
-
});
|
|
49
|
-
test("But if we are still using master because there wasn't a black man slavery history in Chinese", async () => {
|
|
50
|
-
await GitProcess.exec(['branch', '-m', 'main', 'master'], dir);
|
|
51
|
-
const branch = await getDefaultBranchName(dir);
|
|
52
|
-
expect(branch).toBe('master');
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
describe('getModifiedFileList', () => {
|
|
56
|
-
test('list multiple English file names in different ext name', async () => {
|
|
57
|
-
const paths = await addSomeFiles();
|
|
58
|
-
const fileList = await getModifiedFileList(dir);
|
|
59
|
-
expect(fileList).toStrictEqual([
|
|
60
|
-
{ filePath: paths[0], fileRelativePath: paths[0].replace(`${dir}/`, ''), type: '??' },
|
|
61
|
-
{ filePath: paths[1], fileRelativePath: paths[1].replace(`${dir}/`, ''), type: '??' },
|
|
62
|
-
]);
|
|
63
|
-
});
|
|
64
|
-
test('list multiple CJK file names', async () => {
|
|
65
|
-
const paths = [`${dir}/试试啊.json`, `${dir}/一个破图片.png`];
|
|
66
|
-
await fs.writeJSON(paths[0], { test: 'test' });
|
|
67
|
-
await fs.writeFile(paths[1], exampleImageBuffer);
|
|
68
|
-
const fileList = await getModifiedFileList(dir);
|
|
69
|
-
expect(fileList).toStrictEqual([
|
|
70
|
-
{ filePath: paths[0], fileRelativePath: paths[0].replace(`${dir}/`, ''), type: '??' },
|
|
71
|
-
{ filePath: paths[1], fileRelativePath: paths[1].replace(`${dir}/`, ''), type: '??' },
|
|
72
|
-
]);
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
describe('getRemoteUrl', () => {
|
|
76
|
-
test("New repo don't have remote", async () => {
|
|
77
|
-
const remoteUrl = await getRemoteUrl(dir, defaultGitInfo.remote);
|
|
78
|
-
expect(remoteUrl).toBe('');
|
|
79
|
-
});
|
|
80
|
-
describe('credential can be added to the remote', () => {
|
|
81
|
-
test('it has remote with token after calling credentialOn', async () => {
|
|
82
|
-
await credentialOn(dir, exampleRemoteUrl, defaultGitInfo.gitUserName, exampleToken, defaultGitInfo.remote);
|
|
83
|
-
const remoteUrl = await getRemoteUrl(dir, defaultGitInfo.remote);
|
|
84
|
-
expect(remoteUrl.length).toBeGreaterThan(0);
|
|
85
|
-
expect(remoteUrl).toBe(getGitUrlWithCredential(exampleRemoteUrl, defaultGitInfo.gitUserName, exampleToken));
|
|
86
|
-
// github use https://${username}:${accessToken}@github.com/ format
|
|
87
|
-
expect(remoteUrl.includes('@')).toBe(true);
|
|
88
|
-
expect(remoteUrl.includes(exampleToken)).toBe(true);
|
|
89
|
-
// we want user add .git himself before credentialOn
|
|
90
|
-
expect(remoteUrl.endsWith('.git')).toBe(false);
|
|
91
|
-
});
|
|
92
|
-
test('it has a credential-free remote with .git suffix after calling credentialOff', async () => {
|
|
93
|
-
await credentialOn(dir, exampleRemoteUrl, defaultGitInfo.gitUserName, exampleToken, defaultGitInfo.remote);
|
|
94
|
-
await credentialOff(dir, defaultGitInfo.remote);
|
|
95
|
-
const remoteUrl = await getRemoteUrl(dir, defaultGitInfo.remote);
|
|
96
|
-
expect(remoteUrl.length).toBeGreaterThan(0);
|
|
97
|
-
expect(remoteUrl).toBe(exampleRemoteUrl);
|
|
98
|
-
expect(remoteUrl.includes('@')).toBe(false);
|
|
99
|
-
expect(remoteUrl.includes(exampleToken)).toBe(false);
|
|
100
|
-
expect(remoteUrl.endsWith('.git')).toBe(false);
|
|
101
|
-
});
|
|
102
|
-
test('it keeps .git suffix, letting user add and remove it', async () => {
|
|
103
|
-
const exampleRemoteUrlWithSuffix = getGitUrlWithGitSuffix(exampleRemoteUrl);
|
|
104
|
-
expect(exampleRemoteUrlWithSuffix.endsWith('.git')).toBe(true);
|
|
105
|
-
await credentialOn(dir, exampleRemoteUrlWithSuffix, defaultGitInfo.gitUserName, exampleToken, defaultGitInfo.remote);
|
|
106
|
-
await credentialOff(dir, defaultGitInfo.remote);
|
|
107
|
-
const remoteUrl = await getRemoteUrl(dir, defaultGitInfo.remote);
|
|
108
|
-
expect(remoteUrl.endsWith('.git')).toBe(true);
|
|
109
|
-
const remoteUrlWithoutSuffix = getGitUrlWithOutGitSuffix(remoteUrl);
|
|
110
|
-
expect(remoteUrlWithoutSuffix.endsWith('.git')).toBe(false);
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
describe('getRemoteRepoName', () => {
|
|
115
|
-
test('Get github repo name', () => {
|
|
116
|
-
const repoName = getRemoteRepoName(exampleRemoteUrl);
|
|
117
|
-
expect(repoName).toBe(exampleRepoName);
|
|
118
|
-
});
|
|
119
|
-
test('Get gitlab repo name', () => {
|
|
120
|
-
const repoName = getRemoteRepoName('https://code.byted.org/ad/bytedance-secret-notes');
|
|
121
|
-
expect(repoName).toBe('ad/bytedance-secret-notes');
|
|
122
|
-
});
|
|
123
|
-
test('Return undefined from malformed url', () => {
|
|
124
|
-
const repoName = getRemoteRepoName('https://asdfasdf-asdfadsf');
|
|
125
|
-
expect(repoName).toBe(undefined);
|
|
126
|
-
});
|
|
127
|
-
test('Return last slash when unknown', () => {
|
|
128
|
-
const repoName = getRemoteRepoName('https://asdfasdf/asdfadsf');
|
|
129
|
-
expect(repoName).toBe('asdfadsf');
|
|
130
|
-
});
|
|
131
|
-
test('Throw when not a url', () => {
|
|
132
|
-
expect(() => getRemoteRepoName('sdfasdf/asdfadsf')).toThrowError(new TypeError('Invalid URL'));
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
describe('getRemoteName', () => {
|
|
136
|
-
test('Get default origin when no config found', async () => {
|
|
137
|
-
const remoteName = await getRemoteName(dir, defaultGitInfo.branch);
|
|
138
|
-
expect(remoteName).toBe(defaultGitInfo.remote);
|
|
139
|
-
});
|
|
140
|
-
});
|
|
141
|
-
describe('haveLocalChanges', () => {
|
|
142
|
-
test('When there are newly added files', async () => {
|
|
143
|
-
expect(await haveLocalChanges(dir)).toBe(false);
|
|
144
|
-
});
|
|
145
|
-
describe('we touch some files', () => {
|
|
146
|
-
beforeEach(async () => {
|
|
147
|
-
await addSomeFiles();
|
|
148
|
-
});
|
|
149
|
-
test('When there are newly added files', async () => {
|
|
150
|
-
expect(await haveLocalChanges(dir)).toBe(true);
|
|
151
|
-
});
|
|
152
|
-
test('No change after commit', async () => {
|
|
153
|
-
await addAndCommitUsingDugite(dir, async () => expect(await haveLocalChanges(dir)).toBe(true));
|
|
154
|
-
expect(await haveLocalChanges(dir)).toBe(false);
|
|
155
|
-
});
|
|
156
|
-
});
|
|
157
|
-
});
|
|
158
|
-
describe('getSyncState and getGitRepositoryState', () => {
|
|
159
|
-
test('It should have no upstream by default', async () => {
|
|
160
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('noUpstreamOrBareUpstream');
|
|
161
|
-
});
|
|
162
|
-
describe('Add a repo as the upstream', () => {
|
|
163
|
-
beforeEach(async () => {
|
|
164
|
-
await addAnUpstream();
|
|
165
|
-
});
|
|
166
|
-
test('have a mock upstream', async () => {
|
|
167
|
-
expect(await getRemoteUrl(dir, defaultGitInfo.remote)).toBe(upstreamDir);
|
|
168
|
-
});
|
|
169
|
-
test('equal to upstream', async () => {
|
|
170
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal');
|
|
171
|
-
expect(await assumeSync(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe(undefined);
|
|
172
|
-
});
|
|
173
|
-
test('still equal there are newly added files', async () => {
|
|
174
|
-
await addSomeFiles();
|
|
175
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal');
|
|
176
|
-
});
|
|
177
|
-
test('ahead after commit', async () => {
|
|
178
|
-
await addSomeFiles();
|
|
179
|
-
await addAndCommitUsingDugite();
|
|
180
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('ahead');
|
|
181
|
-
await expect(async () => await assumeSync(dir, defaultGitInfo.branch, defaultGitInfo.remote)).rejects.toThrowError(new AssumeSyncError('ahead'));
|
|
182
|
-
});
|
|
183
|
-
test('behind after modify the remote', async () => {
|
|
184
|
-
await addSomeFiles(upstreamDir);
|
|
185
|
-
await addAndCommitUsingDugite(upstreamDir, async () => expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal'));
|
|
186
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal');
|
|
187
|
-
// it is equal until we fetch the latest remote
|
|
188
|
-
await GitProcess.exec(['fetch', defaultGitInfo.remote], dir);
|
|
189
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('behind');
|
|
190
|
-
await expect(async () => await assumeSync(dir, defaultGitInfo.branch, defaultGitInfo.remote)).rejects.toThrowError(new AssumeSyncError('behind'));
|
|
191
|
-
});
|
|
192
|
-
test('diverged after modify both remote and local', async () => {
|
|
193
|
-
await addSomeFiles(upstreamDir);
|
|
194
|
-
await addAndCommitUsingDugite(upstreamDir, async () => expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal'));
|
|
195
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal');
|
|
196
|
-
await addSomeFiles(dir);
|
|
197
|
-
// if use same file and same commit message, it will be equal than diverged in the end
|
|
198
|
-
await addAndCommitUsingDugite(dir, async () => expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal'), 'some different commit message');
|
|
199
|
-
// not latest remote data, so we thought we are ahead
|
|
200
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('ahead');
|
|
201
|
-
// it is equal until we fetch the latest remote
|
|
202
|
-
await GitProcess.exec(['fetch', defaultGitInfo.remote], dir);
|
|
203
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('diverged');
|
|
204
|
-
await expect(async () => await assumeSync(dir, defaultGitInfo.branch, defaultGitInfo.remote)).rejects.toThrowError(new AssumeSyncError('diverged'));
|
|
205
|
-
});
|
|
206
|
-
});
|
|
207
|
-
});
|
|
208
|
-
describe('getGitRepositoryState', () => {
|
|
209
|
-
test('normal git state', async () => {
|
|
210
|
-
expect(await getGitRepositoryState(dir)).toBe('');
|
|
211
|
-
await addSomeFiles(dir);
|
|
212
|
-
await addAndCommitUsingDugite();
|
|
213
|
-
expect(await getGitRepositoryState(dir)).toBe('');
|
|
214
|
-
});
|
|
215
|
-
test("'when no git, it say NOGIT", async () => {
|
|
216
|
-
await fs.remove(gitDirectory);
|
|
217
|
-
expect(await getGitRepositoryState(dir)).toBe('NOGIT');
|
|
218
|
-
});
|
|
219
|
-
test('dirty when there are some files', async () => {
|
|
220
|
-
await addSomeFiles(dir);
|
|
221
|
-
expect(await getGitRepositoryState(dir)).toBe('|DIRTY');
|
|
222
|
-
});
|
|
223
|
-
});
|
|
224
|
-
//# sourceMappingURL=inspect.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.test.js","sourceRoot":"","sources":["../../test/inspect.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jest.setup.d.ts","sourceRoot":"","sources":["../../test/jest.setup.ts"],"names":[],"mappings":""}
|
package/dist/test/jest.setup.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/* eslint-disable security/detect-non-literal-fs-filename */
|
|
2
|
-
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
3
|
-
import fs from 'fs-extra';
|
|
4
|
-
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
5
|
-
import { dir, setGlobalConstants, upstreamDir } from './constants';
|
|
6
|
-
import { initGitWithBranch } from '../src/init';
|
|
7
|
-
import { defaultGitInfo } from '../src/defaultGitInfo';
|
|
8
|
-
beforeEach(async () => {
|
|
9
|
-
setGlobalConstants();
|
|
10
|
-
await resetMockGitRepositories();
|
|
11
|
-
return await setUpMockGitRepositories();
|
|
12
|
-
});
|
|
13
|
-
// afterAll(async () => {
|
|
14
|
-
// return await resetMockGitRepositories();
|
|
15
|
-
// });
|
|
16
|
-
async function setUpMockGitRepositories() {
|
|
17
|
-
if (!(await fs.pathExists(dir))) {
|
|
18
|
-
await fs.mkdirp(dir);
|
|
19
|
-
}
|
|
20
|
-
if (!(await fs.pathExists(upstreamDir))) {
|
|
21
|
-
await fs.mkdirp(upstreamDir);
|
|
22
|
-
}
|
|
23
|
-
await initGitWithBranch(dir);
|
|
24
|
-
await initGitWithBranch(upstreamDir, defaultGitInfo.branch);
|
|
25
|
-
}
|
|
26
|
-
async function resetMockGitRepositories() {
|
|
27
|
-
await fs.remove(dir);
|
|
28
|
-
await fs.remove(upstreamDir);
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=jest.setup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jest.setup.js","sourceRoot":"","sources":["../../test/jest.setup.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,qEAAqE;AACrE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,yDAAyD;AACzD,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,UAAU,CAAC,KAAK,IAAI,EAAE;IACpB,kBAAkB,EAAE,CAAC;IACrB,MAAM,wBAAwB,EAAE,CAAC;IACjC,OAAO,MAAM,wBAAwB,EAAE,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,yBAAyB;AACzB,6CAA6C;AAC7C,MAAM;AAEN,KAAK,UAAU,wBAAwB;IACrC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;QAC/B,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACtB;IACD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE;QACvC,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KAC9B;IACD,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,iBAAiB,CAAC,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,wBAAwB;IACrC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAC/B,CAAC"}
|
package/dist/test/sync.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync.test.d.ts","sourceRoot":"","sources":["../../test/sync.test.ts"],"names":[],"mappings":""}
|
package/dist/test/sync.test.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/* eslint-disable security/detect-non-literal-fs-filename */
|
|
2
|
-
import { GitProcess } from 'dugite';
|
|
3
|
-
import fs from 'fs-extra';
|
|
4
|
-
import path from 'path';
|
|
5
|
-
import { assumeSync, getModifiedFileList, getSyncState } from '../src/inspect';
|
|
6
|
-
import { defaultGitInfo } from '../src/defaultGitInfo';
|
|
7
|
-
import { AssumeSyncError } from '../src/errors';
|
|
8
|
-
import {
|
|
9
|
-
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
10
|
-
dir,
|
|
11
|
-
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
12
|
-
upstreamDir, } from './constants';
|
|
13
|
-
import { addAndCommitUsingDugite, addAnUpstream, addBareUpstream, addSomeFiles } from './utils';
|
|
14
|
-
import { commitFiles, mergeUpstream, pushUpstream } from '../src/sync';
|
|
15
|
-
describe('commitFiles', () => {
|
|
16
|
-
describe('with upstream', () => {
|
|
17
|
-
beforeEach(async () => {
|
|
18
|
-
await addAnUpstream();
|
|
19
|
-
});
|
|
20
|
-
test('equal to upstream that using dugite add', async () => {
|
|
21
|
-
const sharedCommitMessage = 'some commit message';
|
|
22
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal');
|
|
23
|
-
await addSomeFiles();
|
|
24
|
-
await commitFiles(dir, defaultGitInfo.gitUserName, defaultGitInfo.email, sharedCommitMessage);
|
|
25
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('ahead');
|
|
26
|
-
await expect(async () => await assumeSync(dir, defaultGitInfo.branch, defaultGitInfo.remote)).rejects.toThrowError(new AssumeSyncError('ahead'));
|
|
27
|
-
// modify upstream
|
|
28
|
-
await addSomeFiles(upstreamDir);
|
|
29
|
-
await addAndCommitUsingDugite(upstreamDir, () => { }, sharedCommitMessage);
|
|
30
|
-
// it is equal until we fetch the latest remote
|
|
31
|
-
await GitProcess.exec(['fetch', defaultGitInfo.remote], dir);
|
|
32
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal');
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
test('ignore provided file list', async () => {
|
|
36
|
-
await addSomeFiles();
|
|
37
|
-
const ignoredFileName = '.useless';
|
|
38
|
-
const ignoredFilePath = path.join(dir, ignoredFileName);
|
|
39
|
-
await fs.writeFile(ignoredFilePath, 'useless');
|
|
40
|
-
await commitFiles(dir, defaultGitInfo.gitUserName, defaultGitInfo.email, undefined, [ignoredFileName]);
|
|
41
|
-
const fileList = await getModifiedFileList(dir);
|
|
42
|
-
expect(fileList).toStrictEqual([{ filePath: ignoredFilePath, fileRelativePath: ignoredFileName, type: '??' }]);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
describe('pushUpstream', () => {
|
|
46
|
-
describe('with upstream', () => {
|
|
47
|
-
beforeEach(async () => {
|
|
48
|
-
await addBareUpstream();
|
|
49
|
-
});
|
|
50
|
-
test('equal to upstream after push', async () => {
|
|
51
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('noUpstreamOrBareUpstream');
|
|
52
|
-
await addSomeFiles();
|
|
53
|
-
await commitFiles(dir, defaultGitInfo.gitUserName, defaultGitInfo.email);
|
|
54
|
-
await pushUpstream(dir, defaultGitInfo.branch, defaultGitInfo.remote);
|
|
55
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal');
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
describe('mergeUpstream', () => {
|
|
60
|
-
describe('with upstream', () => {
|
|
61
|
-
beforeEach(async () => {
|
|
62
|
-
await addAnUpstream();
|
|
63
|
-
});
|
|
64
|
-
test('equal to upstream after pull', async () => {
|
|
65
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal');
|
|
66
|
-
await addSomeFiles(upstreamDir);
|
|
67
|
-
await commitFiles(upstreamDir, defaultGitInfo.gitUserName, defaultGitInfo.email);
|
|
68
|
-
await GitProcess.exec(['fetch', defaultGitInfo.remote], dir);
|
|
69
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('behind');
|
|
70
|
-
await mergeUpstream(dir, defaultGitInfo.branch, defaultGitInfo.remote);
|
|
71
|
-
expect(await getSyncState(dir, defaultGitInfo.branch, defaultGitInfo.remote)).toBe('equal');
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
//# sourceMappingURL=sync.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync.test.js","sourceRoot":"","sources":["../../test/sync.test.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,YAAY,EAAa,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO;AACL,yDAAyD;AACzD,GAAG;AACH,yDAAyD;AACzD,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvE,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,aAAa,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;YAClD,MAAM,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAY,OAAO,CAAC,CAAC;YACvG,MAAM,YAAY,EAAE,CAAC;YACrB,MAAM,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;YAC9F,MAAM,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAY,OAAO,CAAC,CAAC;YACvG,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YAEjJ,kBAAkB;YAClB,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;YAChC,MAAM,uBAAuB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC;YAC1E,+CAA+C;YAC/C,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAY,OAAO,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,YAAY,EAAE,CAAC;QACrB,MAAM,eAAe,GAAG,UAAU,CAAC;QACnC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACxD,MAAM,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAC/C,MAAM,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;QACvG,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACjH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,eAAe,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAY,0BAA0B,CAAC,CAAC;YAC1H,MAAM,YAAY,EAAE,CAAC;YACrB,MAAM,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;YAEzE,MAAM,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;YACtE,MAAM,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAY,OAAO,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,aAAa,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAY,OAAO,CAAC,CAAC;YACvG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;YAChC,MAAM,WAAW,CAAC,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;YACjF,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAY,QAAQ,CAAC,CAAC;YACxG,MAAM,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;YACvE,MAAM,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAY,OAAO,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/test/utils.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export declare function addSomeFiles<T extends [string, string]>(location?: string): Promise<T>;
|
|
2
|
-
export declare function addAnUpstream(): Promise<void>;
|
|
3
|
-
export declare function addAndCommitUsingDugite(location?: string, runBetween?: () => unknown | Promise<unknown>, message?: string): Promise<void>;
|
|
4
|
-
export declare function addBareUpstream(): Promise<void>;
|
|
5
|
-
//# sourceMappingURL=utils.d.ts.map
|
package/dist/test/utils.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../test/utils.ts"],"names":[],"mappings":"AAOA,wBAAsB,YAAY,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,SAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAMzF;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAanD;AAED,wBAAsB,uBAAuB,CAC3C,QAAQ,SAAM,EACd,UAAU,GAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAY,EACvD,OAAO,SAAwB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAIrD"}
|
package/dist/test/utils.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { GitProcess } from 'dugite';
|
|
2
|
-
import fs from 'fs-extra';
|
|
3
|
-
import { initGitWithBranch } from '../src/init';
|
|
4
|
-
import { defaultGitInfo } from '../src/defaultGitInfo';
|
|
5
|
-
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
6
|
-
import { dir, exampleImageBuffer, upstreamDir, upstreamDirGitDirectory } from './constants';
|
|
7
|
-
export async function addSomeFiles(location = dir) {
|
|
8
|
-
const paths = [`${location}/image.png`, `${location}/test.json`];
|
|
9
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
10
|
-
await fs.writeFile(paths[0], exampleImageBuffer);
|
|
11
|
-
await fs.writeJSON(paths[1], { test: 'test' });
|
|
12
|
-
return paths;
|
|
13
|
-
}
|
|
14
|
-
export async function addAnUpstream() {
|
|
15
|
-
await GitProcess.exec(['remote', 'add', defaultGitInfo.remote, upstreamDir], dir);
|
|
16
|
-
/**
|
|
17
|
-
* Need to fetch the remote repo first, otherwise it will say:
|
|
18
|
-
*
|
|
19
|
-
* ```
|
|
20
|
-
* % git rev-list --count --left-right origin/main...HEAD
|
|
21
|
-
fatal: ambiguous argument 'origin/main...HEAD': unknown revision or path not in the working tree.
|
|
22
|
-
Use '--' to separate paths from revisions, like this:
|
|
23
|
-
'git <command> [<revision>...] -- [<file>...]'
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
await GitProcess.exec(['fetch', defaultGitInfo.remote, defaultGitInfo.branch], dir);
|
|
27
|
-
}
|
|
28
|
-
export async function addAndCommitUsingDugite(location = dir, runBetween = () => { }, message = 'some commit message') {
|
|
29
|
-
await GitProcess.exec(['add', '.'], location);
|
|
30
|
-
await runBetween();
|
|
31
|
-
await GitProcess.exec(['commit', '-m', message, `--author="${defaultGitInfo.gitUserName} <${defaultGitInfo.email}>"`], location);
|
|
32
|
-
}
|
|
33
|
-
export async function addBareUpstream() {
|
|
34
|
-
await fs.remove(upstreamDirGitDirectory);
|
|
35
|
-
await initGitWithBranch(upstreamDir, defaultGitInfo.branch, { bare: true });
|
|
36
|
-
await addAnUpstream();
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/test/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../test/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,yDAAyD;AACzD,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE5F,MAAM,CAAC,KAAK,UAAU,YAAY,CAA6B,QAAQ,GAAG,GAAG;IAC3E,MAAM,KAAK,GAAM,CAAC,GAAG,QAAQ,YAAY,EAAE,GAAG,QAAQ,YAAY,CAAM,CAAC;IACzE,mEAAmE;IACnE,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACjD,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;IAClF;;;;;;;;;WASO;IACP,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAQ,GAAG,GAAG,EACd,aAA+C,GAAG,EAAE,GAAE,CAAC,EACvD,OAAO,GAAG,qBAAqB;IAE/B,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9C,MAAM,UAAU,EAAE,CAAC;IACnB,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,cAAc,CAAC,WAAW,KAAK,cAAc,CAAC,KAAK,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;AACnI,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACzC,MAAM,iBAAiB,CAAC,WAAW,EAAE,cAAc,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,MAAM,aAAa,EAAE,CAAC;AACxB,CAAC"}
|