diff --git a/cli/package.json b/cli/package.json index f2bb960dd..3150f2632 100644 --- a/cli/package.json +++ b/cli/package.json @@ -29,8 +29,13 @@ "engines": { "node": ">=22.0.0" }, + "type": "module", "main": "dist/index.js", "types": "dist/declarations.d.ts", + "exports": { + "types": "dist/declarations.d.ts", + "default": "dist/index.js" + }, "bin": { "capacitor": "./bin/capacitor", "cap": "./bin/capacitor" diff --git a/cli/src/android/add.ts b/cli/src/android/add.ts index 968d5ee41..176adeaf3 100644 --- a/cli/src/android/add.ts +++ b/cli/src/android/add.ts @@ -2,11 +2,11 @@ import { pathExists, writeFile } from 'fs-extra'; import { homedir } from 'os'; import { join } from 'path'; -import c from '../colors'; -import { runTask } from '../common'; -import type { Config } from '../definitions'; -import { runCommand } from '../util/subprocess'; -import { extractTemplate } from '../util/template'; +import c from '../colors.js'; +import { runTask } from '../common.js'; +import type { Config } from '../definitions.js'; +import { runCommand } from '../util/subprocess.js'; +import { extractTemplate } from '../util/template.js'; export async function addAndroid(config: Config): Promise { await runTask(`Adding native android project in ${c.strong(config.android.platformDir)}`, async () => { diff --git a/cli/src/android/build.ts b/cli/src/android/build.ts index f5b31a211..8d4402089 100644 --- a/cli/src/android/build.ts +++ b/cli/src/android/build.ts @@ -1,11 +1,11 @@ import { join } from 'path'; -import c from '../colors'; -import { runTask } from '../common'; -import type { Config } from '../definitions'; -import { logSuccess } from '../log'; -import type { BuildCommandOptions } from '../tasks/build'; -import { runCommand } from '../util/subprocess'; +import c from '../colors.js'; +import { runTask } from '../common.js'; +import type { Config } from '../definitions.js'; +import { logSuccess } from '../log.js'; +import type { BuildCommandOptions } from '../tasks/build.js'; +import { runCommand } from '../util/subprocess.js'; export async function buildAndroid(config: Config, buildOptions: BuildCommandOptions): Promise { const releaseType = buildOptions.androidreleasetype ?? 'AAB'; diff --git a/cli/src/android/common.ts b/cli/src/android/common.ts index aa52b7dd8..5318dea3e 100644 --- a/cli/src/android/common.ts +++ b/cli/src/android/common.ts @@ -1,12 +1,12 @@ import { copy, remove, mkdirp, readFile, pathExists, writeFile } from 'fs-extra'; import { join, resolve } from 'path'; -import { checkCapacitorPlatform } from '../common'; -import { getIncompatibleCordovaPlugins } from '../cordova'; -import type { Config } from '../definitions'; -import { PluginType, getPluginPlatform } from '../plugin'; -import type { Plugin } from '../plugin'; -import { convertToUnixPath } from '../util/fs'; +import { checkCapacitorPlatform } from '../common.js'; +import { getIncompatibleCordovaPlugins } from '../cordova.js'; +import type { Config } from '../definitions.js'; +import { PluginType, getPluginPlatform } from '../plugin.js'; +import type { Plugin } from '../plugin.js'; +import { convertToUnixPath } from '../util/fs.js'; export async function checkAndroidPackage(config: Config): Promise { return checkCapacitorPlatform(config, 'android'); diff --git a/cli/src/android/doctor.ts b/cli/src/android/doctor.ts index b5de5ed62..cb98c110a 100644 --- a/cli/src/android/doctor.ts +++ b/cli/src/android/doctor.ts @@ -1,13 +1,13 @@ import { pathExists, readFile } from 'fs-extra'; import { join, extname, parse } from 'path'; -import c from '../colors'; -import { check } from '../common'; -import type { Config } from '../definitions'; -import { fatal, isFatal } from '../errors'; -import { logSuccess } from '../log'; -import { readdirp } from '../util/fs'; -import { readXML } from '../util/xml'; +import c from '../colors.js'; +import { check } from '../common.js'; +import type { Config } from '../definitions.js'; +import { fatal, isFatal } from '../errors.js'; +import { logSuccess } from '../log.js'; +import { readdirp } from '../util/fs.js'; +import { readXML } from '../util/xml.js'; export async function doctorAndroid(config: Config): Promise { try { diff --git a/cli/src/android/open.ts b/cli/src/android/open.ts index c45a1f9a3..9a6db2536 100644 --- a/cli/src/android/open.ts +++ b/cli/src/android/open.ts @@ -2,9 +2,9 @@ import Debug from 'debug'; import { pathExists } from 'fs-extra'; import open from 'open'; -import c from '../colors'; -import type { Config } from '../definitions'; -import { logger } from '../log'; +import c from '../colors.js'; +import type { Config } from '../definitions.js'; +import { logger } from '../log.js'; const debug = Debug('capacitor:android:open'); diff --git a/cli/src/android/run.ts b/cli/src/android/run.ts index ed688f22d..732c9573b 100644 --- a/cli/src/android/run.ts +++ b/cli/src/android/run.ts @@ -1,12 +1,12 @@ import Debug from 'debug'; import { resolve } from 'path'; -import c from '../colors'; -import { parseApkNameFromFlavor, promptForPlatformTarget, runTask } from '../common'; -import type { Config } from '../definitions'; -import type { RunCommandOptions } from '../tasks/run'; -import { runNativeRun, getPlatformTargets } from '../util/native-run'; -import { runCommand } from '../util/subprocess'; +import c from '../colors.js'; +import { parseApkNameFromFlavor, promptForPlatformTarget, runTask } from '../common.js'; +import type { Config } from '../definitions.js'; +import type { RunCommandOptions } from '../tasks/run.js'; +import { runNativeRun, getPlatformTargets } from '../util/native-run.js'; +import { runCommand } from '../util/subprocess.js'; const debug = Debug('capacitor:android:run'); diff --git a/cli/src/android/update.ts b/cli/src/android/update.ts index 16e8c4935..2767f5a8b 100644 --- a/cli/src/android/update.ts +++ b/cli/src/android/update.ts @@ -2,11 +2,11 @@ import Debug from 'debug'; import { copy, remove, pathExists, readFile, writeFile, writeJSON } from 'fs-extra'; import { dirname, extname, join, relative, resolve } from 'path'; -import c from '../colors'; -import { checkPlatformVersions, runTask } from '../common'; -import { checkPluginDependencies, handleCordovaPluginsJS, writeCordovaAndroidManifest } from '../cordova'; -import type { Config } from '../definitions'; -import { fatal } from '../errors'; +import c from '../colors.js'; +import { checkPlatformVersions, runTask } from '../common.js'; +import { checkPluginDependencies, handleCordovaPluginsJS, writeCordovaAndroidManifest } from '../cordova.js'; +import type { Config } from '../definitions.js'; +import { fatal } from '../errors.js'; import { PluginType, getAllElements, @@ -16,14 +16,14 @@ import { getPluginType, getPlugins, printPlugins, -} from '../plugin'; -import type { Plugin } from '../plugin'; -import { copy as copyTask } from '../tasks/copy'; -import { readdirp, convertToUnixPath } from '../util/fs'; -import { resolveNode } from '../util/node'; -import { extractTemplate } from '../util/template'; - -import { getAndroidPlugins } from './common'; +} from '../plugin.js'; +import type { Plugin } from '../plugin.js'; +import { copy as copyTask } from '../tasks/copy.js'; +import { readdirp, convertToUnixPath } from '../util/fs.js'; +import { resolveNode } from '../util/node.js'; +import { extractTemplate } from '../util/template.js'; + +import { getAndroidPlugins } from './common.js'; const platform = 'android'; const debug = Debug('capacitor:android:update'); diff --git a/cli/src/common.ts b/cli/src/common.ts index dbd4d629d..1807aa962 100644 --- a/cli/src/common.ts +++ b/cli/src/common.ts @@ -2,14 +2,14 @@ import { prettyPath } from '@ionic/utils-terminal'; import { readJSON, pathExists } from 'fs-extra'; import { dirname, join } from 'path'; -import c from './colors'; -import type { Config, PackageJson } from './definitions'; -import { fatal } from './errors'; -import { output, logger } from './log'; -import { getPlugins } from './plugin'; -import { findNXMonorepoRoot, isNXMonorepo } from './util/monorepotools'; -import { resolveNode } from './util/node'; -import { runCommand } from './util/subprocess'; +import c from './colors.js'; +import type { Config, PackageJson } from './definitions.js'; +import { fatal } from './errors.js'; +import { output, logger } from './log.js'; +import { getPlugins } from './plugin.js'; +import { findNXMonorepoRoot, isNXMonorepo } from './util/monorepotools.js'; +import { resolveNode } from './util/node.js'; +import { runCommand } from './util/subprocess.js'; export type CheckFunction = () => Promise; diff --git a/cli/src/config.ts b/cli/src/config.ts index 216a15abe..ac7a3edbf 100644 --- a/cli/src/config.ts +++ b/cli/src/config.ts @@ -2,8 +2,8 @@ import Debug from 'debug'; import { pathExists, readFile, readJSON, writeFile, writeJSON } from 'fs-extra'; import { dirname, extname, join, relative, resolve } from 'path'; -import c from './colors'; -import { parseApkNameFromFlavor } from './common'; +import c from './colors.js'; +import { parseApkNameFromFlavor } from './common.js'; import type { AndroidConfig, AppConfig, @@ -13,16 +13,16 @@ import type { IOSConfig, WebConfig, XcodeExportMethod, -} from './definitions'; -import { OS } from './definitions'; -import { fatal, isFatal } from './errors'; -import { logger } from './log'; -import { tryFn } from './util/fn'; -import { formatJSObject } from './util/js'; -import { findNXMonorepoRoot, isNXMonorepo } from './util/monorepotools'; -import { requireTS, resolveNode } from './util/node'; -import { lazy } from './util/promise'; -import { getCommandOutput } from './util/subprocess'; +} from './definitions.js'; +import { OS } from './definitions.js'; +import { fatal, isFatal } from './errors.js'; +import { logger } from './log.js'; +import { tryFn } from './util/fn.js'; +import { formatJSObject } from './util/js.js'; +import { findNXMonorepoRoot, isNXMonorepo } from './util/monorepotools.js'; +import { requireTS, resolveNode } from './util/node.js'; +import { lazy } from './util/promise.js'; +import { getCommandOutput } from './util/subprocess.js'; const debug = Debug('capacitor:config'); @@ -371,7 +371,7 @@ async function determineAndroidStudioPath(os: OS): Promise { case OS.Mac: return '/Applications/Android Studio.app'; case OS.Windows: { - const { runCommand } = await import('./util/subprocess'); + const { runCommand } = await import('./util/subprocess.js'); let p = 'C:\\Program Files\\Android\\Android Studio\\bin\\studio64.exe'; diff --git a/cli/src/cordova.ts b/cli/src/cordova.ts index 343d1695a..376c8f205 100644 --- a/cli/src/cordova.ts +++ b/cli/src/cordova.ts @@ -4,12 +4,12 @@ import plist from 'plist'; import type { PlistObject } from 'plist'; import prompts from 'prompts'; -import { getAndroidPlugins } from './android/common'; -import c from './colors'; -import type { Config } from './definitions'; -import { fatal } from './errors'; -import { getIOSPlugins } from './ios/common'; -import { logger, logPrompt } from './log'; +import { getAndroidPlugins } from './android/common.js'; +import c from './colors.js'; +import type { Config } from './definitions.js'; +import { fatal } from './errors.js'; +import { getIOSPlugins } from './ios/common.js'; +import { logger, logPrompt } from './log.js'; import { PluginType, getAllElements, @@ -20,11 +20,11 @@ import { getPluginType, getPlugins, printPlugins, -} from './plugin'; -import type { Plugin } from './plugin'; -import { resolveNode } from './util/node'; -import { isInteractive } from './util/term'; -import { buildXmlElement, parseXML, readXML, writeXML } from './util/xml'; +} from './plugin.js'; +import type { Plugin } from './plugin.js'; +import { resolveNode } from './util/node.js'; +import { isInteractive } from './util/term.js'; +import { buildXmlElement, parseXML, readXML, writeXML } from './util/xml.js'; /** * Build the root cordova_plugins.js file referencing each Plugin JS file. diff --git a/cli/src/definitions.ts b/cli/src/definitions.ts index 893a9d030..0ad61e042 100644 --- a/cli/src/definitions.ts +++ b/cli/src/definitions.ts @@ -1,4 +1,4 @@ -import type { CapacitorConfig, PluginsConfig } from './declarations'; +import type { CapacitorConfig, PluginsConfig } from './declarations.js'; type DeepReadonly = { readonly [P in keyof T]: DeepReadonly }; diff --git a/cli/src/errors.ts b/cli/src/errors.ts index aa2d5103d..f8cbd6101 100644 --- a/cli/src/errors.ts +++ b/cli/src/errors.ts @@ -1,6 +1,6 @@ export abstract class BaseException extends Error { constructor( - readonly message: string, + override readonly message: string, readonly code: T, ) { super(message); @@ -9,7 +9,7 @@ export abstract class BaseException extends Error { export class FatalException extends BaseException<'FATAL'> { constructor( - readonly message: string, + override readonly message: string, readonly exitCode = 1, ) { super(message, 'FATAL'); diff --git a/cli/src/framework-configs.ts b/cli/src/framework-configs.ts index 9d476bbcd..0be15f712 100644 --- a/cli/src/framework-configs.ts +++ b/cli/src/framework-configs.ts @@ -1,4 +1,4 @@ -import type { Config, FrameworkConfig } from './definitions'; +import type { Config, FrameworkConfig } from './definitions.js'; const FRAMEWORK_CONFIGS: FrameworkConfig[] = [ { diff --git a/cli/src/index.ts b/cli/src/index.ts index 999fb0c1a..a3618b3e6 100644 --- a/cli/src/index.ts +++ b/cli/src/index.ts @@ -1,15 +1,15 @@ import { Option, program } from 'commander'; import { resolve } from 'path'; -import c from './colors'; -import { loadConfig } from './config'; -import type { Config } from './definitions'; -import { fatal, isFatal } from './errors'; -import { receive } from './ipc'; -import { logger, output } from './log'; -import { telemetryAction } from './telemetry'; -import { wrapAction } from './util/cli'; -import { emoji as _e } from './util/emoji'; +import c from './colors.js'; +import { loadConfig } from './config.js'; +import type { Config } from './definitions.js'; +import { fatal, isFatal } from './errors.js'; +import { receive } from './ipc.js'; +import { logger, output } from './log.js'; +import { telemetryAction } from './telemetry.js'; +import { wrapAction } from './util/cli.js'; +import { emoji as _e } from './util/emoji.js'; type Writable = T extends object ? { -readonly [K in keyof T]: Writable } : T; @@ -38,7 +38,7 @@ export function runProgram(config: Config): void { .option('--json', 'Print in JSON format') .action( wrapAction(async ({ json }) => { - const { configCommand } = await import('./tasks/config'); + const { configCommand } = await import('./tasks/config.js'); await configCommand(config, json); }), ); @@ -48,7 +48,7 @@ export function runProgram(config: Config): void { .description('Creates a new Capacitor project') .action( wrapAction(async () => { - const { createCommand } = await import('./tasks/create'); + const { createCommand } = await import('./tasks/create.js'); await createCommand(); }), ); @@ -61,7 +61,7 @@ export function runProgram(config: Config): void { .action( wrapAction( telemetryAction(config, async (appName, appId, { webDir, skipAppidValidation }) => { - const { initCommand } = await import('./tasks/init'); + const { initCommand } = await import('./tasks/init.js'); await initCommand(config, appName, appId, webDir, skipAppidValidation); }), ), @@ -72,7 +72,7 @@ export function runProgram(config: Config): void { .description('Serves a Capacitor Progressive Web App in the browser') .action( wrapAction(async () => { - const { serveCommand } = await import('./tasks/serve'); + const { serveCommand } = await import('./tasks/serve.js'); await serveCommand(); }), ); @@ -89,7 +89,7 @@ export function runProgram(config: Config): void { .action( wrapAction( telemetryAction(config, async (platform, { deployment, inline }) => { - const { syncCommand } = await import('./tasks/sync'); + const { syncCommand } = await import('./tasks/sync.js'); await syncCommand(config, platform, deployment, inline); }), ), @@ -102,7 +102,7 @@ export function runProgram(config: Config): void { .action( wrapAction( telemetryAction(config, async (platform, { deployment }) => { - const { updateCommand } = await import('./tasks/update'); + const { updateCommand } = await import('./tasks/update.js'); await updateCommand(config, platform, deployment); }), ), @@ -119,7 +119,7 @@ export function runProgram(config: Config): void { .action( wrapAction( telemetryAction(config, async (platform, { inline }) => { - const { copyCommand } = await import('./tasks/copy'); + const { copyCommand } = await import('./tasks/copy.js'); await copyCommand(config, platform, inline); }), ), @@ -205,7 +205,7 @@ export function runProgram(config: Config): void { xcodeProvisioningProfile, }, ) => { - const { buildCommand } = await import('./tasks/build'); + const { buildCommand } = await import('./tasks/build.js'); await buildCommand(config, platform, { scheme, flavor, @@ -267,7 +267,7 @@ export function runProgram(config: Config): void { configuration, }, ) => { - const { runCommand } = await import('./tasks/run'); + const { runCommand } = await import('./tasks/run.js'); await runCommand(config, platform, { scheme, flavor, @@ -294,7 +294,7 @@ export function runProgram(config: Config): void { .action( wrapAction( telemetryAction(config, async (platform) => { - const { openCommand } = await import('./tasks/open'); + const { openCommand } = await import('./tasks/open.js'); await openCommand(config, platform); }), ), @@ -310,7 +310,7 @@ export function runProgram(config: Config): void { .action( wrapAction( telemetryAction(config, async (platform, { packagemanager }) => { - const { addCommand } = await import('./tasks/add'); + const { addCommand } = await import('./tasks/add.js'); const configWritable: Writable = config as Writable; if (packagemanager?.toLowerCase() === 'CocoaPods'.toLowerCase()) { @@ -332,7 +332,7 @@ export function runProgram(config: Config): void { .action( wrapAction( telemetryAction(config, async (platform) => { - const { listCommand } = await import('./tasks/list'); + const { listCommand } = await import('./tasks/list.js'); await listCommand(config, platform); }), ), @@ -344,7 +344,7 @@ export function runProgram(config: Config): void { .action( wrapAction( telemetryAction(config, async (platform) => { - const { doctorCommand } = await import('./tasks/doctor'); + const { doctorCommand } = await import('./tasks/doctor.js'); await doctorCommand(config, platform); }), ), @@ -355,7 +355,7 @@ export function runProgram(config: Config): void { .description('enable or disable telemetry') .action( wrapAction(async (onOrOff) => { - const { telemetryCommand } = await import('./tasks/telemetry'); + const { telemetryCommand } = await import('./tasks/telemetry.js'); await telemetryCommand(onOrOff); }), ); @@ -372,7 +372,7 @@ export function runProgram(config: Config): void { .description('start a new Capacitor plugin') .action( wrapAction(async () => { - const { newPluginCommand } = await import('./tasks/new-plugin'); + const { newPluginCommand } = await import('./tasks/new-plugin.js'); await newPluginCommand(); }), ); @@ -384,7 +384,7 @@ export function runProgram(config: Config): void { .description('Migrate your current Capacitor app to the latest major version of Capacitor.') .action( wrapAction(async ({ noprompt, packagemanager }) => { - const { migrateCommand } = await import('./tasks/migrate'); + const { migrateCommand } = await import('./tasks/migrate.js'); await migrateCommand(config, noprompt, packagemanager); }), ); @@ -394,7 +394,7 @@ export function runProgram(config: Config): void { .description('Remove Cocoapods from project and switch to Swift Package Manager') .action( wrapAction(async () => { - const { migrateToSPM } = await import('./tasks/migrate-spm'); + const { migrateToSPM } = await import('./tasks/migrate-spm.js'); await migrateToSPM(config); }), ); diff --git a/cli/src/ios/add.ts b/cli/src/ios/add.ts index aee1c2092..92fb7bcdf 100644 --- a/cli/src/ios/add.ts +++ b/cli/src/ios/add.ts @@ -1,7 +1,7 @@ -import c from '../colors'; -import { runTask } from '../common'; -import type { Config } from '../definitions'; -import { extractTemplate } from '../util/template'; +import c from '../colors.js'; +import { runTask } from '../common.js'; +import type { Config } from '../definitions.js'; +import { extractTemplate } from '../util/template.js'; export async function addIOS(config: Config): Promise { await runTask(`Adding native Xcode project in ${c.strong(config.ios.platformDir)}`, () => { diff --git a/cli/src/ios/build.ts b/cli/src/ios/build.ts index 982e30c33..dd2b50659 100644 --- a/cli/src/ios/build.ts +++ b/cli/src/ios/build.ts @@ -2,12 +2,12 @@ import { writeFileSync, unlinkSync } from 'fs-extra'; import { basename, join } from 'path'; import { rimraf } from 'rimraf'; -import { runTask } from '../common'; -import { XcodeExportMethod, type Config } from '../definitions'; -import { logSuccess } from '../log'; -import { type BuildCommandOptions } from '../tasks/build'; -import { checkPackageManager } from '../util/spm'; -import { runCommand } from '../util/subprocess'; +import { runTask } from '../common.js'; +import { XcodeExportMethod, type Config } from '../definitions.js'; +import { logSuccess } from '../log.js'; +import { type BuildCommandOptions } from '../tasks/build.js'; +import { checkPackageManager } from '../util/spm.js'; +import { runCommand } from '../util/subprocess.js'; export async function buildiOS(config: Config, buildOptions: BuildCommandOptions): Promise { const theScheme = buildOptions.scheme ?? 'App'; diff --git a/cli/src/ios/common.ts b/cli/src/ios/common.ts index 71bd34499..efc8992bc 100644 --- a/cli/src/ios/common.ts +++ b/cli/src/ios/common.ts @@ -2,15 +2,15 @@ import { execSync } from 'child_process'; import { readFile, readFileSync, writeFile } from 'fs-extra'; import { join, resolve } from 'path'; -import c from '../colors'; -import { checkCapacitorPlatform } from '../common'; -import { getIncompatibleCordovaPlugins } from '../cordova'; -import { OS } from '../definitions'; -import type { Config } from '../definitions'; -import { logger } from '../log'; -import { PluginType, getPluginPlatform } from '../plugin'; -import type { Plugin } from '../plugin'; -import { isInstalled, runCommand } from '../util/subprocess'; +import c from '../colors.js'; +import { checkCapacitorPlatform } from '../common.js'; +import { getIncompatibleCordovaPlugins } from '../cordova.js'; +import { OS } from '../definitions.js'; +import type { Config } from '../definitions.js'; +import { logger } from '../log.js'; +import { PluginType, getPluginPlatform } from '../plugin.js'; +import type { Plugin } from '../plugin.js'; +import { isInstalled, runCommand } from '../util/subprocess.js'; export async function checkIOSPackage(config: Config): Promise { return checkCapacitorPlatform(config, 'ios'); diff --git a/cli/src/ios/doctor.ts b/cli/src/ios/doctor.ts index 77d9b8b17..e1526f78e 100644 --- a/cli/src/ios/doctor.ts +++ b/cli/src/ios/doctor.ts @@ -1,10 +1,10 @@ -import { check, checkWebDir } from '../common'; -import type { Config } from '../definitions'; -import { fatal } from '../errors'; -import { logSuccess } from '../log'; -import { isInstalled } from '../util/subprocess'; +import { check, checkWebDir } from '../common.js'; +import type { Config } from '../definitions.js'; +import { fatal } from '../errors.js'; +import { logSuccess } from '../log.js'; +import { isInstalled } from '../util/subprocess.js'; -import { checkBundler, checkCocoaPods } from './common'; +import { checkBundler, checkCocoaPods } from './common.js'; export async function doctorIOS(config: Config): Promise { // DOCTOR ideas for iOS: diff --git a/cli/src/ios/open.ts b/cli/src/ios/open.ts index ea115ca0f..106825cf3 100644 --- a/cli/src/ios/open.ts +++ b/cli/src/ios/open.ts @@ -1,8 +1,8 @@ import open from 'open'; -import { wait } from '../common'; -import type { Config } from '../definitions'; -import { checkPackageManager } from '../util/spm'; +import { wait } from '../common.js'; +import type { Config } from '../definitions.js'; +import { checkPackageManager } from '../util/spm.js'; export async function openIOS(config: Config): Promise { if ((await checkPackageManager(config)) == 'SPM') { diff --git a/cli/src/ios/run.ts b/cli/src/ios/run.ts index 13a031f39..b9deda8ef 100644 --- a/cli/src/ios/run.ts +++ b/cli/src/ios/run.ts @@ -1,13 +1,13 @@ import Debug from 'debug'; import { basename, resolve } from 'path'; -import c from '../colors'; -import { promptForPlatformTarget, runTask } from '../common'; -import type { Config } from '../definitions'; -import type { RunCommandOptions } from '../tasks/run'; -import { runNativeRun, getPlatformTargets } from '../util/native-run'; -import { checkPackageManager } from '../util/spm'; -import { runCommand } from '../util/subprocess'; +import c from '../colors.js'; +import { promptForPlatformTarget, runTask } from '../common.js'; +import type { Config } from '../definitions.js'; +import type { RunCommandOptions } from '../tasks/run.js'; +import { runNativeRun, getPlatformTargets } from '../util/native-run.js'; +import { checkPackageManager } from '../util/spm.js'; +import { runCommand } from '../util/subprocess.js'; const debug = Debug('capacitor:ios:run'); diff --git a/cli/src/ios/update.ts b/cli/src/ios/update.ts index e5aaea6c4..279b85128 100644 --- a/cli/src/ios/update.ts +++ b/cli/src/ios/update.ts @@ -1,12 +1,12 @@ import { copy, remove, pathExists, readFile, realpath, writeFile } from 'fs-extra'; import { basename, dirname, join, relative } from 'path'; -import c from '../colors'; -import { checkPlatformVersions, getCapacitorPackageVersion, runTask } from '../common'; -import { checkPluginDependencies, handleCordovaPluginsJS, logCordovaManualSteps, needsStaticPod } from '../cordova'; -import type { Config } from '../definitions'; -import { fatal } from '../errors'; -import { logger } from '../log'; +import c from '../colors.js'; +import { checkPlatformVersions, getCapacitorPackageVersion, runTask } from '../common.js'; +import { checkPluginDependencies, handleCordovaPluginsJS, logCordovaManualSteps, needsStaticPod } from '../cordova.js'; +import type { Config } from '../definitions.js'; +import { fatal } from '../errors.js'; +import { logger } from '../log.js'; import { PluginType, getAllElements, @@ -15,17 +15,17 @@ import { getPluginType, getPlugins, printPlugins, -} from '../plugin'; -import type { Plugin } from '../plugin'; -import { copy as copyTask } from '../tasks/copy'; -import { convertToUnixPath } from '../util/fs'; -import { generateIOSPackageJSON } from '../util/iosplugin'; -import { resolveNode } from '../util/node'; -import { checkPackageManager, generatePackageFile, checkPluginsForPackageSwift } from '../util/spm'; -import { runCommand, isInstalled } from '../util/subprocess'; -import { extractTemplate } from '../util/template'; - -import { getIOSPlugins, getMajoriOSVersion } from './common'; +} from '../plugin.js'; +import type { Plugin } from '../plugin.js'; +import { copy as copyTask } from '../tasks/copy.js'; +import { convertToUnixPath } from '../util/fs.js'; +import { generateIOSPackageJSON } from '../util/iosplugin.js'; +import { resolveNode } from '../util/node.js'; +import { checkPackageManager, generatePackageFile, checkPluginsForPackageSwift } from '../util/spm.js'; +import { runCommand, isInstalled } from '../util/subprocess.js'; +import { extractTemplate } from '../util/template.js'; + +import { getIOSPlugins, getMajoriOSVersion } from './common.js'; const platform = 'ios'; diff --git a/cli/src/ipc.ts b/cli/src/ipc.ts index 41894e53a..c734c9c86 100644 --- a/cli/src/ipc.ts +++ b/cli/src/ipc.ts @@ -4,8 +4,8 @@ import { open, mkdirp } from 'fs-extra'; import { request } from 'https'; import { resolve } from 'path'; -import type { Metric } from './telemetry'; -import { ENV_PATHS } from './util/cli'; +import type { Metric } from './telemetry.js'; +import { ENV_PATHS } from './util/cli.js'; const debug = Debug('capacitor:ipc'); diff --git a/cli/src/log.ts b/cli/src/log.ts index 0092d9e5e..d7d620f88 100644 --- a/cli/src/log.ts +++ b/cli/src/log.ts @@ -7,8 +7,8 @@ import { import type { LoggerLevelWeight } from '@ionic/cli-framework-output'; import type { Answers, PromptObject } from 'prompts'; -import c from './colors'; -import { isInteractive } from './util/term'; +import c from './colors.js'; +import { isInteractive } from './util/term.js'; const options = { colors: c, diff --git a/cli/src/plugin.ts b/cli/src/plugin.ts index 884bba998..341fcb29a 100644 --- a/cli/src/plugin.ts +++ b/cli/src/plugin.ts @@ -1,12 +1,12 @@ import { readJSON } from 'fs-extra'; import { dirname, join } from 'path'; -import c from './colors'; -import type { Config } from './definitions'; -import { fatal } from './errors'; -import { logger } from './log'; -import { resolveNode } from './util/node'; -import { readXML } from './util/xml'; +import c from './colors.js'; +import type { Config } from './definitions.js'; +import { fatal } from './errors.js'; +import { logger } from './log.js'; +import { resolveNode } from './util/node.js'; +import { readXML } from './util/xml.js'; export const enum PluginType { Core, diff --git a/cli/src/sysconfig.ts b/cli/src/sysconfig.ts index 487095404..91a7d9d6d 100644 --- a/cli/src/sysconfig.ts +++ b/cli/src/sysconfig.ts @@ -2,8 +2,8 @@ import Debug from 'debug'; import { readJSON, writeJSON, mkdirp } from 'fs-extra'; import { dirname, resolve } from 'path'; -import { ENV_PATHS } from './util/cli'; -import { uuidv4 } from './util/uuid'; +import { ENV_PATHS } from './util/cli.js'; +import { uuidv4 } from './util/uuid.js'; const debug = Debug('capacitor:sysconfig'); diff --git a/cli/src/tasks/add.ts b/cli/src/tasks/add.ts index f849132bf..6a21e0fa0 100644 --- a/cli/src/tasks/add.ts +++ b/cli/src/tasks/add.ts @@ -1,9 +1,9 @@ import { prettyPath } from '@ionic/utils-terminal'; import { pathExists } from 'fs-extra'; -import { addAndroid, createLocalProperties } from '../android/add'; -import { editProjectSettingsAndroid, checkAndroidPackage } from '../android/common'; -import c from '../colors'; +import { addAndroid, createLocalProperties } from '../android/add.js'; +import { editProjectSettingsAndroid, checkAndroidPackage } from '../android/common.js'; +import c from '../colors.js'; import { getKnownPlatforms, check, @@ -17,15 +17,15 @@ import { promptForPlatform, getProjectPlatformDirectory, isValidEnterprisePlatform, -} from '../common'; -import type { CheckFunction } from '../common'; -import type { Config } from '../definitions'; -import { fatal, isFatal } from '../errors'; -import { addIOS } from '../ios/add'; -import { editProjectSettingsIOS, checkBundler, checkCocoaPods, checkIOSPackage } from '../ios/common'; -import { logger, logSuccess, output } from '../log'; - -import { sync } from './sync'; +} from '../common.js'; +import type { CheckFunction } from '../common.js'; +import type { Config } from '../definitions.js'; +import { fatal, isFatal } from '../errors.js'; +import { addIOS } from '../ios/add.js'; +import { editProjectSettingsIOS, checkBundler, checkCocoaPods, checkIOSPackage } from '../ios/common.js'; +import { logger, logSuccess, output } from '../log.js'; + +import { sync } from './sync.js'; export async function addCommand(config: Config, selectedPlatformName: string): Promise { if (selectedPlatformName && !(await isValidPlatform(selectedPlatformName))) { diff --git a/cli/src/tasks/build.ts b/cli/src/tasks/build.ts index c7e6b2415..c732ca95c 100644 --- a/cli/src/tasks/build.ts +++ b/cli/src/tasks/build.ts @@ -1,9 +1,9 @@ -import { buildAndroid } from '../android/build'; -import { selectPlatforms, promptForPlatform } from '../common'; -import type { Config } from '../definitions'; -import { XcodeExportMethod } from '../definitions'; -import { fatal, isFatal } from '../errors'; -import { buildiOS } from '../ios/build'; +import { buildAndroid } from '../android/build.js'; +import { selectPlatforms, promptForPlatform } from '../common.js'; +import type { Config } from '../definitions.js'; +import { XcodeExportMethod } from '../definitions.js'; +import { fatal, isFatal } from '../errors.js'; +import { buildiOS } from '../ios/build.js'; export interface BuildCommandOptions { scheme?: string; diff --git a/cli/src/tasks/config.ts b/cli/src/tasks/config.ts index bebdf75ab..c3d55e01b 100644 --- a/cli/src/tasks/config.ts +++ b/cli/src/tasks/config.ts @@ -1,7 +1,7 @@ import util from 'util'; -import type { Config } from '../definitions'; -import { output } from '../log'; +import type { Config } from '../definitions.js'; +import { output } from '../log.js'; export async function configCommand(config: Config, json: boolean): Promise { const evaluatedConfig = await deepAwait(config); diff --git a/cli/src/tasks/copy.ts b/cli/src/tasks/copy.ts index ce1179e01..2a8f83915 100644 --- a/cli/src/tasks/copy.ts +++ b/cli/src/tasks/copy.ts @@ -1,7 +1,7 @@ import { copy as fsCopy, pathExists, remove, writeJSON } from 'fs-extra'; import { basename, join, relative, resolve } from 'path'; -import c from '../colors'; +import c from '../colors.js'; import { checkWebDir, resolvePlatform, @@ -10,17 +10,17 @@ import { runTask, isValidPlatform, selectPlatforms, -} from '../common'; -import { getCordovaPlugins, handleCordovaPluginsJS, writeCordovaAndroidManifest } from '../cordova'; -import type { Config } from '../definitions'; -import { isFatal } from '../errors'; -import { getIOSPlugins } from '../ios/common'; -import { logger } from '../log'; -import { getPlugins } from '../plugin'; -import { generateIOSPackageJSON } from '../util/iosplugin'; -import { allSerial } from '../util/promise'; - -import { inlineSourceMaps } from './sourcemaps'; +} from '../common.js'; +import { getCordovaPlugins, handleCordovaPluginsJS, writeCordovaAndroidManifest } from '../cordova.js'; +import type { Config } from '../definitions.js'; +import { isFatal } from '../errors.js'; +import { getIOSPlugins } from '../ios/common.js'; +import { logger } from '../log.js'; +import { getPlugins } from '../plugin.js'; +import { generateIOSPackageJSON } from '../util/iosplugin.js'; +import { allSerial } from '../util/promise.js'; + +import { inlineSourceMaps } from './sourcemaps.js'; export async function copyCommand(config: Config, selectedPlatformName: string, inline = false): Promise { if (selectedPlatformName && !(await isValidPlatform(selectedPlatformName))) { @@ -284,7 +284,7 @@ interface FederatedCapacitor { liveUpdatesKey?: string; } -declare module '../declarations' { +declare module '../declarations.js' { interface PluginsConfig { LiveUpdates?: LiveUpdateConfig; FederatedCapacitor?: FederatedCapacitor; diff --git a/cli/src/tasks/create.ts b/cli/src/tasks/create.ts index a4add5fd0..b27df65f0 100644 --- a/cli/src/tasks/create.ts +++ b/cli/src/tasks/create.ts @@ -1,5 +1,5 @@ -import c from '../colors'; -import { fatal } from '../errors'; +import c from '../colors.js'; +import { fatal } from '../errors.js'; export async function createCommand(): Promise { fatal(`The create command has been removed.\n` + `Use ${c.input('npm init @capacitor/app')}`); diff --git a/cli/src/tasks/doctor.ts b/cli/src/tasks/doctor.ts index eb357bd0a..1c60d0116 100644 --- a/cli/src/tasks/doctor.ts +++ b/cli/src/tasks/doctor.ts @@ -1,14 +1,14 @@ import { readJSON } from 'fs-extra'; -import { doctorAndroid } from '../android/doctor'; -import c from '../colors'; -import { selectPlatforms } from '../common'; -import type { Config } from '../definitions'; -import { doctorIOS } from '../ios/doctor'; -import { output } from '../log'; -import { emoji as _e } from '../util/emoji'; -import { resolveNode } from '../util/node'; -import { getCommandOutput } from '../util/subprocess'; +import { doctorAndroid } from '../android/doctor.js'; +import c from '../colors.js'; +import { selectPlatforms } from '../common.js'; +import type { Config } from '../definitions.js'; +import { doctorIOS } from '../ios/doctor.js'; +import { output } from '../log.js'; +import { emoji as _e } from '../util/emoji.js'; +import { resolveNode } from '../util/node.js'; +import { getCommandOutput } from '../util/subprocess.js'; export async function doctorCommand(config: Config, selectedPlatformName: string): Promise { output.write(`${_e('💊', '')} ${c.strong('Capacitor Doctor')} ${_e('💊', '')} \n\n`); diff --git a/cli/src/tasks/init.ts b/cli/src/tasks/init.ts index 6160d48ab..74e6248ec 100644 --- a/cli/src/tasks/init.ts +++ b/cli/src/tasks/init.ts @@ -1,17 +1,17 @@ import open from 'open'; import { basename, dirname, resolve } from 'path'; -import c from '../colors'; -import { check, checkAppId, checkAppName, runTask } from '../common'; -import { CONFIG_FILE_NAME_JSON, CONFIG_FILE_NAME_TS, writeConfig } from '../config'; -import { getCordovaPreferences } from '../cordova'; -import type { Config, ExternalConfig } from '../definitions'; -import { fatal, isFatal } from '../errors'; -import { detectFramework } from '../framework-configs'; -import { output, logSuccess, logPrompt } from '../log'; -import { readConfig, writeConfig as sysWriteConfig } from '../sysconfig'; -import { resolveNode } from '../util/node'; -import { checkInteractive, isInteractive } from '../util/term'; +import c from '../colors.js'; +import { check, checkAppId, checkAppName, runTask } from '../common.js'; +import { CONFIG_FILE_NAME_JSON, CONFIG_FILE_NAME_TS, writeConfig } from '../config.js'; +import { getCordovaPreferences } from '../cordova.js'; +import type { Config, ExternalConfig } from '../definitions.js'; +import { fatal, isFatal } from '../errors.js'; +import { detectFramework } from '../framework-configs.js'; +import { output, logSuccess, logPrompt } from '../log.js'; +import { readConfig, writeConfig as sysWriteConfig } from '../sysconfig.js'; +import { resolveNode } from '../util/node.js'; +import { checkInteractive, isInteractive } from '../util/term.js'; export async function initCommand( config: Config, diff --git a/cli/src/tasks/list.ts b/cli/src/tasks/list.ts index 6b731865f..5d6f897b6 100644 --- a/cli/src/tasks/list.ts +++ b/cli/src/tasks/list.ts @@ -1,13 +1,13 @@ -import { getAndroidPlugins } from '../android/common'; -import c from '../colors'; -import { selectPlatforms } from '../common'; -import type { Config } from '../definitions'; -import { isFatal } from '../errors'; -import { getIOSPlugins } from '../ios/common'; -import { logger } from '../log'; -import { PluginType, getPluginType, getPlugins, printPlugins } from '../plugin'; -import type { Plugin } from '../plugin'; -import { allSerial } from '../util/promise'; +import { getAndroidPlugins } from '../android/common.js'; +import c from '../colors.js'; +import { selectPlatforms } from '../common.js'; +import type { Config } from '../definitions.js'; +import { isFatal } from '../errors.js'; +import { getIOSPlugins } from '../ios/common.js'; +import { logger } from '../log.js'; +import { PluginType, getPluginType, getPlugins, printPlugins } from '../plugin.js'; +import type { Plugin } from '../plugin.js'; +import { allSerial } from '../util/promise.js'; export async function listCommand(config: Config, selectedPlatformName: string): Promise { const platforms = await selectPlatforms(config, selectedPlatformName); diff --git a/cli/src/tasks/migrate-spm.ts b/cli/src/tasks/migrate-spm.ts index f59a069a2..2e6cd001d 100644 --- a/cli/src/tasks/migrate-spm.ts +++ b/cli/src/tasks/migrate-spm.ts @@ -1,15 +1,15 @@ -import type { Config } from '../definitions'; -import { fatal } from '../errors'; -import { logger } from '../log'; +import type { Config } from '../definitions.js'; +import { fatal } from '../errors.js'; +import { logger } from '../log.js'; import { checkPackageManager, extractSPMPackageDirectory, removeCocoapodsFiles, runCocoapodsDeintegrate, addInfoPlistDebugIfNeeded, -} from '../util/spm'; +} from '../util/spm.js'; -import { update } from './update'; +import { update } from './update.js'; export async function migrateToSPM(config: Config): Promise { if ((await checkPackageManager(config)) == 'SPM') { diff --git a/cli/src/tasks/migrate.ts b/cli/src/tasks/migrate.ts index a471d295a..80257c98e 100644 --- a/cli/src/tasks/migrate.ts +++ b/cli/src/tasks/migrate.ts @@ -3,16 +3,16 @@ import { join } from 'path'; import { rimraf } from 'rimraf'; import { coerce, gte, lt } from 'semver'; -import c from '../colors'; -import { getCoreVersion, runTask, checkJDKMajorVersion } from '../common'; -import type { Config } from '../definitions'; -import { fatal } from '../errors'; -import { getMajoriOSVersion } from '../ios/common'; -import { logger, logPrompt, logSuccess } from '../log'; -import { deleteFolderRecursive } from '../util/fs'; -import { checkPackageManager } from '../util/spm'; -import { runCommand } from '../util/subprocess'; -import { extractTemplate } from '../util/template'; +import c from '../colors.js'; +import { getCoreVersion, runTask, checkJDKMajorVersion } from '../common.js'; +import type { Config } from '../definitions.js'; +import { fatal } from '../errors.js'; +import { getMajoriOSVersion } from '../ios/common.js'; +import { logger, logPrompt, logSuccess } from '../log.js'; +import { deleteFolderRecursive } from '../util/fs.js'; +import { checkPackageManager } from '../util/spm.js'; +import { runCommand } from '../util/subprocess.js'; +import { extractTemplate } from '../util/template.js'; // eslint-disable-next-line prefer-const let allDependencies: { [key: string]: any } = {}; diff --git a/cli/src/tasks/new-plugin.ts b/cli/src/tasks/new-plugin.ts index ad07a7e0d..fb391dfaa 100644 --- a/cli/src/tasks/new-plugin.ts +++ b/cli/src/tasks/new-plugin.ts @@ -1,5 +1,5 @@ -import c from '../colors'; -import { fatal } from '../errors'; +import c from '../colors.js'; +import { fatal } from '../errors.js'; export async function newPluginCommand(): Promise { fatal(`The plugin:generate command has been removed.\n` + `Use ${c.input('npm init @capacitor/plugin')}`); diff --git a/cli/src/tasks/open.ts b/cli/src/tasks/open.ts index 15675e626..e7d55a932 100644 --- a/cli/src/tasks/open.ts +++ b/cli/src/tasks/open.ts @@ -1,5 +1,5 @@ -import { openAndroid } from '../android/open'; -import c from '../colors'; +import { openAndroid } from '../android/open.js'; +import c from '../colors.js'; import { resolvePlatform, runPlatformHook, @@ -7,11 +7,11 @@ import { isValidPlatform, selectPlatforms, promptForPlatform, -} from '../common'; -import type { Config } from '../definitions'; -import { fatal, isFatal } from '../errors'; -import { openIOS } from '../ios/open'; -import { logger } from '../log'; +} from '../common.js'; +import type { Config } from '../definitions.js'; +import { fatal, isFatal } from '../errors.js'; +import { openIOS } from '../ios/open.js'; +import { logger } from '../log.js'; export async function openCommand(config: Config, selectedPlatformName: string): Promise { if (selectedPlatformName && !(await isValidPlatform(selectedPlatformName))) { diff --git a/cli/src/tasks/run.ts b/cli/src/tasks/run.ts index 97413cb09..c0d0aaa9d 100644 --- a/cli/src/tasks/run.ts +++ b/cli/src/tasks/run.ts @@ -1,7 +1,7 @@ import { columnar } from '@ionic/utils-terminal'; -import { runAndroid } from '../android/run'; -import c from '../colors'; +import { runAndroid } from '../android/run.js'; +import c from '../colors.js'; import { isValidPlatform, resolvePlatform, @@ -9,16 +9,16 @@ import { selectPlatforms, promptForPlatform, getPlatformTargetName, -} from '../common'; -import { getCordovaPlugins, writeCordovaAndroidManifest } from '../cordova'; -import type { Config } from '../definitions'; -import { fatal, isFatal } from '../errors'; -import { runIOS } from '../ios/run'; -import { logger, output } from '../log'; -import { CapLiveReloadHelper } from '../util/livereload'; -import { getPlatformTargets } from '../util/native-run'; +} from '../common.js'; +import { getCordovaPlugins, writeCordovaAndroidManifest } from '../cordova.js'; +import type { Config } from '../definitions.js'; +import { fatal, isFatal } from '../errors.js'; +import { runIOS } from '../ios/run.js'; +import { logger, output } from '../log.js'; +import { CapLiveReloadHelper } from '../util/livereload.js'; +import { getPlatformTargets } from '../util/native-run.js'; -import { sync } from './sync'; +import { sync } from './sync.js'; export interface RunCommandOptions { scheme?: string; diff --git a/cli/src/tasks/serve.ts b/cli/src/tasks/serve.ts index 13d6775b8..ccf147d63 100644 --- a/cli/src/tasks/serve.ts +++ b/cli/src/tasks/serve.ts @@ -1,5 +1,5 @@ -import c from '../colors'; -import { fatal } from '../errors'; +import c from '../colors.js'; +import { fatal } from '../errors.js'; export async function serveCommand(): Promise { fatal( diff --git a/cli/src/tasks/sourcemaps.ts b/cli/src/tasks/sourcemaps.ts index b460972f0..3da7aac46 100644 --- a/cli/src/tasks/sourcemaps.ts +++ b/cli/src/tasks/sourcemaps.ts @@ -1,8 +1,8 @@ import { readdirSync, existsSync, readFileSync, writeFileSync, unlinkSync, lstatSync } from 'fs-extra'; import { join, extname } from 'path'; -import type { Config } from '../definitions'; -import { logger } from '../log'; +import type { Config } from '../definitions.js'; +import { logger } from '../log.js'; function walkDirectory(dirPath: string) { const files = readdirSync(dirPath); diff --git a/cli/src/tasks/sync.ts b/cli/src/tasks/sync.ts index 98660e8b8..1946abac0 100644 --- a/cli/src/tasks/sync.ts +++ b/cli/src/tasks/sync.ts @@ -1,11 +1,11 @@ -import { check, checkPackage, checkWebDir, selectPlatforms, isValidPlatform, runHooks } from '../common'; -import type { Config } from '../definitions'; -import { fatal, isFatal } from '../errors'; -import { logger } from '../log'; -import { allSerial } from '../util/promise'; +import { check, checkPackage, checkWebDir, selectPlatforms, isValidPlatform, runHooks } from '../common.js'; +import type { Config } from '../definitions.js'; +import { fatal, isFatal } from '../errors.js'; +import { logger } from '../log.js'; +import { allSerial } from '../util/promise.js'; -import { copy, copyCommand } from './copy'; -import { update, updateChecks, updateCommand } from './update'; +import { copy, copyCommand } from './copy.js'; +import { update, updateChecks, updateCommand } from './update.js'; /** * Sync is a copy and an update in one. diff --git a/cli/src/tasks/telemetry.ts b/cli/src/tasks/telemetry.ts index 78e1048ba..bd25ae580 100644 --- a/cli/src/tasks/telemetry.ts +++ b/cli/src/tasks/telemetry.ts @@ -1,7 +1,7 @@ -import c from '../colors'; -import { fatal } from '../errors'; -import { logger, logSuccess, output } from '../log'; -import { readConfig, writeConfig } from '../sysconfig'; +import c from '../colors.js'; +import { fatal } from '../errors.js'; +import { logger, logSuccess, output } from '../log.js'; +import { readConfig, writeConfig } from '../sysconfig.js'; const THANK_YOU = `\nThank you for helping to make Capacitor better! 💖` + diff --git a/cli/src/tasks/update.ts b/cli/src/tasks/update.ts index a2b6cbe0d..d246e6602 100644 --- a/cli/src/tasks/update.ts +++ b/cli/src/tasks/update.ts @@ -1,5 +1,5 @@ -import { updateAndroid } from '../android/update'; -import c from '../colors'; +import { updateAndroid } from '../android/update.js'; +import c from '../colors.js'; import { check, checkPackage, @@ -9,14 +9,14 @@ import { runTask, selectPlatforms, isValidPlatform, -} from '../common'; -import type { CheckFunction } from '../common'; -import type { Config } from '../definitions'; -import { fatal, isFatal } from '../errors'; -import { checkBundler, checkCocoaPods } from '../ios/common'; -import { updateIOS } from '../ios/update'; -import { logger } from '../log'; -import { allSerial } from '../util/promise'; +} from '../common.js'; +import type { CheckFunction } from '../common.js'; +import type { Config } from '../definitions.js'; +import { fatal, isFatal } from '../errors.js'; +import { checkBundler, checkCocoaPods } from '../ios/common.js'; +import { updateIOS } from '../ios/update.js'; +import { logger } from '../log.js'; +import { allSerial } from '../util/promise.js'; export async function updateCommand(config: Config, selectedPlatformName: string, deployment: boolean): Promise { if (selectedPlatformName && !(await isValidPlatform(selectedPlatformName))) { diff --git a/cli/src/telemetry.ts b/cli/src/telemetry.ts index 8e0d847ac..b0296b771 100644 --- a/cli/src/telemetry.ts +++ b/cli/src/telemetry.ts @@ -1,14 +1,14 @@ import { Command } from 'commander'; import Debug from 'debug'; -import c from './colors'; -import type { Config } from './definitions'; -import { send } from './ipc'; -import { output } from './log'; -import { readConfig, writeConfig } from './sysconfig'; -import type { SystemConfig } from './sysconfig'; -import { getCommandOutput } from './util/subprocess'; -import { isInteractive } from './util/term'; +import c from './colors.js'; +import type { Config } from './definitions.js'; +import { send } from './ipc.js'; +import { output } from './log.js'; +import { readConfig, writeConfig } from './sysconfig.js'; +import type { SystemConfig } from './sysconfig.js'; +import { getCommandOutput } from './util/subprocess.js'; +import { isInteractive } from './util/term.js'; const debug = Debug('capacitor:telemetry'); diff --git a/cli/src/util/cli.ts b/cli/src/util/cli.ts index 1cec6b31c..fdb86ba9a 100644 --- a/cli/src/util/cli.ts +++ b/cli/src/util/cli.ts @@ -1,7 +1,7 @@ import envPaths from 'env-paths'; -import { isFatal } from '../errors'; -import { logger } from '../log'; +import { isFatal } from '../errors.js'; +import { logger } from '../log.js'; export const ENV_PATHS = envPaths('capacitor', { suffix: '' }); diff --git a/cli/src/util/iosplugin.ts b/cli/src/util/iosplugin.ts index 8ce42b35e..40c21acb4 100644 --- a/cli/src/util/iosplugin.ts +++ b/cli/src/util/iosplugin.ts @@ -1,13 +1,13 @@ import { readFileSync, readJSONSync, writeJSONSync } from 'fs-extra'; import { resolve } from 'path'; -import { getCordovaPlugins } from '../cordova'; -import type { Config } from '../definitions'; -import type { Plugin } from '../plugin'; -import { getPluginType, PluginType } from '../plugin'; +import { getCordovaPlugins } from '../cordova.js'; +import type { Config } from '../definitions.js'; +import type { Plugin } from '../plugin.js'; +import { getPluginType, PluginType } from '../plugin.js'; -import type { ReaddirPOptions } from './fs'; -import { readdirp } from './fs'; +import type { ReaddirPOptions } from './fs.js'; +import { readdirp } from './fs.js'; export async function getPluginFiles(plugins: Plugin[]): Promise { let filenameList: string[] = []; diff --git a/cli/src/util/livereload.ts b/cli/src/util/livereload.ts index c3b15ee9f..389add10e 100644 --- a/cli/src/util/livereload.ts +++ b/cli/src/util/livereload.ts @@ -2,8 +2,8 @@ import { readJSONSync, writeJSONSync } from 'fs-extra'; import { networkInterfaces } from 'os'; import { join } from 'path'; -import type { Config } from '../definitions'; -import type { RunCommandOptions } from '../tasks/run'; +import type { Config } from '../definitions.js'; +import type { RunCommandOptions } from '../tasks/run.js'; class CapLiveReload { configJsonToRevertTo: { diff --git a/cli/src/util/native-run.ts b/cli/src/util/native-run.ts index e8a3ae4e1..51047b32b 100644 --- a/cli/src/util/native-run.ts +++ b/cli/src/util/native-run.ts @@ -1,13 +1,13 @@ import { dirname } from 'path'; -import c from '../colors'; -import type { PlatformTarget } from '../common'; -import { fatal } from '../errors'; -import { logger } from '../log'; +import c from '../colors.js'; +import type { PlatformTarget } from '../common.js'; +import { fatal } from '../errors.js'; +import { logger } from '../log.js'; -import { resolveNode } from './node'; -import { runCommand } from './subprocess'; -import type { RunCommandOptions } from './subprocess'; +import { resolveNode } from './node.js'; +import { runCommand } from './subprocess.js'; +import type { RunCommandOptions } from './subprocess.js'; export async function runNativeRun(args: readonly string[], options: RunCommandOptions = {}): Promise { const p = resolveNode(__dirname, dirname('native-run/package'), 'bin/native-run'); diff --git a/cli/src/util/promise.ts b/cli/src/util/promise.ts index f4566a792..e568f7fa5 100644 --- a/cli/src/util/promise.ts +++ b/cli/src/util/promise.ts @@ -23,7 +23,7 @@ export class LazyPromise extends Promise { this._executor = executor; } - then( + override then( onfulfilled?: PromiseOnFulfilled, onrejected?: PromiseOnRejected, ): Promise { @@ -31,7 +31,7 @@ export class LazyPromise extends Promise { return this._promise.then(onfulfilled, onrejected); } - catch(onrejected?: PromiseOnRejected): Promise { + override catch(onrejected?: PromiseOnRejected): Promise { this._promise = this._promise || new Promise(this._executor); return this._promise.catch(onrejected); } diff --git a/cli/src/util/spm.ts b/cli/src/util/spm.ts index b5dc1a8af..805ea138d 100644 --- a/cli/src/util/spm.ts +++ b/cli/src/util/spm.ts @@ -5,14 +5,14 @@ import type { PlistObject } from 'plist'; import { build, parse } from 'plist'; import { extract } from 'tar'; -import { getCapacitorPackageVersion } from '../common'; -import type { Config } from '../definitions'; -import { fatal } from '../errors'; -import { getMajoriOSVersion } from '../ios/common'; -import { logger } from '../log'; -import type { Plugin } from '../plugin'; -import { getPluginType, PluginType } from '../plugin'; -import { runCommand, isInstalled } from '../util/subprocess'; +import { getCapacitorPackageVersion } from '../common.js'; +import type { Config } from '../definitions.js'; +import { fatal } from '../errors.js'; +import { getMajoriOSVersion } from '../ios/common.js'; +import { logger } from '../log.js'; +import type { Plugin } from '../plugin.js'; +import { getPluginType, PluginType } from '../plugin.js'; +import { runCommand, isInstalled } from '../util/subprocess.js'; export interface SwiftPlugin { name: string; diff --git a/cli/src/util/term.ts b/cli/src/util/term.ts index dcbed63f5..dfd838bfc 100644 --- a/cli/src/util/term.ts +++ b/cli/src/util/term.ts @@ -1,7 +1,7 @@ import { TERMINAL_INFO } from '@ionic/utils-terminal'; -import c from '../colors'; -import { logger } from '../log'; +import c from '../colors.js'; +import { logger } from '../log.js'; // Given input variables to a command, make sure all are provided if the terminal // is not interactive (because we won't be able to prompt the user) diff --git a/cli/tsconfig.json b/cli/tsconfig.json index c2ad3d27f..182ca434c 100644 --- a/cli/tsconfig.json +++ b/cli/tsconfig.json @@ -7,9 +7,21 @@ "ES2021", "ES2022.Error" ], - "module": "commonjs", - "moduleResolution": "node", + "module": "node16", "noEmitHelpers": true, + "isolatedModules": true, + "exactOptionalPropertyTypes": false, + "noEmitHelpers": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": true, + "noImplicitOverride": true, + "noImplicitReturns": false, + "noPropertyAccessFromIndexSignature": false, + "noUnusedLocals": true, + "noUnusedParameters": false, + "noUncheckedIndexedAccess": false, + "verbatimModuleSyntax": true, + "sourceMap": true, "outDir": "dist", "pretty": true, "skipLibCheck": true, diff --git a/core/cordova.js b/core/cordova.cjs similarity index 100% rename from core/cordova.js rename to core/cordova.cjs diff --git a/core/package.json b/core/package.json index f2e887afa..a4ca49cba 100644 --- a/core/package.json +++ b/core/package.json @@ -16,14 +16,24 @@ "dist/", "types/", "cookies.md", - "cordova.js", + "cordova.cjs", "http.md", "system-bars.md" ], - "main": "dist/index.cjs.js", + "type": "module", + "main": "dist/index.cjs", "module": "dist/index.js", "types": "types/index.d.ts", - "unpkg": "dist/capacitor.js", + "unpkg": "dist/capacitor.cjs", + "exports": { + ".": { + "types": "types/index.d.ts", + "import": "dist/index.js", + "module-sync": "dist/index.js", + "default": "dist/index.cjs" + }, + "./cordova": "./cordova.cjs" + }, "scripts": { "build": "npm run clean && npm run docgen && npm run transpile && npm run rollup", "build:nativebridge": "tsc native-bridge.ts --target es2017 --moduleResolution node --outDir build && rollup --config rollup.bridge.config.js", diff --git a/core/rollup.config.js b/core/rollup.config.js index e7514d271..f98f64cf5 100644 --- a/core/rollup.config.js +++ b/core/rollup.config.js @@ -7,7 +7,7 @@ export default { input: 'build/index.js', output: [ { - file: 'dist/capacitor.js', + file: 'dist/capacitor.cjs', format: 'iife', name: 'capacitorExports', preferConst: true, @@ -23,7 +23,7 @@ export default { sourcemap: true, }, { - file: 'dist/index.cjs.js', + file: 'dist/index.cjs', format: 'cjs', banner, sourcemap: true, diff --git a/core/src/core-plugins.ts b/core/src/core-plugins.ts index 3dd91c21c..17b3436c4 100644 --- a/core/src/core-plugins.ts +++ b/core/src/core-plugins.ts @@ -1,6 +1,6 @@ -import type { Plugin } from './definitions'; -import { registerPlugin } from './global'; -import { WebPlugin } from './web-plugin'; +import type { Plugin } from './definitions.js'; +import { registerPlugin } from './global.js'; +import { WebPlugin } from './web-plugin.js'; /******** WEB VIEW PLUGIN ********/ export interface WebViewPlugin extends Plugin { diff --git a/core/src/definitions-internal.ts b/core/src/definitions-internal.ts index abe73d313..432ce9ce5 100644 --- a/core/src/definitions-internal.ts +++ b/core/src/definitions-internal.ts @@ -1,4 +1,4 @@ -import type { CapacitorGlobal, PluginCallback, PluginResultData, PluginResultError } from './definitions'; +import type { CapacitorGlobal, PluginCallback, PluginResultData, PluginResultError } from './definitions.js'; export interface PluginHeaderMethod { readonly name: string; diff --git a/core/src/definitions.ts b/core/src/definitions.ts index a8259607c..e84b30e10 100644 --- a/core/src/definitions.ts +++ b/core/src/definitions.ts @@ -1,4 +1,4 @@ -import type { CapacitorException } from './util'; +import type { CapacitorException } from './util.js'; export interface CapacitorGlobal { /** diff --git a/core/src/global.ts b/core/src/global.ts index 423bc76fb..11532bfbb 100644 --- a/core/src/global.ts +++ b/core/src/global.ts @@ -1,4 +1,4 @@ -import { initCapacitorGlobal } from './runtime'; +import { initCapacitorGlobal } from './runtime.js'; export const Capacitor = /*#__PURE__*/ initCapacitorGlobal( typeof globalThis !== 'undefined' diff --git a/core/src/index.ts b/core/src/index.ts index 5afa512cf..d6d0ef9d1 100644 --- a/core/src/index.ts +++ b/core/src/index.ts @@ -8,25 +8,25 @@ export type { PluginListenerHandle, PluginResultData, PluginResultError, -} from './definitions'; +} from './definitions.js'; // Global APIs -export { Capacitor, registerPlugin } from './global'; +export { Capacitor, registerPlugin } from './global.js'; // Base WebPlugin -export { WebPlugin, ListenerCallback } from './web-plugin'; +export { WebPlugin, type ListenerCallback } from './web-plugin.js'; // Core Plugins APIs export { SystemBars, SystemBarType, SystemBarsStyle, - SystemBarsAnimation, + type SystemBarsAnimation, CapacitorCookies, CapacitorHttp, WebView, buildRequestInit, -} from './core-plugins'; +} from './core-plugins.js'; // Core Plugin definitions export type { @@ -42,7 +42,7 @@ export type { WebViewPlugin, SystemBarsVisibilityOptions, SystemBarsStyleOptions, -} from './core-plugins'; +} from './core-plugins.js'; // Constants -export { CapacitorException, ExceptionCode } from './util'; +export { CapacitorException, ExceptionCode } from './util.js'; diff --git a/core/src/runtime.ts b/core/src/runtime.ts index 2b025f245..bdfaaf2d9 100644 --- a/core/src/runtime.ts +++ b/core/src/runtime.ts @@ -1,11 +1,11 @@ -import type { CapacitorGlobal, PluginImplementations } from './definitions'; +import type { CapacitorGlobal, PluginImplementations } from './definitions.js'; import type { CapacitorCustomPlatformInstance, CapacitorInstance, PluginHeader, WindowCapacitor, -} from './definitions-internal'; -import { CapacitorException, getPlatformId, ExceptionCode } from './util'; +} from './definitions-internal.js'; +import { CapacitorException, getPlatformId, ExceptionCode } from './util.js'; export interface RegisteredPlugin { readonly name: string; @@ -89,12 +89,11 @@ export const createCapacitor = (win: WindowCapacitor): CapacitorInstance => { } } else if (impl) { return impl[prop]?.bind(impl); - } else { - throw new CapacitorException( - `"${pluginName}" plugin is not implemented on ${platform}`, - ExceptionCode.Unimplemented, - ); } + throw new CapacitorException( + `"${pluginName}" plugin is not implemented on ${platform}`, + ExceptionCode.Unimplemented, + ); }; const createPluginMethodWrapper = (prop: PropertyKey) => { diff --git a/core/src/tests/bridge.spec.ts b/core/src/tests/bridge.spec.ts index daf7f0328..01e8a03d9 100644 --- a/core/src/tests/bridge.spec.ts +++ b/core/src/tests/bridge.spec.ts @@ -2,9 +2,9 @@ * @jest-environment jsdom */ -import { initBridge } from '../../native-bridge'; -import type { CapacitorInstance, PluginResult, WindowCapacitor } from '../definitions-internal'; -import { createCapacitor } from '../runtime'; +import { initBridge } from '../../native-bridge.js'; +import type { CapacitorInstance, PluginResult, WindowCapacitor } from '../definitions-internal.js'; +import { createCapacitor } from '../runtime.js'; describe('bridge', () => { let win: WindowCapacitor; diff --git a/core/src/tests/convert-file-src.spec.ts b/core/src/tests/convert-file-src.spec.ts index e2a57aff8..ce168bfda 100644 --- a/core/src/tests/convert-file-src.spec.ts +++ b/core/src/tests/convert-file-src.spec.ts @@ -1,6 +1,6 @@ -import { initBridge } from '../../native-bridge'; -import type { CapacitorInstance, WindowCapacitor } from '../definitions-internal'; -import { createCapacitor } from '../runtime'; +import { initBridge } from '../../native-bridge.js'; +import type { CapacitorInstance, WindowCapacitor } from '../definitions-internal.js'; +import { createCapacitor } from '../runtime.js'; describe('convertFileSrc', () => { let win: WindowCapacitor; diff --git a/core/src/tests/events.spec.ts b/core/src/tests/events.spec.ts index 3486c1ab7..7877ab02b 100644 --- a/core/src/tests/events.spec.ts +++ b/core/src/tests/events.spec.ts @@ -1,6 +1,6 @@ -import { initBridge } from '../../native-bridge'; -import type { CapacitorInstance, WindowCapacitor } from '../definitions-internal'; -import { createCapacitor } from '../runtime'; +import { initBridge } from '../../native-bridge.js'; +import type { CapacitorInstance, WindowCapacitor } from '../definitions-internal.js'; +import { createCapacitor } from '../runtime.js'; describe('plugin', () => { let win: WindowCapacitor; diff --git a/core/src/tests/plugin.spec.ts b/core/src/tests/plugin.spec.ts index 570134a02..e66541261 100644 --- a/core/src/tests/plugin.spec.ts +++ b/core/src/tests/plugin.spec.ts @@ -2,12 +2,12 @@ * @jest-environment jsdom */ -import { initBridge } from '../../native-bridge'; -import type { CapacitorGlobal, Plugin } from '../definitions'; -import type { WindowCapacitor, CapacitorInstance } from '../definitions-internal'; -import { initCapacitorGlobal } from '../runtime'; -import { ExceptionCode } from '../util'; -import { WebPlugin } from '../web-plugin'; +import { initBridge } from '../../native-bridge.js'; +import type { CapacitorGlobal, Plugin } from '../definitions.js'; +import type { WindowCapacitor, CapacitorInstance } from '../definitions-internal.js'; +import { initCapacitorGlobal } from '../runtime.js'; +import { ExceptionCode } from '../util.js'; +import { WebPlugin } from '../web-plugin.js'; describe('plugin', () => { let win: WindowCapacitor; diff --git a/core/src/tests/runtime.spec.ts b/core/src/tests/runtime.spec.ts index c39843b8d..c1305620f 100644 --- a/core/src/tests/runtime.spec.ts +++ b/core/src/tests/runtime.spec.ts @@ -1,6 +1,6 @@ -import { initBridge } from '../../native-bridge'; -import type { CapacitorInstance, WindowCapacitor } from '../definitions-internal'; -import { createCapacitor } from '../runtime'; +import { initBridge } from '../../native-bridge.js'; +import type { CapacitorInstance, WindowCapacitor } from '../definitions-internal.js'; +import { createCapacitor } from '../runtime.js'; describe('runtime', () => { let win: WindowCapacitor; diff --git a/core/src/tests/web-plugin.spec.ts b/core/src/tests/web-plugin.spec.ts index cb4a65ba0..fcac28e15 100644 --- a/core/src/tests/web-plugin.spec.ts +++ b/core/src/tests/web-plugin.spec.ts @@ -2,10 +2,10 @@ * @jest-environment jsdom */ -import { initBridge } from '../../native-bridge'; -import type { WindowCapacitor } from '../definitions-internal'; -import { createCapacitor } from '../runtime'; -import { WebPlugin } from '../web-plugin'; +import { initBridge } from '../../native-bridge.js'; +import type { WindowCapacitor } from '../definitions-internal.js'; +import { createCapacitor } from '../runtime.js'; +import { WebPlugin } from '../web-plugin.js'; const win = {}; initBridge(win); diff --git a/core/src/util.ts b/core/src/util.ts index 61ba7a61d..a410d033d 100644 --- a/core/src/util.ts +++ b/core/src/util.ts @@ -1,4 +1,4 @@ -import type { WindowCapacitor } from './definitions-internal'; +import type { WindowCapacitor } from './definitions-internal.js'; export enum ExceptionCode { /** @@ -25,7 +25,7 @@ export interface ExceptionData { export class CapacitorException extends Error { constructor( - readonly message: string, + override readonly message: string, readonly code?: ExceptionCode, readonly data?: ExceptionData, ) { diff --git a/core/src/web-plugin.ts b/core/src/web-plugin.ts index fbc8fcdd5..35c892019 100644 --- a/core/src/web-plugin.ts +++ b/core/src/web-plugin.ts @@ -1,7 +1,7 @@ -import type { PluginListenerHandle, Plugin } from './definitions'; -import { Capacitor } from './global'; -import { ExceptionCode } from './util'; -import type { CapacitorException } from './util'; +import type { PluginListenerHandle, Plugin } from './definitions.js'; +import { Capacitor } from './global.js'; +import { ExceptionCode } from './util.js'; +import type { CapacitorException } from './util.js'; /** * Base class web plugins should extend. diff --git a/core/tsconfig.json b/core/tsconfig.json index ef5faf323..d1ff4e071 100644 --- a/core/tsconfig.json +++ b/core/tsconfig.json @@ -1,15 +1,24 @@ { "compilerOptions": { "declaration": true, + "declarationMap": true, "esModuleInterop": true, "importHelpers": true, + "isolatedModules": true, "lib": ["dom", "dom.iterable"], - "module": "es2015", - "moduleResolution": "node", + "module": "node16", + "exactOptionalPropertyTypes": false, "noEmitHelpers": true, + "noFallthroughCasesInSwitch": true, "noImplicitAny": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noPropertyAccessFromIndexSignature": true, + "noUncheckedIndexedAccess": false, "noUnusedLocals": true, "noUnusedParameters": true, + "strict": false, + "verbatimModuleSyntax": true, "outDir": "build", "declarationDir": "types", "skipLibCheck": true,