diff --git a/packages/api/cli/spec/util/check-system.spec.ts b/packages/api/cli/spec/util/check-system.spec.ts index 92f5d0458d..5201146b49 100644 --- a/packages/api/cli/spec/util/check-system.spec.ts +++ b/packages/api/cli/spec/util/check-system.spec.ts @@ -1,19 +1,22 @@ import { resolvePackageManager, spawnPackageManager, -} from '@electron-forge/core-utils'; +} from '@electron-forge/core-utils/package-manager'; import { describe, expect, it, vi } from 'vitest'; import { checkPackageManager } from '../../src/util/check-system'; -vi.mock(import('@electron-forge/core-utils'), async (importOriginal) => { - const mod = await importOriginal(); - return { - ...mod, - resolvePackageManager: vi.fn(), - spawnPackageManager: vi.fn(), - }; -}); +vi.mock( + import('@electron-forge/core-utils/package-manager'), + async (importOriginal) => { + const mod = await importOriginal(); + return { + ...mod, + resolvePackageManager: vi.fn(), + spawnPackageManager: vi.fn(), + }; + }, +); describe('checkPackageManager', () => { it('should consider allowlisted versions to be valid', async () => { diff --git a/packages/api/cli/src/electron-forge-make.ts b/packages/api/cli/src/electron-forge-make.ts index 2bf698cd61..c5033f5340 100644 --- a/packages/api/cli/src/electron-forge-make.ts +++ b/packages/api/cli/src/electron-forge-make.ts @@ -3,7 +3,7 @@ import { styleText } from 'node:util'; import { initializeProxy } from '@electron/get'; import { api, MakeOptions } from '@electron-forge/core'; -import { resolveWorkingDir } from '@electron-forge/core-utils'; +import { resolveWorkingDir } from '@electron-forge/core-utils/resolve-working-dir'; import { program } from 'commander'; import './util/terminate.js'; diff --git a/packages/api/cli/src/electron-forge-package.ts b/packages/api/cli/src/electron-forge-package.ts index 5451f0baf2..fa7f301695 100644 --- a/packages/api/cli/src/electron-forge-package.ts +++ b/packages/api/cli/src/electron-forge-package.ts @@ -1,6 +1,6 @@ import { initializeProxy } from '@electron/get'; import { api, PackageOptions } from '@electron-forge/core'; -import { resolveWorkingDir } from '@electron-forge/core-utils'; +import { resolveWorkingDir } from '@electron-forge/core-utils/resolve-working-dir'; import { program } from 'commander'; import './util/terminate.js'; diff --git a/packages/api/cli/src/electron-forge-release.ts b/packages/api/cli/src/electron-forge-release.ts index ad4a5ac740..23a6f08c80 100644 --- a/packages/api/cli/src/electron-forge-release.ts +++ b/packages/api/cli/src/electron-forge-release.ts @@ -3,7 +3,7 @@ import { styleText } from 'node:util'; import { initializeProxy } from '@electron/get'; import { api, ReleaseOptions } from '@electron-forge/core'; -import { resolveWorkingDir } from '@electron-forge/core-utils'; +import { resolveWorkingDir } from '@electron-forge/core-utils/resolve-working-dir'; import { program } from 'commander'; import './util/terminate.js'; diff --git a/packages/api/cli/src/electron-forge-start.ts b/packages/api/cli/src/electron-forge-start.ts index 6dd8cf657c..1ebba17656 100644 --- a/packages/api/cli/src/electron-forge-start.ts +++ b/packages/api/cli/src/electron-forge-start.ts @@ -1,5 +1,5 @@ import { api, StartOptions } from '@electron-forge/core'; -import { resolveWorkingDir } from '@electron-forge/core-utils'; +import { resolveWorkingDir } from '@electron-forge/core-utils/resolve-working-dir'; import { ElectronProcess } from '@electron-forge/shared-types'; import { Option, program } from 'commander'; diff --git a/packages/api/cli/src/util/check-system.ts b/packages/api/cli/src/util/check-system.ts index 90aaff7365..fa0b0821c6 100644 --- a/packages/api/cli/src/util/check-system.ts +++ b/packages/api/cli/src/util/check-system.ts @@ -2,13 +2,13 @@ import { exec } from 'node:child_process'; import os from 'node:os'; import path from 'node:path'; +import { pathExists } from '@electron-forge/core-utils/fs'; import { PACKAGE_MANAGERS, - pathExists, resolvePackageManager, spawnPackageManager, SupportedPackageManager, -} from '@electron-forge/core-utils'; +} from '@electron-forge/core-utils/package-manager'; import { ForgeListrTask } from '@electron-forge/shared-types'; import debug from 'debug'; import semver from 'semver'; diff --git a/packages/external/create-electron-app/spec/fast/init-scripts/init-npm.spec.ts b/packages/external/create-electron-app/spec/fast/init-scripts/init-npm.spec.ts index c2cddfbd7a..de370b9339 100644 --- a/packages/external/create-electron-app/spec/fast/init-scripts/init-npm.spec.ts +++ b/packages/external/create-electron-app/spec/fast/init-scripts/init-npm.spec.ts @@ -2,17 +2,20 @@ import { DepType, DepVersionRestriction, installDependencies, - PACKAGE_MANAGERS, -} from '@electron-forge/core-utils'; +} from '@electron-forge/core-utils/install-dependencies'; +import { PACKAGE_MANAGERS } from '@electron-forge/core-utils/package-manager'; import { ForgeListrTask } from '@electron-forge/shared-types'; import { beforeEach, describe, expect, it, vi } from 'vitest'; import { deps, devDeps, initNPM } from '../../../src/init-scripts/init-npm.js'; -vi.mock(import('@electron-forge/core-utils'), async (importOriginal) => ({ - ...(await importOriginal()), - installDependencies: vi.fn(), -})); +vi.mock( + import('@electron-forge/core-utils/install-dependencies'), + async (importOriginal) => ({ + ...(await importOriginal()), + installDependencies: vi.fn(), + }), +); describe('init-npm', () => { const mockTask = { diff --git a/packages/external/create-electron-app/src/create-electron-app.ts b/packages/external/create-electron-app/src/create-electron-app.ts index ed95c3ba7a..a944f0d050 100644 --- a/packages/external/create-electron-app/src/create-electron-app.ts +++ b/packages/external/create-electron-app/src/create-electron-app.ts @@ -1,7 +1,7 @@ import fs from 'node:fs'; import { styleText } from 'node:util'; -import { resolveWorkingDir } from '@electron-forge/core-utils'; +import { resolveWorkingDir } from '@electron-forge/core-utils/resolve-working-dir'; import { confirm, select } from '@inquirer/prompts'; import { ListrInquirerPromptAdapter } from '@listr2/prompt-adapter-inquirer'; import { program } from 'commander'; diff --git a/packages/external/create-electron-app/src/import.ts b/packages/external/create-electron-app/src/import.ts index 02ad5897b7..f528722aeb 100644 --- a/packages/external/create-electron-app/src/import.ts +++ b/packages/external/create-electron-app/src/import.ts @@ -2,17 +2,17 @@ import fs from 'node:fs/promises'; import path from 'node:path'; import { styleText } from 'node:util'; +import { updateElectronDependency } from '@electron-forge/core-utils/electron-version'; +import { pathExists, readJson, writeJson } from '@electron-forge/core-utils/fs'; import { DepType, DepVersionRestriction, installDependencies, - pathExists, +} from '@electron-forge/core-utils/install-dependencies'; +import { PMDetails, - readJson, resolvePackageManager, - updateElectronDependency, - writeJson, -} from '@electron-forge/core-utils'; +} from '@electron-forge/core-utils/package-manager'; import { ForgeListrOptions } from '@electron-forge/shared-types'; import baseTemplate from '@electron-forge/template-base'; import debug from 'debug'; diff --git a/packages/external/create-electron-app/src/init-scripts/init-link.ts b/packages/external/create-electron-app/src/init-scripts/init-link.ts index 724f3d3eb3..5223de6514 100644 --- a/packages/external/create-electron-app/src/init-scripts/init-link.ts +++ b/packages/external/create-electron-app/src/init-scripts/init-link.ts @@ -2,7 +2,10 @@ import { spawnSync } from 'node:child_process'; import fs from 'node:fs'; import path from 'node:path'; -import { PMDetails, spawnPackageManager } from '@electron-forge/core-utils'; +import { + PMDetails, + spawnPackageManager, +} from '@electron-forge/core-utils/package-manager'; import { ForgeListrTask } from '@electron-forge/shared-types'; import debug from 'debug'; diff --git a/packages/external/create-electron-app/src/init-scripts/init-npm.ts b/packages/external/create-electron-app/src/init-scripts/init-npm.ts index 678ceca308..9bb6ced45f 100644 --- a/packages/external/create-electron-app/src/init-scripts/init-npm.ts +++ b/packages/external/create-electron-app/src/init-scripts/init-npm.ts @@ -1,12 +1,12 @@ import path from 'node:path'; +import { readJsonSync } from '@electron-forge/core-utils/fs'; import { DepType, DepVersionRestriction, installDependencies, - PMDetails, - readJsonSync, -} from '@electron-forge/core-utils'; +} from '@electron-forge/core-utils/install-dependencies'; +import { PMDetails } from '@electron-forge/core-utils/package-manager'; import { ForgeListrTask } from '@electron-forge/shared-types'; import debug from 'debug'; import semver from 'semver'; diff --git a/packages/external/create-electron-app/src/init.ts b/packages/external/create-electron-app/src/init.ts index b630b852a3..cfb81eee6e 100644 --- a/packages/external/create-electron-app/src/init.ts +++ b/packages/external/create-electron-app/src/init.ts @@ -6,9 +6,11 @@ import { DepType, DepVersionRestriction, installDependencies, +} from '@electron-forge/core-utils/install-dependencies'; +import { PMDetails, resolvePackageManager, -} from '@electron-forge/core-utils'; +} from '@electron-forge/core-utils/package-manager'; import { ForgeTemplate } from '@electron-forge/shared-types'; import { spawn } from '@malept/cross-spawn-promise'; import debug from 'debug'; diff --git a/packages/maker/appx/src/MakerAppX.ts b/packages/maker/appx/src/MakerAppX.ts index cdf184359f..b20db7a9f4 100644 --- a/packages/maker/appx/src/MakerAppX.ts +++ b/packages/maker/appx/src/MakerAppX.ts @@ -1,7 +1,8 @@ import fs from 'node:fs/promises'; import path from 'node:path'; -import { getNameFromAuthor, pathExists } from '@electron-forge/core-utils'; +import { getNameFromAuthor } from '@electron-forge/core-utils/author-name'; +import { pathExists } from '@electron-forge/core-utils/fs'; import { MakerBase, MakerOptions } from '@electron-forge/maker-base'; import { ForgePlatform } from '@electron-forge/shared-types'; // eslint-disable-next-line n/no-missing-import diff --git a/packages/maker/msix/spec/MakerMSIX.spec.ts b/packages/maker/msix/spec/MakerMSIX.spec.ts index df664df2da..b3a01cdd11 100644 --- a/packages/maker/msix/spec/MakerMSIX.spec.ts +++ b/packages/maker/msix/spec/MakerMSIX.spec.ts @@ -1,6 +1,6 @@ import path from 'node:path'; -import { move } from '@electron-forge/core-utils'; +import { move } from '@electron-forge/core-utils/fs'; import { ForgeArch } from '@electron-forge/shared-types'; import { packageMSIX } from 'electron-windows-msix'; import { describe, expect, it, vi } from 'vitest'; @@ -28,7 +28,7 @@ vi.mock(import('node:fs/promises'), async (importOriginal) => { }; }); -vi.mock(import('@electron-forge/core-utils'), async (importOriginal) => { +vi.mock(import('@electron-forge/core-utils/fs'), async (importOriginal) => { const mod = await importOriginal(); return { ...mod, diff --git a/packages/maker/msix/src/MakerMSIX.ts b/packages/maker/msix/src/MakerMSIX.ts index ba79b61d0b..94dce0fca8 100644 --- a/packages/maker/msix/src/MakerMSIX.ts +++ b/packages/maker/msix/src/MakerMSIX.ts @@ -2,7 +2,8 @@ import fs from 'node:fs/promises'; import os from 'node:os'; import path from 'node:path'; -import { getNameFromAuthor, move } from '@electron-forge/core-utils'; +import { getNameFromAuthor } from '@electron-forge/core-utils/author-name'; +import { move } from '@electron-forge/core-utils/fs'; import { MakerBase, MakerOptions } from '@electron-forge/maker-base'; import { ForgePlatform } from '@electron-forge/shared-types'; import { packageMSIX } from 'electron-windows-msix'; diff --git a/packages/maker/squirrel/src/MakerSquirrel.ts b/packages/maker/squirrel/src/MakerSquirrel.ts index 4f45123e05..aa535b14c0 100644 --- a/packages/maker/squirrel/src/MakerSquirrel.ts +++ b/packages/maker/squirrel/src/MakerSquirrel.ts @@ -2,7 +2,7 @@ import fs from 'node:fs/promises'; import os from 'node:os'; import path from 'node:path'; -import { pathExists } from '@electron-forge/core-utils'; +import { pathExists } from '@electron-forge/core-utils/fs'; import { MakerBase, MakerOptions } from '@electron-forge/maker-base'; import { ForgePlatform } from '@electron-forge/shared-types'; import { diff --git a/packages/maker/wix/src/MakerWix.ts b/packages/maker/wix/src/MakerWix.ts index 53c7109dff..41c7dd5579 100644 --- a/packages/maker/wix/src/MakerWix.ts +++ b/packages/maker/wix/src/MakerWix.ts @@ -1,7 +1,7 @@ import path from 'node:path'; import { styleText } from 'node:util'; -import { getNameFromAuthor } from '@electron-forge/core-utils'; +import { getNameFromAuthor } from '@electron-forge/core-utils/author-name'; import { MakerBase, type MakerOptions } from '@electron-forge/maker-base'; import { ForgePlatform } from '@electron-forge/shared-types'; import { MSICreator, type MSICreatorOptions } from 'electron-wix-msi'; diff --git a/packages/maker/zip/spec/MakerZip.spec.ts b/packages/maker/zip/spec/MakerZip.spec.ts index 0a50e311bc..98a3cd49da 100644 --- a/packages/maker/zip/spec/MakerZip.spec.ts +++ b/packages/maker/zip/spec/MakerZip.spec.ts @@ -1,7 +1,7 @@ import os from 'node:os'; import path from 'node:path'; -import { writeJson } from '@electron-forge/core-utils'; +import { writeJson } from '@electron-forge/core-utils/fs'; import { ForgeArch } from '@electron-forge/shared-types'; import { zip } from 'cross-zip'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; @@ -20,7 +20,7 @@ vi.mock(import('cross-zip'), async (importOriginal) => { }; }); -vi.mock(import('@electron-forge/core-utils'), async (importOriginal) => { +vi.mock(import('@electron-forge/core-utils/fs'), async (importOriginal) => { const mod = await importOriginal(); return { ...mod, diff --git a/packages/maker/zip/src/MakerZIP.ts b/packages/maker/zip/src/MakerZIP.ts index 9691cba48f..00379811c5 100644 --- a/packages/maker/zip/src/MakerZIP.ts +++ b/packages/maker/zip/src/MakerZIP.ts @@ -1,7 +1,7 @@ import path from 'node:path'; import { promisify } from 'node:util'; -import { writeJson } from '@electron-forge/core-utils'; +import { writeJson } from '@electron-forge/core-utils/fs'; import { MakerBase, MakerOptions } from '@electron-forge/maker-base'; import { ForgePlatform } from '@electron-forge/shared-types'; import { zip } from 'cross-zip'; diff --git a/packages/plugin/vite/src/VitePlugin.ts b/packages/plugin/vite/src/VitePlugin.ts index 7219b25051..8ded86ef11 100644 --- a/packages/plugin/vite/src/VitePlugin.ts +++ b/packages/plugin/vite/src/VitePlugin.ts @@ -3,7 +3,7 @@ import fs from 'node:fs/promises'; import path from 'node:path'; import { styleText } from 'node:util'; -import { readJson, writeJson } from '@electron-forge/core-utils'; +import { readJson, writeJson } from '@electron-forge/core-utils/fs'; import { namedHookWithTaskFn, PluginBase } from '@electron-forge/plugin-base'; import debug from 'debug'; import { Listr, PRESET_TIMER } from 'listr2'; diff --git a/packages/plugin/webpack/src/WebpackPlugin.ts b/packages/plugin/webpack/src/WebpackPlugin.ts index bfd3d139d0..e087ce4489 100644 --- a/packages/plugin/webpack/src/WebpackPlugin.ts +++ b/packages/plugin/webpack/src/WebpackPlugin.ts @@ -5,13 +5,9 @@ import path from 'node:path'; import { styleText } from 'node:util'; import { pipeline } from 'stream/promises'; -import { - getElectronVersion, - listrCompatibleRebuildHook, - move, - readJson, - writeJson, -} from '@electron-forge/core-utils'; +import { getElectronVersion } from '@electron-forge/core-utils/electron-version'; +import { move, readJson, writeJson } from '@electron-forge/core-utils/fs'; +import { listrCompatibleRebuildHook } from '@electron-forge/core-utils/rebuild'; import { namedHookWithTaskFn, PluginBase } from '@electron-forge/plugin-base'; import { ForgeArch, diff --git a/packages/publisher/snapcraft/src/PublisherSnapcraft.ts b/packages/publisher/snapcraft/src/PublisherSnapcraft.ts index 48c369d0c7..f1fb0734b9 100644 --- a/packages/publisher/snapcraft/src/PublisherSnapcraft.ts +++ b/packages/publisher/snapcraft/src/PublisherSnapcraft.ts @@ -1,6 +1,6 @@ import path from 'node:path'; -import { pathExists } from '@electron-forge/core-utils'; +import { pathExists } from '@electron-forge/core-utils/fs'; import { PublisherBase, PublisherOptions, diff --git a/packages/template/base/src/BaseTemplate.ts b/packages/template/base/src/BaseTemplate.ts index 73a52fbc6b..6dfd25beec 100644 --- a/packages/template/base/src/BaseTemplate.ts +++ b/packages/template/base/src/BaseTemplate.ts @@ -4,9 +4,9 @@ import path from 'node:path'; import { readJson, readJsonSync, - resolvePackageManager, writeJson, -} from '@electron-forge/core-utils'; +} from '@electron-forge/core-utils/fs'; +import { resolvePackageManager } from '@electron-forge/core-utils/package-manager'; import { ForgeListrTaskDefinition, ForgeTemplate, diff --git a/packages/template/vite-typescript/spec/ViteTypeScriptTemplate.slow.verdaccio.spec.ts b/packages/template/vite-typescript/spec/ViteTypeScriptTemplate.slow.verdaccio.spec.ts index 89477248d2..27b3c3f5dc 100644 --- a/packages/template/vite-typescript/spec/ViteTypeScriptTemplate.slow.verdaccio.spec.ts +++ b/packages/template/vite-typescript/spec/ViteTypeScriptTemplate.slow.verdaccio.spec.ts @@ -5,7 +5,7 @@ import path from 'node:path'; import { PACKAGE_MANAGERS, spawnPackageManager, -} from '@electron-forge/core-utils'; +} from '@electron-forge/core-utils/package-manager'; import * as testUtils from '@electron-forge/test-utils'; import { afterAll, beforeAll, describe, expect, it } from 'vitest'; diff --git a/packages/template/vite-typescript/src/ViteTypeScriptTemplate.ts b/packages/template/vite-typescript/src/ViteTypeScriptTemplate.ts index 34e68b1cc2..92424f8288 100644 --- a/packages/template/vite-typescript/src/ViteTypeScriptTemplate.ts +++ b/packages/template/vite-typescript/src/ViteTypeScriptTemplate.ts @@ -1,7 +1,7 @@ import fs from 'node:fs/promises'; import path from 'node:path'; -import { move, readJson, writeJson } from '@electron-forge/core-utils'; +import { move, readJson, writeJson } from '@electron-forge/core-utils/fs'; import { ForgeListrTaskDefinition, InitTemplateOptions, diff --git a/packages/template/vite/src/ViteTemplate.ts b/packages/template/vite/src/ViteTemplate.ts index f2c6c0f50a..365e835831 100644 --- a/packages/template/vite/src/ViteTemplate.ts +++ b/packages/template/vite/src/ViteTemplate.ts @@ -1,6 +1,6 @@ import path from 'node:path'; -import { moveSync } from '@electron-forge/core-utils'; +import { moveSync } from '@electron-forge/core-utils/fs'; import { ForgeListrTaskDefinition, InitTemplateOptions, diff --git a/packages/template/webpack-typescript/spec/WebpackTypeScript.slow.verdaccio.spec.ts b/packages/template/webpack-typescript/spec/WebpackTypeScript.slow.verdaccio.spec.ts index 42b5962d5a..c89abb104b 100644 --- a/packages/template/webpack-typescript/spec/WebpackTypeScript.slow.verdaccio.spec.ts +++ b/packages/template/webpack-typescript/spec/WebpackTypeScript.slow.verdaccio.spec.ts @@ -4,7 +4,7 @@ import path from 'node:path'; import { PACKAGE_MANAGERS, spawnPackageManager, -} from '@electron-forge/core-utils'; +} from '@electron-forge/core-utils/package-manager'; import * as testUtils from '@electron-forge/test-utils'; import { afterAll, beforeAll, describe, expect, it } from 'vitest'; diff --git a/packages/template/webpack-typescript/src/WebpackTypeScriptTemplate.ts b/packages/template/webpack-typescript/src/WebpackTypeScriptTemplate.ts index e7b59954b1..d86f3309f7 100644 --- a/packages/template/webpack-typescript/src/WebpackTypeScriptTemplate.ts +++ b/packages/template/webpack-typescript/src/WebpackTypeScriptTemplate.ts @@ -1,7 +1,7 @@ import fs from 'node:fs/promises'; import path from 'node:path'; -import { readJson, writeJson } from '@electron-forge/core-utils'; +import { readJson, writeJson } from '@electron-forge/core-utils/fs'; import { ForgeListrTaskDefinition, InitTemplateOptions, diff --git a/packages/utils/core-utils/package.json b/packages/utils/core-utils/package.json index 1272409d8b..7eae3ed93d 100644 --- a/packages/utils/core-utils/package.json +++ b/packages/utils/core-utils/package.json @@ -6,7 +6,16 @@ "repository": "https://github.com/electron/forge", "author": "Samuel Attard", "license": "MIT", - "exports": "./dist/index.js", + "exports": { + ".": "./dist/index.js", + "./author-name": "./dist/author-name.js", + "./electron-version": "./dist/electron-version.js", + "./fs": "./dist/fs.js", + "./install-dependencies": "./dist/install-dependencies.js", + "./package-manager": "./dist/package-manager.js", + "./rebuild": "./dist/rebuild.js", + "./resolve-working-dir": "./dist/resolve-working-dir.js" + }, "typings": "dist/index.d.ts", "dependencies": { "@electron-forge/shared-types": "workspace:*",