UNPKG

5.11 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.computeElectronVersion = exports.getElectronVersionFromInstalled = exports.getElectronVersion = void 0;
7
8function _bluebirdLst() {
9 const data = require("bluebird-lst");
10
11 _bluebirdLst = function () {
12 return data;
13 };
14
15 return data;
16}
17
18function _builderUtil() {
19 const data = require("builder-util");
20
21 _builderUtil = function () {
22 return data;
23 };
24
25 return data;
26}
27
28function _nodeHttpExecutor() {
29 const data = require("builder-util/out/nodeHttpExecutor");
30
31 _nodeHttpExecutor = function () {
32 return data;
33 };
34
35 return data;
36}
37
38function _fsExtraP() {
39 const data = require("fs-extra-p");
40
41 _fsExtraP = function () {
42 return data;
43 };
44
45 return data;
46}
47
48function _lazyVal() {
49 const data = require("lazy-val");
50
51 _lazyVal = function () {
52 return data;
53 };
54
55 return data;
56}
57
58var path = _interopRequireWildcard(require("path"));
59
60function _readConfigFile() {
61 const data = require("read-config-file");
62
63 _readConfigFile = function () {
64 return data;
65 };
66
67 return data;
68}
69
70function _config() {
71 const data = require("../util/config");
72
73 _config = function () {
74 return data;
75 };
76
77 return data;
78}
79
80function _packageMetadata() {
81 const data = require("../util/packageMetadata");
82
83 _packageMetadata = function () {
84 return data;
85 };
86
87 return data;
88}
89
90function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
91
92let getElectronVersion = (() => {
93 var _ref = (0, _bluebirdLst().coroutine)(function* (projectDir, config, projectMetadata = new (_lazyVal().Lazy)(() => (0, _readConfigFile().orNullIfFileNotExist)((0, _fsExtraP().readJson)(path.join(projectDir, "package.json"))))) {
94 if (config == null) {
95 config = yield (0, _config().getConfig)(projectDir, null, null);
96 }
97
98 if (config.electronVersion != null) {
99 return config.electronVersion;
100 }
101
102 return yield computeElectronVersion(projectDir, projectMetadata);
103 });
104
105 return function getElectronVersion(_x, _x2) {
106 return _ref.apply(this, arguments);
107 };
108})();
109
110exports.getElectronVersion = getElectronVersion;
111
112let getElectronVersionFromInstalled = (() => {
113 var _ref2 = (0, _bluebirdLst().coroutine)(function* (projectDir) {
114 for (const name of ["electron", "electron-prebuilt", "electron-prebuilt-compile"]) {
115 try {
116 return (yield (0, _fsExtraP().readJson)(path.join(projectDir, "node_modules", name, "package.json"))).version;
117 } catch (e) {
118 if (e.code !== "ENOENT") {
119 _builderUtil().log.warn({
120 name,
121 error: e
122 }, `cannot read electron version package.json`);
123 }
124 }
125 }
126
127 return null;
128 });
129
130 return function getElectronVersionFromInstalled(_x3) {
131 return _ref2.apply(this, arguments);
132 };
133})();
134/** @internal */
135
136
137exports.getElectronVersionFromInstalled = getElectronVersionFromInstalled;
138
139let computeElectronVersion = (() => {
140 var _ref3 = (0, _bluebirdLst().coroutine)(function* (projectDir, projectMetadata) {
141 const result = yield getElectronVersionFromInstalled(projectDir);
142
143 if (result != null) {
144 return result;
145 }
146
147 const electronPrebuiltDep = findFromElectronPrebuilt((yield projectMetadata.value));
148
149 if (electronPrebuiltDep == null || electronPrebuiltDep === "latest") {
150 try {
151 const releaseInfo = JSON.parse((yield _nodeHttpExecutor().httpExecutor.request({
152 hostname: "github.com",
153 path: "/electron/electron/releases/latest",
154 headers: {
155 accept: "application/json"
156 }
157 })));
158 return releaseInfo.tag_name.startsWith("v") ? releaseInfo.tag_name.substring(1) : releaseInfo.tag_name;
159 } catch (e) {
160 _builderUtil().log.warn(e);
161 }
162
163 throw new Error(`Cannot find electron dependency to get electron version in the '${path.join(projectDir, "package.json")}'`);
164 }
165
166 return (0, _packageMetadata().versionFromDependencyRange)(electronPrebuiltDep);
167 });
168
169 return function computeElectronVersion(_x4, _x5) {
170 return _ref3.apply(this, arguments);
171 };
172})();
173
174exports.computeElectronVersion = computeElectronVersion;
175
176function findFromElectronPrebuilt(packageData) {
177 for (const name of ["electron", "electron-prebuilt", "electron-prebuilt-compile"]) {
178 const devDependencies = packageData.devDependencies;
179 let dep = devDependencies == null ? null : devDependencies[name];
180
181 if (dep == null) {
182 const dependencies = packageData.dependencies;
183 dep = dependencies == null ? null : dependencies[name];
184 }
185
186 if (dep != null) {
187 return dep;
188 }
189 }
190
191 return null;
192}
193//# sourceMappingURL=electronVersion.js.map
\No newline at end of file