patch-project 56.0.21 → 57.0.0-canary-20260623-1c70a78
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/build/cli/dir.js +68 -21
- package/build/cli/dir.js.map +1 -1
- package/build/cli/generateNativeProjects.js +67 -33
- package/build/cli/generateNativeProjects.js.map +1 -1
- package/build/cli/index.js +111 -64
- package/build/cli/index.js.map +1 -1
- package/build/cli/logger.js +87 -48
- package/build/cli/logger.js.map +1 -1
- package/build/cli/normalizeNativeProjects.js +111 -69
- package/build/cli/normalizeNativeProjects.js.map +1 -1
- package/build/cli/patchProjectAsync.js +153 -90
- package/build/cli/patchProjectAsync.js.map +1 -1
- package/build/cli/resolveFromExpoCli.js +33 -14
- package/build/cli/resolveFromExpoCli.js.map +1 -1
- package/build/cli/workingDirectories.js +61 -22
- package/build/cli/workingDirectories.js.map +1 -1
- package/build/env.js +19 -5
- package/build/env.js.map +1 -1
- package/build/gitPatch.js +146 -64
- package/build/gitPatch.js.map +1 -1
- package/build/withPatchPlugin.js +117 -68
- package/build/withPatchPlugin.js.map +1 -1
- package/package.json +15 -14
package/build/cli/dir.js
CHANGED
|
@@ -1,38 +1,85 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
0 && (module.exports = {
|
|
6
|
+
directoryExistsAsync: null,
|
|
7
|
+
ensureDirectoryAsync: null,
|
|
8
|
+
moveAsync: null
|
|
9
|
+
});
|
|
10
|
+
function _export(target, all) {
|
|
11
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
_export(exports, {
|
|
17
|
+
get directoryExistsAsync () {
|
|
18
|
+
return directoryExistsAsync;
|
|
19
|
+
},
|
|
20
|
+
get ensureDirectoryAsync () {
|
|
21
|
+
return ensureDirectoryAsync;
|
|
22
|
+
},
|
|
23
|
+
get moveAsync () {
|
|
24
|
+
return moveAsync;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
function _fs() {
|
|
28
|
+
const data = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
29
|
+
_fs = function() {
|
|
30
|
+
return data;
|
|
31
|
+
};
|
|
32
|
+
return data;
|
|
33
|
+
}
|
|
34
|
+
function _path() {
|
|
35
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
36
|
+
_path = function() {
|
|
37
|
+
return data;
|
|
38
|
+
};
|
|
39
|
+
return data;
|
|
40
|
+
}
|
|
41
|
+
function _interop_require_default(obj) {
|
|
42
|
+
return obj && obj.__esModule ? obj : {
|
|
43
|
+
default: obj
|
|
44
|
+
};
|
|
45
|
+
}
|
|
11
46
|
async function directoryExistsAsync(file) {
|
|
12
|
-
return (await
|
|
47
|
+
return (await _fs().default.promises.stat(file).catch(()=>null))?.isDirectory() ?? false;
|
|
13
48
|
}
|
|
14
49
|
async function ensureDirectoryAsync(path) {
|
|
15
|
-
await
|
|
50
|
+
await _fs().default.promises.mkdir(path, {
|
|
51
|
+
recursive: true
|
|
52
|
+
});
|
|
16
53
|
return path;
|
|
17
54
|
}
|
|
18
55
|
async function moveAsync(src, dest) {
|
|
19
56
|
// First, remove target, so there are no conflicts (explicit overwrite)
|
|
20
|
-
await
|
|
57
|
+
await _fs().default.promises.rm(dest, {
|
|
58
|
+
force: true,
|
|
59
|
+
recursive: true
|
|
60
|
+
});
|
|
21
61
|
// Then, make sure that the target parent directory exists
|
|
22
|
-
await
|
|
62
|
+
await _fs().default.promises.mkdir(_path().default.dirname(dest), {
|
|
63
|
+
recursive: true
|
|
64
|
+
});
|
|
23
65
|
try {
|
|
24
66
|
// Then, rename the file to move it to the destination
|
|
25
|
-
await
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
67
|
+
await _fs().default.promises.rename(src, dest);
|
|
68
|
+
} catch (error) {
|
|
28
69
|
if (error.code === 'EXDEV') {
|
|
29
70
|
// If the file is on a different device/disk, copy it instead and delete the original
|
|
30
|
-
await
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
71
|
+
await _fs().default.promises.cp(src, dest, {
|
|
72
|
+
errorOnExist: true,
|
|
73
|
+
recursive: true
|
|
74
|
+
});
|
|
75
|
+
await _fs().default.promises.rm(src, {
|
|
76
|
+
recursive: true,
|
|
77
|
+
force: true
|
|
78
|
+
});
|
|
79
|
+
} else {
|
|
34
80
|
throw error;
|
|
35
81
|
}
|
|
36
82
|
}
|
|
37
83
|
}
|
|
38
|
-
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=dir.js.map
|
package/build/cli/dir.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["cli/dir.ts"],"sourcesContent":[null],"names":["directoryExistsAsync","ensureDirectoryAsync","moveAsync","file","fs","promises","stat","catch","isDirectory","path","mkdir","recursive","src","dest","rm","force","dirname","rename","error","code","cp","errorOnExist"],"mappings":";;;;;;;;;;;;;;;;QAGsBA;eAAAA;;QAIAC;eAAAA;;QAKAC;eAAAA;;;;gEAZP;;;;;;;gEACE;;;;;;;;;;;AAEV,eAAeF,qBAAqBG,IAAY;IACrD,OAAO,AAAC,CAAA,MAAMC,aAAE,CAACC,QAAQ,CAACC,IAAI,CAACH,MAAMI,KAAK,CAAC,IAAM,KAAI,GAAIC,iBAAiB;AAC5E;AAEO,eAAeP,qBAAqBQ,IAAY;IACrD,MAAML,aAAE,CAACC,QAAQ,CAACK,KAAK,CAACD,MAAM;QAAEE,WAAW;IAAK;IAChD,OAAOF;AACT;AAEO,eAAeP,UAAUU,GAAW,EAAEC,IAAY;IACvD,uEAAuE;IACvE,MAAMT,aAAE,CAACC,QAAQ,CAACS,EAAE,CAACD,MAAM;QAAEE,OAAO;QAAMJ,WAAW;IAAK;IAC1D,0DAA0D;IAC1D,MAAMP,aAAE,CAACC,QAAQ,CAACK,KAAK,CAACD,eAAI,CAACO,OAAO,CAACH,OAAO;QAAEF,WAAW;IAAK;IAC9D,IAAI;QACF,sDAAsD;QACtD,MAAMP,aAAE,CAACC,QAAQ,CAACY,MAAM,CAACL,KAAKC;IAChC,EAAE,OAAOK,OAAY;QACnB,IAAIA,MAAMC,IAAI,KAAK,SAAS;YAC1B,qFAAqF;YACrF,MAAMf,aAAE,CAACC,QAAQ,CAACe,EAAE,CAACR,KAAKC,MAAM;gBAAEQ,cAAc;gBAAMV,WAAW;YAAK;YACtE,MAAMP,aAAE,CAACC,QAAQ,CAACS,EAAE,CAACF,KAAK;gBAAED,WAAW;gBAAMI,OAAO;YAAK;QAC3D,OAAO;YACL,MAAMG;QACR;IACF;AACF"}
|
|
@@ -1,55 +1,85 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
0 && (module.exports = {
|
|
6
|
+
generateNativeProjectsAsync: null,
|
|
7
|
+
platformSanityCheckAsync: null
|
|
8
|
+
});
|
|
9
|
+
function _export(target, all) {
|
|
10
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
_export(exports, {
|
|
16
|
+
get generateNativeProjectsAsync () {
|
|
17
|
+
return generateNativeProjectsAsync;
|
|
18
|
+
},
|
|
19
|
+
get platformSanityCheckAsync () {
|
|
20
|
+
return platformSanityCheckAsync;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
function _spawnasync() {
|
|
24
|
+
const data = /*#__PURE__*/ _interop_require_default(require("@expo/spawn-async"));
|
|
25
|
+
_spawnasync = function() {
|
|
26
|
+
return data;
|
|
27
|
+
};
|
|
28
|
+
return data;
|
|
29
|
+
}
|
|
30
|
+
function _promises() {
|
|
31
|
+
const data = /*#__PURE__*/ _interop_require_default(require("fs/promises"));
|
|
32
|
+
_promises = function() {
|
|
33
|
+
return data;
|
|
34
|
+
};
|
|
35
|
+
return data;
|
|
36
|
+
}
|
|
37
|
+
function _path() {
|
|
38
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
39
|
+
_path = function() {
|
|
40
|
+
return data;
|
|
41
|
+
};
|
|
42
|
+
return data;
|
|
43
|
+
}
|
|
44
|
+
const _dir = require("./dir");
|
|
45
|
+
const _resolveFromExpoCli = require("./resolveFromExpoCli");
|
|
46
|
+
function _interop_require_default(obj) {
|
|
47
|
+
return obj && obj.__esModule ? obj : {
|
|
48
|
+
default: obj
|
|
49
|
+
};
|
|
50
|
+
}
|
|
18
51
|
async function generateNativeProjectsAsync(projectRoot, exp, options) {
|
|
19
|
-
const { configureProjectAsync } = require((0,
|
|
20
|
-
const { resolveTemplateOption } = require((0,
|
|
21
|
-
const { cloneTemplateAndCopyToProjectAsync } = require((0,
|
|
52
|
+
const { configureProjectAsync } = require((0, _resolveFromExpoCli.resolveFromExpoCli)(projectRoot, 'build/src/prebuild/configureProjectAsync'));
|
|
53
|
+
const { resolveTemplateOption } = require((0, _resolveFromExpoCli.resolveFromExpoCli)(projectRoot, 'build/src/prebuild/resolveOptions'));
|
|
54
|
+
const { cloneTemplateAndCopyToProjectAsync } = require((0, _resolveFromExpoCli.resolveFromExpoCli)(projectRoot, 'build/src/prebuild/updateFromTemplate'));
|
|
22
55
|
// Create native projects from template.
|
|
23
56
|
const { templateChecksum } = await cloneTemplateAndCopyToProjectAsync({
|
|
24
57
|
exp,
|
|
25
58
|
projectRoot,
|
|
26
59
|
template: options.template != null ? resolveTemplateOption(options.template) : undefined,
|
|
27
60
|
templateDirectory: options.templateDirectory,
|
|
28
|
-
platforms: options.platforms
|
|
61
|
+
platforms: options.platforms
|
|
29
62
|
});
|
|
30
63
|
// Apply config-plugins to native projects.
|
|
31
64
|
await configureProjectAsync(projectRoot, {
|
|
32
65
|
platforms: options.platforms,
|
|
33
|
-
exp
|
|
66
|
+
exp
|
|
34
67
|
});
|
|
35
68
|
// Install CocoaPods is a must on ios because some changes are happening in the `pod install` stage.
|
|
36
69
|
// That would minimize the diff between the native projects.
|
|
37
70
|
if (options.platforms.includes('ios')) {
|
|
38
|
-
const { installCocoaPodsAsync } = require((0,
|
|
71
|
+
const { installCocoaPodsAsync } = require((0, _resolveFromExpoCli.resolveFromExpoCli)(projectRoot, 'build/src/utils/cocoapods'));
|
|
39
72
|
await installCocoaPodsAsync(projectRoot);
|
|
40
73
|
}
|
|
41
74
|
return templateChecksum;
|
|
42
75
|
}
|
|
43
|
-
|
|
44
|
-
* Sanity check for the native project before attempting to run patch-project.
|
|
45
|
-
*/
|
|
46
|
-
async function platformSanityCheckAsync({ exp, projectRoot, platform, }) {
|
|
76
|
+
async function platformSanityCheckAsync({ exp, projectRoot, platform }) {
|
|
47
77
|
// Check platform directory exists and is not empty.
|
|
48
|
-
const platformDir =
|
|
49
|
-
if (!
|
|
78
|
+
const platformDir = _path().default.join(projectRoot, platform);
|
|
79
|
+
if (!await (0, _dir.directoryExistsAsync)(platformDir)) {
|
|
50
80
|
throw new Error(`Platform directory does not exist: ${platformDir}`);
|
|
51
81
|
}
|
|
52
|
-
const files = await
|
|
82
|
+
const files = await _promises().default.readdir(platformDir);
|
|
53
83
|
if (files.length === 0) {
|
|
54
84
|
throw new Error(`Platform directory is empty: ${platformDir}`);
|
|
55
85
|
}
|
|
@@ -62,13 +92,17 @@ async function platformSanityCheckAsync({ exp, projectRoot, platform, }) {
|
|
|
62
92
|
}
|
|
63
93
|
// Check if git is installed.
|
|
64
94
|
try {
|
|
65
|
-
await (0,
|
|
66
|
-
|
|
67
|
-
|
|
95
|
+
await (0, _spawnasync().default)('git', [
|
|
96
|
+
'--version'
|
|
97
|
+
], {
|
|
98
|
+
stdio: 'ignore'
|
|
99
|
+
});
|
|
100
|
+
} catch (e) {
|
|
68
101
|
if (e.code === 'ENOENT') {
|
|
69
102
|
e.message += `\nGit is required to run this command. Install Git and try again.`;
|
|
70
103
|
}
|
|
71
104
|
throw e;
|
|
72
105
|
}
|
|
73
106
|
}
|
|
74
|
-
|
|
107
|
+
|
|
108
|
+
//# sourceMappingURL=generateNativeProjects.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["cli/generateNativeProjects.ts"],"sourcesContent":[null],"names":["generateNativeProjectsAsync","platformSanityCheckAsync","projectRoot","exp","options","configureProjectAsync","require","resolveFromExpoCli","resolveTemplateOption","cloneTemplateAndCopyToProjectAsync","templateChecksum","template","undefined","templateDirectory","platforms","includes","installCocoaPodsAsync","platform","platformDir","path","join","directoryExistsAsync","Error","files","fs","readdir","length","android","package","ios","bundleIdentifier","spawnAsync","stdio","e","code","message"],"mappings":";;;;;;;;;;;;;;;QAcsBA;eAAAA;;QAoDAC;eAAAA;;;;gEAlEC;;;;;;;gEAGR;;;;;;;gEACE;;;;;;qBAEoB;oCACF;;;;;;AAO5B,eAAeD,4BACpBE,WAAmB,EACnBC,GAAe,EACfC,OAOC;IAED,MAAM,EAAEC,qBAAqB,EAAE,GAAGC,QAChCC,IAAAA,sCAAkB,EAACL,aAAa;IAElC,MAAM,EAAEM,qBAAqB,EAAE,GAAGF,QAChCC,IAAAA,sCAAkB,EAACL,aAAa;IAElC,MAAM,EAAEO,kCAAkC,EAAE,GAAGH,QAC7CC,IAAAA,sCAAkB,EAACL,aAAa;IAGlC,wCAAwC;IACxC,MAAM,EAAEQ,gBAAgB,EAAE,GAAG,MAAMD,mCAAmC;QACpEN;QACAD;QACAS,UAAUP,QAAQO,QAAQ,IAAI,OAAOH,sBAAsBJ,QAAQO,QAAQ,IAAIC;QAC/EC,mBAAmBT,QAAQS,iBAAiB;QAC5CC,WAAWV,QAAQU,SAAS;IAC9B;IAEA,2CAA2C;IAC3C,MAAMT,sBAAsBH,aAAa;QACvCY,WAAWV,QAAQU,SAAS;QAC5BX;IACF;IAEA,oGAAoG;IACpG,4DAA4D;IAC5D,IAAIC,QAAQU,SAAS,CAACC,QAAQ,CAAC,QAAQ;QACrC,MAAM,EAAEC,qBAAqB,EAAE,GAAGV,QAChCC,IAAAA,sCAAkB,EAACL,aAAa;QAElC,MAAMc,sBAAsBd;IAC9B;IAEA,OAAOQ;AACT;AAKO,eAAeT,yBAAyB,EAC7CE,GAAG,EACHD,WAAW,EACXe,QAAQ,EAKT;IACC,oDAAoD;IACpD,MAAMC,cAAcC,eAAI,CAACC,IAAI,CAAClB,aAAae;IAC3C,IAAI,CAAE,MAAMI,IAAAA,yBAAoB,EAACH,cAAe;QAC9C,MAAM,IAAII,MAAM,CAAC,mCAAmC,EAAEJ,aAAa;IACrE;IACA,MAAMK,QAAQ,MAAMC,mBAAE,CAACC,OAAO,CAACP;IAC/B,IAAIK,MAAMG,MAAM,KAAK,GAAG;QACtB,MAAM,IAAIJ,MAAM,CAAC,6BAA6B,EAAEJ,aAAa;IAC/D;IAEA,mDAAmD;IACnD,IAAID,aAAa,aAAa,CAACd,IAAIwB,OAAO,EAAEC,SAAS;QACnD,MAAM,IAAIN,MACR,CAAC,yFAAyF,CAAC;IAE/F;IACA,IAAIL,aAAa,SAAS,CAACd,IAAI0B,GAAG,EAAEC,kBAAkB;QACpD,MAAM,IAAIR,MACR,CAAC,8FAA8F,CAAC;IAEpG;IAEA,6BAA6B;IAC7B,IAAI;QACF,MAAMS,IAAAA,qBAAU,EAAC,OAAO;YAAC;SAAY,EAAE;YAAEC,OAAO;QAAS;IAC3D,EAAE,OAAOC,GAAQ;QACf,IAAIA,EAAEC,IAAI,KAAK,UAAU;YACvBD,EAAEE,OAAO,IAAI,CAAC,iEAAiE,CAAC;QAClF;QACA,MAAMF;IACR;AACF"}
|
package/build/cli/index.js
CHANGED
|
@@ -1,50 +1,86 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
18
5
|
});
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
6
|
+
function _arg() {
|
|
7
|
+
const data = /*#__PURE__*/ _interop_require_default(require("arg"));
|
|
8
|
+
_arg = function() {
|
|
9
|
+
return data;
|
|
10
|
+
};
|
|
11
|
+
return data;
|
|
12
|
+
}
|
|
13
|
+
function _chalk() {
|
|
14
|
+
const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
|
|
15
|
+
_chalk = function() {
|
|
16
|
+
return data;
|
|
27
17
|
};
|
|
28
|
-
return
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return
|
|
18
|
+
return data;
|
|
19
|
+
}
|
|
20
|
+
function _fs() {
|
|
21
|
+
const data = require("fs");
|
|
22
|
+
_fs = function() {
|
|
23
|
+
return data;
|
|
34
24
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
function _path() {
|
|
28
|
+
const data = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
29
|
+
_path = function() {
|
|
30
|
+
return data;
|
|
31
|
+
};
|
|
32
|
+
return data;
|
|
33
|
+
}
|
|
34
|
+
const _logger = /*#__PURE__*/ _interop_require_wildcard(require("./logger"));
|
|
35
|
+
const _patchProjectAsync = require("./patchProjectAsync");
|
|
36
|
+
function _interop_require_default(obj) {
|
|
37
|
+
return obj && obj.__esModule ? obj : {
|
|
38
|
+
default: obj
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
42
|
+
if (typeof WeakMap !== "function") return null;
|
|
43
|
+
var cacheBabelInterop = new WeakMap();
|
|
44
|
+
var cacheNodeInterop = new WeakMap();
|
|
45
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
46
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
47
|
+
})(nodeInterop);
|
|
48
|
+
}
|
|
49
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
50
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
51
|
+
return obj;
|
|
52
|
+
}
|
|
53
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
54
|
+
return {
|
|
55
|
+
default: obj
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
59
|
+
if (cache && cache.has(obj)) {
|
|
60
|
+
return cache.get(obj);
|
|
61
|
+
}
|
|
62
|
+
var newObj = {
|
|
63
|
+
__proto__: null
|
|
64
|
+
};
|
|
65
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
66
|
+
for(var key in obj){
|
|
67
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
68
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
69
|
+
if (desc && (desc.get || desc.set)) {
|
|
70
|
+
Object.defineProperty(newObj, key, desc);
|
|
71
|
+
} else {
|
|
72
|
+
newObj[key] = obj[key];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
newObj.default = obj;
|
|
77
|
+
if (cache) {
|
|
78
|
+
cache.set(obj, newObj);
|
|
79
|
+
}
|
|
80
|
+
return newObj;
|
|
81
|
+
}
|
|
82
|
+
(async ()=>{
|
|
83
|
+
const args = (0, _arg().default)({
|
|
48
84
|
// Types
|
|
49
85
|
'--help': Boolean,
|
|
50
86
|
'--clean': Boolean,
|
|
@@ -52,41 +88,40 @@ const patchProjectAsync_1 = require("./patchProjectAsync");
|
|
|
52
88
|
'--platform': String,
|
|
53
89
|
// Aliases
|
|
54
90
|
'-h': '--help',
|
|
55
|
-
'-p': '--platform'
|
|
91
|
+
'-p': '--platform'
|
|
56
92
|
});
|
|
57
93
|
if (args['--help']) {
|
|
58
|
-
printHelp(`(Experimental) Generate patch files for iOS and Android native projects to persist changes made manually after prebuild`, (0,
|
|
59
|
-
(0,
|
|
94
|
+
printHelp(`(Experimental) Generate patch files for iOS and Android native projects to persist changes made manually after prebuild`, (0, _chalk().default)`npx patch-project {dim <dir>}`, [
|
|
95
|
+
(0, _chalk().default)`<dir> Directory of the Expo project. {dim Default: Current working directory}`,
|
|
60
96
|
`--clean Delete the native folders after the conversion`,
|
|
61
97
|
`--template <template> Project template to clone from. File path pointing to a local tar file or a github repo`,
|
|
62
|
-
(0,
|
|
63
|
-
`-h, --help Usage info
|
|
98
|
+
(0, _chalk().default)`-p, --platform <all|android|ios> Platforms to sync: ios, android, all. {dim Default: all}`,
|
|
99
|
+
`-h, --help Usage info`
|
|
64
100
|
].join('\n'));
|
|
65
101
|
}
|
|
66
|
-
const projectRoot =
|
|
67
|
-
if (!(0,
|
|
68
|
-
|
|
102
|
+
const projectRoot = _path().default.resolve(args._[0] || '.');
|
|
103
|
+
if (!(0, _fs().existsSync)(projectRoot)) {
|
|
104
|
+
_logger.exit(`Invalid project root: ${projectRoot}`);
|
|
69
105
|
}
|
|
70
106
|
try {
|
|
71
|
-
await (0,
|
|
107
|
+
await (0, _patchProjectAsync.patchProjectAsync)(projectRoot, {
|
|
72
108
|
// Parsed options
|
|
73
109
|
clean: !!args['--clean'],
|
|
74
110
|
platforms: resolvePlatformOption(args['--platform']),
|
|
75
|
-
template: args['--template']
|
|
111
|
+
template: args['--template']
|
|
76
112
|
});
|
|
77
|
-
}
|
|
78
|
-
catch (e) {
|
|
113
|
+
} catch (e) {
|
|
79
114
|
if (e instanceof Error || typeof e === 'string') {
|
|
80
|
-
|
|
115
|
+
_logger.exit(e);
|
|
81
116
|
}
|
|
82
117
|
throw e;
|
|
83
118
|
}
|
|
84
119
|
})();
|
|
85
120
|
// Install exit hooks
|
|
86
|
-
process.on('SIGINT', ()
|
|
87
|
-
process.on('SIGTERM', ()
|
|
121
|
+
process.on('SIGINT', ()=>process.exit(0));
|
|
122
|
+
process.on('SIGTERM', ()=>process.exit(0));
|
|
88
123
|
function printHelp(info, usage, options, extra = '') {
|
|
89
|
-
|
|
124
|
+
_logger.exit((0, _chalk().default)`
|
|
90
125
|
{bold Info}
|
|
91
126
|
${info}
|
|
92
127
|
|
|
@@ -98,15 +133,27 @@ function printHelp(info, usage, options, extra = '') {
|
|
|
98
133
|
` + extra, 0);
|
|
99
134
|
}
|
|
100
135
|
function resolvePlatformOption(platform = 'all', { loose } = {}) {
|
|
101
|
-
switch
|
|
136
|
+
switch(platform){
|
|
102
137
|
case 'ios':
|
|
103
|
-
return [
|
|
138
|
+
return [
|
|
139
|
+
'ios'
|
|
140
|
+
];
|
|
104
141
|
case 'android':
|
|
105
|
-
return [
|
|
142
|
+
return [
|
|
143
|
+
'android'
|
|
144
|
+
];
|
|
106
145
|
case 'all':
|
|
107
|
-
return loose || process.platform !== 'win32' ? [
|
|
146
|
+
return loose || process.platform !== 'win32' ? [
|
|
147
|
+
'android',
|
|
148
|
+
'ios'
|
|
149
|
+
] : [
|
|
150
|
+
'android'
|
|
151
|
+
];
|
|
108
152
|
default:
|
|
109
|
-
return [
|
|
153
|
+
return [
|
|
154
|
+
platform
|
|
155
|
+
];
|
|
110
156
|
}
|
|
111
157
|
}
|
|
112
|
-
|
|
158
|
+
|
|
159
|
+
//# sourceMappingURL=index.js.map
|
package/build/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["cli/index.ts"],"sourcesContent":[null],"names":["args","arg","Boolean","String","printHelp","chalk","join","projectRoot","path","resolve","_","existsSync","logger","exit","patchProjectAsync","clean","platforms","resolvePlatformOption","template","e","Error","process","on","info","usage","options","extra","split","platform","loose"],"mappings":";;;;;;gEACgB;;;;;;;gEACE;;;;;;;yBAES;;;;;;;gEACV;;;;;;gEAEO;mCACU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjC,CAAA;IACC,MAAMA,OAAOC,IAAAA,cAAG,EAAC;QACf,QAAQ;QACR,UAAUC;QACV,WAAWA;QACX,cAAcC;QACd,cAAcA;QACd,UAAU;QACV,MAAM;QACN,MAAM;IACR;IAEA,IAAIH,IAAI,CAAC,SAAS,EAAE;QAClBI,UACE,CAAC,uHAAuH,CAAC,EACzHC,IAAAA,gBAAK,CAAA,CAAC,6BAA6B,CAAC,EACpC;YACEA,IAAAA,gBAAK,CAAA,CAAC,gHAAgH,CAAC;YACvH,CAAC,uFAAuF,CAAC;YACzF,CAAC,gIAAgI,CAAC;YAClIA,IAAAA,gBAAK,CAAA,CAAC,iGAAiG,CAAC;YACxG,CAAC,mDAAmD,CAAC;SACtD,CAACC,IAAI,CAAC;IAEX;IAEA,MAAMC,cAAcC,eAAI,CAACC,OAAO,CAACT,KAAKU,CAAC,CAAC,EAAE,IAAI;IAE9C,IAAI,CAACC,IAAAA,gBAAU,EAACJ,cAAc;QAC5BK,QAAOC,IAAI,CAAC,CAAC,sBAAsB,EAAEN,aAAa;IACpD;IAEA,IAAI;QACF,MAAMO,IAAAA,oCAAiB,EAACP,aAAa;YACnC,iBAAiB;YACjBQ,OAAO,CAAC,CAACf,IAAI,CAAC,UAAU;YACxBgB,WAAWC,sBAAsBjB,IAAI,CAAC,aAAa;YACnDkB,UAAUlB,IAAI,CAAC,aAAa;QAC9B;IACF,EAAE,OAAOmB,GAAY;QACnB,IAAIA,aAAaC,SAAS,OAAOD,MAAM,UAAU;YAC/CP,QAAOC,IAAI,CAACM;QACd;QACA,MAAMA;IACR;AACF,CAAA;AAEA,qBAAqB;AACrBE,QAAQC,EAAE,CAAC,UAAU,IAAMD,QAAQR,IAAI,CAAC;AACxCQ,QAAQC,EAAE,CAAC,WAAW,IAAMD,QAAQR,IAAI,CAAC;AAEzC,SAAST,UAAUmB,IAAY,EAAEC,KAAa,EAAEC,OAAe,EAAEC,QAAgB,EAAE;IACjFd,QAAOC,IAAI,CACTR,IAAAA,gBAAK,CAAA,CAAC;;IAEN,EAAEkB,KAAK;;;YAGC,EAAEC,MAAM;;;IAGhB,EAAEC,QAAQE,KAAK,CAAC,MAAMrB,IAAI,CAAC,UAAU;AACzC,CAAC,GAAGoB,OACA;AAEJ;AAEA,SAAST,sBACPW,WAAmB,KAAK,EACxB,EAAEC,KAAK,EAAuB,GAAG,CAAC,CAAC;IAEnC,OAAQD;QACN,KAAK;YACH,OAAO;gBAAC;aAAM;QAChB,KAAK;YACH,OAAO;gBAAC;aAAU;QACpB,KAAK;YACH,OAAOC,SAASR,QAAQO,QAAQ,KAAK,UAAU;gBAAC;gBAAW;aAAM,GAAG;gBAAC;aAAU;QACjF;YACE,OAAO;gBAACA;aAAwB;IACpC;AACF"}
|