@tomjs/vite-plugin-electron 1.3.9-0 → 1.3.9-1

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/index.js CHANGED
@@ -10,7 +10,54 @@ var _os = require('os'); var _os2 = _interopRequireDefault(_os);
10
10
 
11
11
 
12
12
 
13
- var _shelljs = require('shelljs'); var _shelljs2 = _interopRequireDefault(_shelljs);
13
+
14
+ // src/logger.ts
15
+ var _dayjs = require('dayjs'); var _dayjs2 = _interopRequireDefault(_dayjs);
16
+ var _kolorist = require('kolorist');
17
+
18
+ // src/constants.ts
19
+ var PLUGIN_NAME = "@tomjs:electron";
20
+ var PACKAGE_NAME = "@tomjs/vite-plugin-electron";
21
+
22
+ // src/logger.ts
23
+ var Logger = class {
24
+ constructor(tag, withTime) {
25
+ this.tag = PLUGIN_NAME;
26
+ this.withTime = true;
27
+ this.tag = `[${tag}]`;
28
+ this.withTime = _nullishCoalesce(withTime, () => ( true));
29
+ }
30
+ getTime() {
31
+ return `${this.withTime ? _dayjs2.default.call(void 0, ).format("HH:mm:ss") : ""} `;
32
+ }
33
+ /**
34
+ * 调试
35
+ */
36
+ debug(msg, ...rest) {
37
+ console.log(`${this.getTime()}${_kolorist.gray.call(void 0, this.tag)}`, msg, ...rest);
38
+ }
39
+ /**
40
+ * 调试日志 等同 debug
41
+ */
42
+ log(msg, ...rest) {
43
+ this.debug(msg, ...rest);
44
+ }
45
+ info(msg, ...rest) {
46
+ console.log(`${this.getTime()}${_kolorist.blue.call(void 0, this.tag)}`, msg, ...rest);
47
+ }
48
+ warn(msg, ...rest) {
49
+ console.log(`${this.getTime()}${_kolorist.yellow.call(void 0, this.tag)}`, msg, ...rest);
50
+ }
51
+ error(msg, ...rest) {
52
+ console.log(`${this.getTime()}${_kolorist.red.call(void 0, this.tag)}`, msg, ...rest);
53
+ }
54
+ success(msg, ...rest) {
55
+ console.log(`${this.getTime()}${_kolorist.green.call(void 0, this.tag)}`, msg, ...rest);
56
+ }
57
+ };
58
+ var createLogger = (tag) => {
59
+ return new Logger(tag || PLUGIN_NAME, true);
60
+ };
14
61
 
15
62
  // src/utils.ts
16
63
  var _child_process = require('child_process');
@@ -29,6 +76,7 @@ function exec(command, args, options) {
29
76
  }
30
77
 
31
78
  // src/builder.ts
79
+ var logger = createLogger();
32
80
  function getMirror() {
33
81
  let mirror = process.env.ELECTRON_MIRROR;
34
82
  if (mirror) {
@@ -100,13 +148,23 @@ function createPkg(options, resolvedConfig) {
100
148
  throw new Error(`package.json not found in ${process.cwd()}`);
101
149
  }
102
150
  const outDir = _path2.default.dirname(resolvedConfig.build.outDir);
151
+ let main = pkg.main;
152
+ if (main) {
153
+ main = main.replace("./", "");
154
+ main = main.substring(main.indexOf(outDir) + outDir.length);
155
+ if (main.startsWith("/")) {
156
+ main = main.substring(1);
157
+ }
158
+ } else {
159
+ main = `main/index.${((_b = options == null ? void 0 : options.main) == null ? void 0 : _b.format) === "esm" ? "" : "m"}js`;
160
+ }
103
161
  const newPkg = {
104
162
  name: pkg.name,
105
163
  version: pkg.version,
106
164
  description: pkg.description,
107
165
  type: pkg.type || "commonjs",
108
166
  author: getAuthor(pkg.author),
109
- main: pkg.main ? pkg.main.replace("./", "").substring(pkg.main.indexOf(outDir) + outDir.length - 1) : `main/index.${((_b = options == null ? void 0 : options.main) == null ? void 0 : _b.format) === "esm" ? "" : "m"}js`,
167
+ main,
110
168
  dependencies: getDeps()
111
169
  };
112
170
  writeJson(_path2.default.join(outDir, "package.json"), newPkg);
@@ -147,8 +205,11 @@ function createPkg(options, resolvedConfig) {
147
205
  return newPkg;
148
206
  }
149
207
  async function runElectronBuilder(options, resolvedConfig) {
208
+ logger.info("building electron app...");
150
209
  const DIST_PATH = _path2.default.join(_process.cwd.call(void 0, ), _path2.default.dirname(resolvedConfig.build.outDir));
151
- _shelljs2.default.exec(`cd ${DIST_PATH} && npm install`);
210
+ logger.info(`create package.json and exec "npm install"`);
211
+ exec(`cd ${DIST_PATH} && npm run build`);
212
+ logger.info(`run electron-builder to package app`);
152
213
  const config = getBuilderConfig(options, resolvedConfig);
153
214
  const { build } = await Promise.resolve().then(() => _interopRequireWildcard(require("electron-builder")));
154
215
  await build({
@@ -156,60 +217,12 @@ async function runElectronBuilder(options, resolvedConfig) {
156
217
  });
157
218
  }
158
219
 
159
- // src/constants.ts
160
- var PLUGIN_NAME = "@tomjs:electron";
161
- var PACKAGE_NAME = "@tomjs/vite-plugin-electron";
162
-
163
220
  // src/main.ts
164
221
 
165
222
  var _electron = require('electron'); var _electron2 = _interopRequireDefault(_electron);
166
223
  var _treekill = require('tree-kill'); var _treekill2 = _interopRequireDefault(_treekill);
167
224
  var _tsup = require('tsup');
168
-
169
- // src/logger.ts
170
- var _dayjs = require('dayjs'); var _dayjs2 = _interopRequireDefault(_dayjs);
171
- var _kolorist = require('kolorist');
172
- var Logger = class {
173
- constructor(tag, withTime) {
174
- this.tag = PLUGIN_NAME;
175
- this.withTime = true;
176
- this.tag = `[${tag}]`;
177
- this.withTime = _nullishCoalesce(withTime, () => ( true));
178
- }
179
- getTime() {
180
- return `${this.withTime ? _dayjs2.default.call(void 0, ).format("HH:mm:ss") : ""} `;
181
- }
182
- /**
183
- * 调试
184
- */
185
- debug(msg, ...rest) {
186
- console.log(`${this.getTime()}${_kolorist.gray.call(void 0, this.tag)}`, msg, ...rest);
187
- }
188
- /**
189
- * 调试日志 等同 debug
190
- */
191
- log(msg, ...rest) {
192
- this.debug(msg, ...rest);
193
- }
194
- info(msg, ...rest) {
195
- console.log(`${this.getTime()}${_kolorist.blue.call(void 0, this.tag)}`, msg, ...rest);
196
- }
197
- warn(msg, ...rest) {
198
- console.log(`${this.getTime()}${_kolorist.yellow.call(void 0, this.tag)}`, msg, ...rest);
199
- }
200
- error(msg, ...rest) {
201
- console.log(`${this.getTime()}${_kolorist.red.call(void 0, this.tag)}`, msg, ...rest);
202
- }
203
- success(msg, ...rest) {
204
- console.log(`${this.getTime()}${_kolorist.green.call(void 0, this.tag)}`, msg, ...rest);
205
- }
206
- };
207
- var createLogger = (tag) => {
208
- return new Logger(tag || PLUGIN_NAME, true);
209
- };
210
-
211
- // src/main.ts
212
- var logger = createLogger();
225
+ var logger2 = createLogger();
213
226
  function getBuildOptions(options) {
214
227
  return ["main", "preload"].filter((s) => options[s] && options[s].entry).map((s) => {
215
228
  options[s].__NAME__ = s;
@@ -260,32 +273,32 @@ startup.exit = async () => {
260
273
  });
261
274
  };
262
275
  async function runServe(options, server) {
263
- options.debug && logger.warn(`debug mode`);
276
+ options.debug && logger2.warn(`debug mode`);
264
277
  const buildOptions = getBuildOptions(options);
265
278
  const buildCounts = [0, buildOptions.length > 1 ? 0 : 1];
266
279
  for (let i = 0; i < buildOptions.length; i++) {
267
280
  const tsOpts = buildOptions[i];
268
281
  const { __NAME__: name, onSuccess: _onSuccess, watch, ...tsupOptions } = tsOpts;
269
- logger.info(`${name} build`);
282
+ logger2.info(`${name} build`);
270
283
  const onSuccess = async () => {
271
284
  if (typeof _onSuccess === "function") {
272
285
  await _onSuccess();
273
286
  }
274
287
  if (buildCounts[i] <= 0) {
275
288
  buildCounts[i]++;
276
- logger.info(`${name} build succeeded`);
289
+ logger2.info(`${name} build succeeded`);
277
290
  if (buildCounts[0] == 1 && buildCounts[1] == 1) {
278
- logger.info("electron startup");
291
+ logger2.info("electron startup");
279
292
  await startup(options);
280
293
  }
281
294
  return;
282
295
  }
283
- logger.success(`${name} rebuild succeeded!`);
296
+ logger2.success(`${name} rebuild succeeded!`);
284
297
  if (name === "main") {
285
- logger.info("electron restart");
298
+ logger2.info("electron restart");
286
299
  await startup(options);
287
300
  } else {
288
- logger.info("page reload");
301
+ logger2.info("page reload");
289
302
  server.ws.send({
290
303
  type: "full-reload"
291
304
  });
package/dist/index.mjs CHANGED
@@ -10,7 +10,54 @@ import os from "os";
10
10
  import path from "path";
11
11
  import { cwd } from "process";
12
12
  import merge from "lodash.merge";
13
- import shell from "shelljs";
13
+
14
+ // src/logger.ts
15
+ import dayjs from "dayjs";
16
+ import { blue, gray, green, red, yellow } from "kolorist";
17
+
18
+ // src/constants.ts
19
+ var PLUGIN_NAME = "@tomjs:electron";
20
+ var PACKAGE_NAME = "@tomjs/vite-plugin-electron";
21
+
22
+ // src/logger.ts
23
+ var Logger = class {
24
+ constructor(tag, withTime) {
25
+ this.tag = PLUGIN_NAME;
26
+ this.withTime = true;
27
+ this.tag = `[${tag}]`;
28
+ this.withTime = withTime ?? true;
29
+ }
30
+ getTime() {
31
+ return `${this.withTime ? dayjs().format("HH:mm:ss") : ""} `;
32
+ }
33
+ /**
34
+ * 调试
35
+ */
36
+ debug(msg, ...rest) {
37
+ console.log(`${this.getTime()}${gray(this.tag)}`, msg, ...rest);
38
+ }
39
+ /**
40
+ * 调试日志 等同 debug
41
+ */
42
+ log(msg, ...rest) {
43
+ this.debug(msg, ...rest);
44
+ }
45
+ info(msg, ...rest) {
46
+ console.log(`${this.getTime()}${blue(this.tag)}`, msg, ...rest);
47
+ }
48
+ warn(msg, ...rest) {
49
+ console.log(`${this.getTime()}${yellow(this.tag)}`, msg, ...rest);
50
+ }
51
+ error(msg, ...rest) {
52
+ console.log(`${this.getTime()}${red(this.tag)}`, msg, ...rest);
53
+ }
54
+ success(msg, ...rest) {
55
+ console.log(`${this.getTime()}${green(this.tag)}`, msg, ...rest);
56
+ }
57
+ };
58
+ var createLogger = (tag) => {
59
+ return new Logger(tag || PLUGIN_NAME, true);
60
+ };
14
61
 
15
62
  // src/utils.ts
16
63
  import { spawnSync } from "child_process";
@@ -28,6 +75,7 @@ function exec(command, args, options) {
28
75
  }
29
76
 
30
77
  // src/builder.ts
78
+ var logger = createLogger();
31
79
  function getMirror() {
32
80
  let mirror = process.env.ELECTRON_MIRROR;
33
81
  if (mirror) {
@@ -99,13 +147,23 @@ function createPkg(options, resolvedConfig) {
99
147
  throw new Error(`package.json not found in ${process.cwd()}`);
100
148
  }
101
149
  const outDir = path.dirname(resolvedConfig.build.outDir);
150
+ let main = pkg.main;
151
+ if (main) {
152
+ main = main.replace("./", "");
153
+ main = main.substring(main.indexOf(outDir) + outDir.length);
154
+ if (main.startsWith("/")) {
155
+ main = main.substring(1);
156
+ }
157
+ } else {
158
+ main = `main/index.${((_b = options == null ? void 0 : options.main) == null ? void 0 : _b.format) === "esm" ? "" : "m"}js`;
159
+ }
102
160
  const newPkg = {
103
161
  name: pkg.name,
104
162
  version: pkg.version,
105
163
  description: pkg.description,
106
164
  type: pkg.type || "commonjs",
107
165
  author: getAuthor(pkg.author),
108
- main: pkg.main ? pkg.main.replace("./", "").substring(pkg.main.indexOf(outDir) + outDir.length - 1) : `main/index.${((_b = options == null ? void 0 : options.main) == null ? void 0 : _b.format) === "esm" ? "" : "m"}js`,
166
+ main,
109
167
  dependencies: getDeps()
110
168
  };
111
169
  writeJson(path.join(outDir, "package.json"), newPkg);
@@ -146,8 +204,11 @@ function createPkg(options, resolvedConfig) {
146
204
  return newPkg;
147
205
  }
148
206
  async function runElectronBuilder(options, resolvedConfig) {
207
+ logger.info("building electron app...");
149
208
  const DIST_PATH = path.join(cwd(), path.dirname(resolvedConfig.build.outDir));
150
- shell.exec(`cd ${DIST_PATH} && npm install`);
209
+ logger.info(`create package.json and exec "npm install"`);
210
+ exec(`cd ${DIST_PATH} && npm run build`);
211
+ logger.info(`run electron-builder to package app`);
151
212
  const config = getBuilderConfig(options, resolvedConfig);
152
213
  const { build } = await import("electron-builder");
153
214
  await build({
@@ -155,60 +216,12 @@ async function runElectronBuilder(options, resolvedConfig) {
155
216
  });
156
217
  }
157
218
 
158
- // src/constants.ts
159
- var PLUGIN_NAME = "@tomjs:electron";
160
- var PACKAGE_NAME = "@tomjs/vite-plugin-electron";
161
-
162
219
  // src/main.ts
163
220
  import { spawn } from "child_process";
164
221
  import electron from "electron";
165
222
  import treeKill from "tree-kill";
166
223
  import { build as tsupBuild } from "tsup";
167
-
168
- // src/logger.ts
169
- import dayjs from "dayjs";
170
- import { blue, gray, green, red, yellow } from "kolorist";
171
- var Logger = class {
172
- constructor(tag, withTime) {
173
- this.tag = PLUGIN_NAME;
174
- this.withTime = true;
175
- this.tag = `[${tag}]`;
176
- this.withTime = withTime ?? true;
177
- }
178
- getTime() {
179
- return `${this.withTime ? dayjs().format("HH:mm:ss") : ""} `;
180
- }
181
- /**
182
- * 调试
183
- */
184
- debug(msg, ...rest) {
185
- console.log(`${this.getTime()}${gray(this.tag)}`, msg, ...rest);
186
- }
187
- /**
188
- * 调试日志 等同 debug
189
- */
190
- log(msg, ...rest) {
191
- this.debug(msg, ...rest);
192
- }
193
- info(msg, ...rest) {
194
- console.log(`${this.getTime()}${blue(this.tag)}`, msg, ...rest);
195
- }
196
- warn(msg, ...rest) {
197
- console.log(`${this.getTime()}${yellow(this.tag)}`, msg, ...rest);
198
- }
199
- error(msg, ...rest) {
200
- console.log(`${this.getTime()}${red(this.tag)}`, msg, ...rest);
201
- }
202
- success(msg, ...rest) {
203
- console.log(`${this.getTime()}${green(this.tag)}`, msg, ...rest);
204
- }
205
- };
206
- var createLogger = (tag) => {
207
- return new Logger(tag || PLUGIN_NAME, true);
208
- };
209
-
210
- // src/main.ts
211
- var logger = createLogger();
224
+ var logger2 = createLogger();
212
225
  function getBuildOptions(options) {
213
226
  return ["main", "preload"].filter((s) => options[s] && options[s].entry).map((s) => {
214
227
  options[s].__NAME__ = s;
@@ -259,32 +272,32 @@ startup.exit = async () => {
259
272
  });
260
273
  };
261
274
  async function runServe(options, server) {
262
- options.debug && logger.warn(`debug mode`);
275
+ options.debug && logger2.warn(`debug mode`);
263
276
  const buildOptions = getBuildOptions(options);
264
277
  const buildCounts = [0, buildOptions.length > 1 ? 0 : 1];
265
278
  for (let i = 0; i < buildOptions.length; i++) {
266
279
  const tsOpts = buildOptions[i];
267
280
  const { __NAME__: name, onSuccess: _onSuccess, watch, ...tsupOptions } = tsOpts;
268
- logger.info(`${name} build`);
281
+ logger2.info(`${name} build`);
269
282
  const onSuccess = async () => {
270
283
  if (typeof _onSuccess === "function") {
271
284
  await _onSuccess();
272
285
  }
273
286
  if (buildCounts[i] <= 0) {
274
287
  buildCounts[i]++;
275
- logger.info(`${name} build succeeded`);
288
+ logger2.info(`${name} build succeeded`);
276
289
  if (buildCounts[0] == 1 && buildCounts[1] == 1) {
277
- logger.info("electron startup");
290
+ logger2.info("electron startup");
278
291
  await startup(options);
279
292
  }
280
293
  return;
281
294
  }
282
- logger.success(`${name} rebuild succeeded!`);
295
+ logger2.success(`${name} rebuild succeeded!`);
283
296
  if (name === "main") {
284
- logger.info("electron restart");
297
+ logger2.info("electron restart");
285
298
  await startup(options);
286
299
  } else {
287
- logger.info("page reload");
300
+ logger2.info("page reload");
288
301
  server.ws.send({
289
302
  type: "full-reload"
290
303
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tomjs/vite-plugin-electron",
3
- "version": "1.3.9-0",
3
+ "version": "1.3.9-1",
4
4
  "description": "A simple vite plugin for electron, supports esm/cjs, support esm in electron v28+",
5
5
  "keywords": [
6
6
  "vite",
@@ -55,7 +55,6 @@
55
55
  "kolorist": "^1.8.0",
56
56
  "lodash.clonedeep": "^4.5.0",
57
57
  "lodash.merge": "^4.6.2",
58
- "shelljs": "^0.8.5",
59
58
  "tree-kill": "^1.2.2",
60
59
  "tsup": "7.2.0"
61
60
  },
@@ -69,7 +68,6 @@
69
68
  "@types/lodash.clonedeep": "^4.5.9",
70
69
  "@types/lodash.merge": "^4.6.9",
71
70
  "@types/node": "^18.19.3",
72
- "@types/shelljs": "^0.8.15",
73
71
  "eslint": "^8.55.0",
74
72
  "husky": "^8.0.3",
75
73
  "lint-staged": "^15.2.0",