@nativescript/vite 0.0.1 → 1.0.0
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/LICENSE +19 -0
- package/README.md +81 -0
- package/{dist/configuration → configuration}/angular.d.ts +1 -1
- package/configuration/angular.js +371 -0
- package/configuration/angular.js.map +1 -0
- package/configuration/base.d.ts +5 -0
- package/configuration/base.js +491 -0
- package/configuration/base.js.map +1 -0
- package/configuration/javascript.d.ts +4 -0
- package/configuration/javascript.js +152 -0
- package/configuration/javascript.js.map +1 -0
- package/{dist/configuration → configuration}/react.d.ts +1 -1
- package/{dist/configuration → configuration}/react.js +18 -17
- package/configuration/react.js.map +1 -0
- package/{dist/configuration → configuration}/solid.d.ts +1 -1
- package/{dist/configuration → configuration}/solid.js +17 -16
- package/configuration/solid.js.map +1 -0
- package/configuration/typescript.d.ts +4 -0
- package/configuration/typescript.js +176 -0
- package/configuration/typescript.js.map +1 -0
- package/{dist/configuration → configuration}/vue.d.ts +1 -1
- package/configuration/vue.js +163 -0
- package/configuration/vue.js.map +1 -0
- package/helpers/angular/angular-linker.d.ts +13 -0
- package/helpers/angular/angular-linker.js +189 -0
- package/helpers/angular/angular-linker.js.map +1 -0
- package/helpers/angular/shared-linker.d.ts +4 -0
- package/helpers/angular/shared-linker.js +39 -0
- package/helpers/angular/shared-linker.js.map +1 -0
- package/helpers/angular/util.d.ts +1 -0
- package/helpers/angular/util.js +67 -0
- package/helpers/angular/util.js.map +1 -0
- package/helpers/cli-flags.d.ts +1 -0
- package/helpers/cli-flags.js +15 -0
- package/helpers/cli-flags.js.map +1 -0
- package/{dist/helpers → helpers}/commonjs-plugins.js +14 -13
- package/helpers/commonjs-plugins.js.map +1 -0
- package/{dist/helpers → helpers}/config-as-json.d.ts +1 -1
- package/{dist/helpers → helpers}/config-as-json.js +7 -6
- package/helpers/config-as-json.js.map +1 -0
- package/helpers/css-platform-plugin.d.ts +10 -0
- package/helpers/css-platform-plugin.js +76 -0
- package/helpers/css-platform-plugin.js.map +1 -0
- package/helpers/css-tree.js +22 -0
- package/helpers/css-tree.js.map +1 -0
- package/{dist/helpers → helpers}/dynamic-import-plugin.js +8 -7
- package/helpers/dynamic-import-plugin.js.map +1 -0
- package/helpers/esbuild-platform-resolver.d.ts +14 -0
- package/helpers/esbuild-platform-resolver.js +93 -0
- package/helpers/esbuild-platform-resolver.js.map +1 -0
- package/helpers/external-configs.d.ts +6 -0
- package/helpers/external-configs.js +34 -0
- package/helpers/external-configs.js.map +1 -0
- package/{dist/helpers → helpers}/flavor.d.ts +1 -0
- package/helpers/flavor.js +51 -0
- package/helpers/flavor.js.map +1 -0
- package/helpers/global-defines.d.ts +25 -0
- package/helpers/global-defines.js +29 -0
- package/helpers/global-defines.js.map +1 -0
- package/helpers/init.d.ts +1 -0
- package/helpers/init.js +119 -0
- package/helpers/init.js.map +1 -0
- package/helpers/logging.d.ts +13 -0
- package/helpers/logging.js +115 -0
- package/helpers/logging.js.map +1 -0
- package/helpers/main-entry.d.ts +10 -0
- package/helpers/main-entry.js +223 -0
- package/helpers/main-entry.js.map +1 -0
- package/{dist/helpers → helpers}/module-resolution.js +4 -3
- package/helpers/module-resolution.js.map +1 -0
- package/helpers/module-runner-patch.d.ts +3 -0
- package/helpers/module-runner-patch.js +63 -0
- package/helpers/module-runner-patch.js.map +1 -0
- package/helpers/nativeclass-transform.d.ts +7 -0
- package/helpers/nativeclass-transform.js +158 -0
- package/helpers/nativeclass-transform.js.map +1 -0
- package/helpers/nativeclass-transformer-plugin.d.ts +5 -0
- package/helpers/nativeclass-transformer-plugin.js +23 -0
- package/helpers/nativeclass-transformer-plugin.js.map +1 -0
- package/{dist/helpers → helpers}/nativescript-package-resolver.js +18 -17
- package/helpers/nativescript-package-resolver.js.map +1 -0
- package/helpers/ns-cli-plugins.d.ts +14 -0
- package/helpers/ns-cli-plugins.js +165 -0
- package/helpers/ns-cli-plugins.js.map +1 -0
- package/helpers/package-platform-aliases.d.ts +10 -0
- package/{dist/helpers → helpers}/package-platform-aliases.js +19 -23
- package/helpers/package-platform-aliases.js.map +1 -0
- package/helpers/postcss-platform-config.d.ts +13 -0
- package/helpers/postcss-platform-config.js +97 -0
- package/helpers/postcss-platform-config.js.map +1 -0
- package/helpers/prelink-angular.d.ts +2 -0
- package/helpers/prelink-angular.js +117 -0
- package/helpers/prelink-angular.js.map +1 -0
- package/helpers/preserve-imports.d.ts +2 -0
- package/helpers/preserve-imports.js +38 -0
- package/helpers/preserve-imports.js.map +1 -0
- package/{dist/helpers → helpers}/project.js +2 -4
- package/helpers/project.js.map +1 -0
- package/helpers/resolver.d.ts +4 -0
- package/{dist/helpers → helpers}/resolver.js +7 -6
- package/helpers/resolver.js.map +1 -0
- package/helpers/theme-core-plugins.d.ts +14 -0
- package/helpers/theme-core-plugins.js +121 -0
- package/helpers/theme-core-plugins.js.map +1 -0
- package/helpers/ts-config-paths.d.ts +10 -0
- package/{dist/helpers → helpers}/ts-config-paths.js +73 -72
- package/helpers/ts-config-paths.js.map +1 -0
- package/{dist/helpers → helpers}/utils.d.ts +10 -0
- package/helpers/utils.js +143 -0
- package/helpers/utils.js.map +1 -0
- package/{dist/helpers → helpers}/workers.js +15 -16
- package/helpers/workers.js.map +1 -0
- package/hmr/client/css-handler.d.ts +4 -0
- package/hmr/client/css-handler.js +78 -0
- package/hmr/client/css-handler.js.map +1 -0
- package/hmr/client/index.d.ts +13 -0
- package/hmr/client/index.js +1723 -0
- package/hmr/client/index.js.map +1 -0
- package/hmr/client/utils.d.ts +38 -0
- package/hmr/client/utils.js +426 -0
- package/hmr/client/utils.js.map +1 -0
- package/hmr/entry-runtime.d.ts +8 -0
- package/hmr/entry-runtime.js +135 -0
- package/hmr/entry-runtime.js.map +1 -0
- package/hmr/frameworks/angular/client/index.d.ts +8 -0
- package/hmr/frameworks/angular/client/index.js +59 -0
- package/hmr/frameworks/angular/client/index.js.map +1 -0
- package/hmr/frameworks/angular/server/linker.d.ts +1 -0
- package/hmr/frameworks/angular/server/linker.js +101 -0
- package/hmr/frameworks/angular/server/linker.js.map +1 -0
- package/hmr/frameworks/angular/server/strategy.d.ts +2 -0
- package/hmr/frameworks/angular/server/strategy.js +187 -0
- package/hmr/frameworks/angular/server/strategy.js.map +1 -0
- package/hmr/frameworks/solid/server/strategy.d.ts +2 -0
- package/hmr/frameworks/solid/server/strategy.js +56 -0
- package/hmr/frameworks/solid/server/strategy.js.map +1 -0
- package/hmr/frameworks/typescript/server/strategy.d.ts +2 -0
- package/hmr/frameworks/typescript/server/strategy.js +125 -0
- package/hmr/frameworks/typescript/server/strategy.js.map +1 -0
- package/hmr/frameworks/vue/client/index.d.ts +22 -0
- package/hmr/frameworks/vue/client/index.js +1541 -0
- package/hmr/frameworks/vue/client/index.js.map +1 -0
- package/hmr/frameworks/vue/server/compiler.d.ts +11 -0
- package/hmr/frameworks/vue/server/compiler.js +26 -0
- package/hmr/frameworks/vue/server/compiler.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-transforms.d.ts +14 -0
- package/hmr/frameworks/vue/server/sfc-transforms.js +282 -0
- package/hmr/frameworks/vue/server/sfc-transforms.js.map +1 -0
- package/hmr/frameworks/vue/server/strategy.d.ts +2 -0
- package/hmr/frameworks/vue/server/strategy.js +272 -0
- package/hmr/frameworks/vue/server/strategy.js.map +1 -0
- package/hmr/helpers/ast-extract.d.ts +6 -0
- package/hmr/helpers/ast-extract.js +72 -0
- package/hmr/helpers/ast-extract.js.map +1 -0
- package/hmr/helpers/ast-normalizer.d.ts +7 -0
- package/hmr/helpers/ast-normalizer.js +772 -0
- package/hmr/helpers/ast-normalizer.js.map +1 -0
- package/hmr/helpers/babel.d.ts +3 -0
- package/hmr/helpers/babel.js +17 -0
- package/hmr/helpers/babel.js.map +1 -0
- package/hmr/helpers/sanitize.d.ts +6 -0
- package/hmr/helpers/sanitize.js +55 -0
- package/hmr/helpers/sanitize.js.map +1 -0
- package/hmr/helpers/vendor-rewrite.d.ts +1 -0
- package/hmr/helpers/vendor-rewrite.js +35 -0
- package/hmr/helpers/vendor-rewrite.js.map +1 -0
- package/hmr/server/compiler.d.ts +2 -0
- package/hmr/server/compiler.js +75 -0
- package/hmr/server/compiler.js.map +1 -0
- package/hmr/server/constants.d.ts +14 -0
- package/hmr/server/constants.js +23 -0
- package/hmr/server/constants.js.map +1 -0
- package/hmr/server/core-sanitize.d.ts +32 -0
- package/hmr/server/core-sanitize.js +134 -0
- package/hmr/server/core-sanitize.js.map +1 -0
- package/hmr/server/framework-strategy.d.ts +68 -0
- package/hmr/server/framework-strategy.js +2 -0
- package/hmr/server/framework-strategy.js.map +1 -0
- package/hmr/server/index.d.ts +5 -0
- package/hmr/server/index.js +23 -0
- package/hmr/server/index.js.map +1 -0
- package/hmr/server/vite-plugin.d.ts +5 -0
- package/hmr/server/vite-plugin.js +44 -0
- package/hmr/server/vite-plugin.js.map +1 -0
- package/hmr/server/websocket.d.ts +21 -0
- package/hmr/server/websocket.js +5619 -0
- package/hmr/server/websocket.js.map +1 -0
- package/hmr/shared/runtime/http-only-boot.d.ts +1 -0
- package/hmr/shared/runtime/http-only-boot.js +107 -0
- package/hmr/shared/runtime/http-only-boot.js.map +1 -0
- package/hmr/shared/runtime/root-placeholder.d.ts +1 -0
- package/hmr/shared/runtime/root-placeholder.js +142 -0
- package/hmr/shared/runtime/root-placeholder.js.map +1 -0
- package/hmr/shared/runtime/vendor-bootstrap.d.ts +1 -0
- package/hmr/shared/runtime/vendor-bootstrap.js +134 -0
- package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -0
- package/hmr/shared/vendor/manifest-loader.d.ts +9 -0
- package/hmr/shared/vendor/manifest-loader.js +38 -0
- package/hmr/shared/vendor/manifest-loader.js.map +1 -0
- package/hmr/shared/vendor/manifest.d.ts +35 -0
- package/hmr/shared/vendor/manifest.js +811 -0
- package/hmr/shared/vendor/manifest.js.map +1 -0
- package/hmr/shared/vendor/registry.d.ts +9 -0
- package/hmr/shared/vendor/registry.js +62 -0
- package/hmr/shared/vendor/registry.js.map +1 -0
- package/hmr/vendor-bootstrap.d.ts +3 -0
- package/hmr/vendor-bootstrap.js +32 -0
- package/hmr/vendor-bootstrap.js.map +1 -0
- package/{dist/index.d.ts → index.d.ts} +2 -0
- package/index.js +19 -0
- package/index.js.map +1 -0
- package/package.json +42 -30
- package/{dist/polyfills → polyfills}/mdn-data-at-rules.js +1 -0
- package/polyfills/mdn-data-at-rules.js.map +1 -0
- package/{dist/polyfills → polyfills}/mdn-data-properties.js +1 -0
- package/polyfills/mdn-data-properties.js.map +1 -0
- package/{dist/polyfills → polyfills}/mdn-data-syntaxes.js +1 -0
- package/polyfills/mdn-data-syntaxes.js.map +1 -0
- package/{dist/polyfills → polyfills}/module.js +1 -0
- package/polyfills/module.js.map +1 -0
- package/runtime/core-aliases-early.d.ts +1 -0
- package/runtime/core-aliases-early.js +334 -0
- package/runtime/core-aliases-early.js.map +1 -0
- package/shims/angular-animations-stub.d.ts +68 -0
- package/shims/angular-animations-stub.js +140 -0
- package/shims/angular-animations-stub.js.map +1 -0
- package/shims/node-module.d.ts +5 -0
- package/shims/node-module.js +13 -0
- package/shims/node-module.js.map +1 -0
- package/{dist/shims → shims}/react-reconciler-constants.js +2 -1
- package/shims/react-reconciler-constants.js.map +1 -0
- package/{dist/shims → shims}/react-reconciler.js +1 -0
- package/shims/react-reconciler.js.map +1 -0
- package/{dist/shims → shims}/set-value.js +5 -1
- package/shims/set-value.js.map +1 -0
- package/transformers/NativeClass/index.d.ts +2 -0
- package/transformers/NativeClass/index.js +222 -0
- package/transformers/NativeClass/index.js.map +1 -0
- package/dist/configuration/angular.js +0 -30
- package/dist/configuration/base.d.ts +0 -13
- package/dist/configuration/base.js +0 -228
- package/dist/configuration/old-without-merge-base.d.ts +0 -13
- package/dist/configuration/old-without-merge-base.js +0 -249
- package/dist/configuration/vue.js +0 -45
- package/dist/helpers/css-tree.js +0 -21
- package/dist/helpers/flavor.js +0 -40
- package/dist/helpers/global-defines.d.ts +0 -14
- package/dist/helpers/global-defines.js +0 -18
- package/dist/helpers/main-entry.d.ts +0 -5
- package/dist/helpers/main-entry.js +0 -75
- package/dist/helpers/ns-cli-plugins.d.ts +0 -17
- package/dist/helpers/ns-cli-plugins.js +0 -128
- package/dist/helpers/package-platform-aliases.d.ts +0 -4
- package/dist/helpers/resolver.d.ts +0 -4
- package/dist/helpers/ts-config-paths.d.ts +0 -4
- package/dist/helpers/utils.js +0 -94
- package/dist/hmr/hmr-angular.d.ts +0 -1
- package/dist/hmr/hmr-angular.js +0 -34
- package/dist/hmr/hmr-bridge.d.ts +0 -18
- package/dist/hmr/hmr-bridge.js +0 -154
- package/dist/hmr/hmr-client.d.ts +0 -5
- package/dist/hmr/hmr-client.js +0 -93
- package/dist/hmr/hmr-server.d.ts +0 -20
- package/dist/hmr/hmr-server.js +0 -179
- package/dist/index.js +0 -5
- package/dist/transformers/NativeClass/index.d.ts +0 -5
- package/dist/transformers/NativeClass/index.js +0 -46
- /package/{dist/helpers → helpers}/commonjs-plugins.d.ts +0 -0
- /package/{dist/helpers → helpers}/css-tree.d.ts +0 -0
- /package/{dist/helpers → helpers}/dynamic-import-plugin.d.ts +0 -0
- /package/{dist/helpers → helpers}/module-resolution.d.ts +0 -0
- /package/{dist/helpers → helpers}/nativescript-package-resolver.d.ts +0 -0
- /package/{dist/helpers → helpers}/project.d.ts +0 -0
- /package/{dist/helpers → helpers}/workers.d.ts +0 -0
- /package/{dist/polyfills → polyfills}/mdn-data-at-rules.d.ts +0 -0
- /package/{dist/polyfills → polyfills}/mdn-data-properties.d.ts +0 -0
- /package/{dist/polyfills → polyfills}/mdn-data-syntaxes.d.ts +0 -0
- /package/{dist/polyfills → polyfills}/module.d.ts +0 -0
- /package/{dist/shims → shims}/react-reconciler-constants.d.ts +0 -0
- /package/{dist/shims → shims}/react-reconciler.d.ts +0 -0
- /package/{dist/shims → shims}/set-value.d.ts +0 -0
|
@@ -0,0 +1,491 @@
|
|
|
1
|
+
import { mergeConfig } from 'vite';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { existsSync, readFileSync } from 'fs';
|
|
4
|
+
import { createRequire } from 'node:module';
|
|
5
|
+
import { pathToFileURL } from 'node:url';
|
|
6
|
+
import commonjs from '@rollup/plugin-commonjs';
|
|
7
|
+
import replace from '@rollup/plugin-replace';
|
|
8
|
+
import { viteStaticCopy } from 'vite-plugin-static-copy';
|
|
9
|
+
import ts from 'typescript';
|
|
10
|
+
import { getCliFlags } from '../helpers/cli-flags.js';
|
|
11
|
+
import NativeScriptPlugin from '../helpers/resolver.js';
|
|
12
|
+
import nsConfigAsJsonPlugin from '../helpers/config-as-json.js';
|
|
13
|
+
import { getProjectRootPath } from '../helpers/project.js';
|
|
14
|
+
import { aliasCssTree } from '../helpers/css-tree.js';
|
|
15
|
+
import { packagePlatformAliases } from '../helpers/package-platform-aliases.js';
|
|
16
|
+
import { getGlobalDefines } from '../helpers/global-defines.js';
|
|
17
|
+
import { getWorkerPlugins, workerUrlPlugin } from '../helpers/workers.js';
|
|
18
|
+
import { getTsConfigData } from '../helpers/ts-config-paths.js';
|
|
19
|
+
import { commonjsPlugins } from '../helpers/commonjs-plugins.js';
|
|
20
|
+
import { nativescriptPackageResolver } from '../helpers/nativescript-package-resolver.js';
|
|
21
|
+
import { cliPlugin } from '../helpers/ns-cli-plugins.js';
|
|
22
|
+
import { dynamicImportPlugin } from '../helpers/dynamic-import-plugin.js';
|
|
23
|
+
import { mainEntryPlugin } from '../helpers/main-entry.js';
|
|
24
|
+
import { getProjectFlavor } from '../helpers/flavor.js';
|
|
25
|
+
import { preserveImportsPlugin } from '../helpers/preserve-imports.js';
|
|
26
|
+
import { esbuildPlatformResolver } from '../helpers/esbuild-platform-resolver.js';
|
|
27
|
+
import { vendorManifestPlugin } from '../hmr/shared/vendor/manifest.js';
|
|
28
|
+
import { resolveVerboseFlag, createFilteredViteLogger } from '../helpers/logging.js';
|
|
29
|
+
import { externalConfigMerges, applyExternalConfigs } from '../helpers/external-configs.js';
|
|
30
|
+
import { getHMRPlugins } from '../hmr/server/index.js';
|
|
31
|
+
import { findPackageInNodeModules } from '../helpers/module-resolution.js';
|
|
32
|
+
import { createPlatformCssPlugin } from '../helpers/css-platform-plugin.js';
|
|
33
|
+
import { createNativeClassTransformerPlugin } from '../helpers/nativeclass-transformer-plugin.js';
|
|
34
|
+
import { getThemeCoreGenericAliases, createEnsureHoistedThemeLinkPlugin, createThemeCoreCssFallbackPlugin } from '../helpers/theme-core-plugins.js';
|
|
35
|
+
import { createPostCssConfig } from '../helpers/postcss-platform-config.js';
|
|
36
|
+
import { getProjectAppPath, getProjectAppRelativePath } from '../helpers/utils.js';
|
|
37
|
+
// Load HMR plugins lazily to avoid compiling dev-only sources during library build
|
|
38
|
+
// This prevents TypeScript from traversing the heavy HMR implementation graph when not needed
|
|
39
|
+
// function getHMRPluginsSafe(opts: {
|
|
40
|
+
// platform: string;
|
|
41
|
+
// flavor: string;
|
|
42
|
+
// verbose: boolean;
|
|
43
|
+
// }): any[] {
|
|
44
|
+
// try {
|
|
45
|
+
// // Use eval("require") so TypeScript doesn't statically resolve the TS sources
|
|
46
|
+
// // This prevents the compiler from traversing dev-only HMR code during library builds
|
|
47
|
+
// const req = eval("require") as NodeRequire;
|
|
48
|
+
// const mod = req("../hmr/server/index.js");
|
|
49
|
+
// if (mod && typeof mod.getHMRPlugins === "function") {
|
|
50
|
+
// return mod.getHMRPlugins(opts) || [];
|
|
51
|
+
// }
|
|
52
|
+
// } catch {
|
|
53
|
+
// /* ignore: HMR not available or excluded */
|
|
54
|
+
// }
|
|
55
|
+
// return [];
|
|
56
|
+
// }
|
|
57
|
+
const require = createRequire(import.meta.url);
|
|
58
|
+
// Optional PostCSS import plugin (only used if available)
|
|
59
|
+
// Try to load postcss-import to control CSS @import resolution simply
|
|
60
|
+
let postcssImport = null;
|
|
61
|
+
try {
|
|
62
|
+
// use CommonJS require to load from workspace
|
|
63
|
+
postcssImport = require('postcss-import');
|
|
64
|
+
}
|
|
65
|
+
catch { }
|
|
66
|
+
const distOutputFolder = process.env.NS_VITE_DIST_DIR || '.ns-vite-build';
|
|
67
|
+
// HMR dev server options with socket
|
|
68
|
+
const useHttps = process.env.NS_HTTPS === '1' || process.env.NS_HTTPS === 'true';
|
|
69
|
+
const projectRoot = getProjectRootPath();
|
|
70
|
+
const appSourceDir = getProjectAppPath();
|
|
71
|
+
const resolveFromAppRoot = (subPath) => path.resolve(projectRoot, getProjectAppRelativePath(subPath));
|
|
72
|
+
const appGlobPattern = `${appSourceDir}/**`;
|
|
73
|
+
// Resolve @nativescript/core root.
|
|
74
|
+
// Prefer monorepo source (packages/core) when present to match webpack5 behavior,
|
|
75
|
+
// else fall back to node_modules resolution.
|
|
76
|
+
let NS_CORE_ROOT = '';
|
|
77
|
+
const workspaceCorePkg = path.resolve(projectRoot, '../../packages/core/package.json');
|
|
78
|
+
if (existsSync(workspaceCorePkg)) {
|
|
79
|
+
NS_CORE_ROOT = path.dirname(workspaceCorePkg).replace(/\\/g, '/');
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
const corePkg = require.resolve('@nativescript/core/package.json', { paths: [projectRoot] });
|
|
83
|
+
NS_CORE_ROOT = path.dirname(corePkg).replace(/\\/g, '/');
|
|
84
|
+
}
|
|
85
|
+
// Attempt to resolve hoisted workspace dependency roots from the app's project root.
|
|
86
|
+
// This enables monorepo usage where dependencies are declared at the workspace root
|
|
87
|
+
// but consumed within an app package without its own node_modules copy.
|
|
88
|
+
let THEME_CORE_ROOT;
|
|
89
|
+
const themePkgDir = findPackageInNodeModules('nativescript-theme-core', projectRoot);
|
|
90
|
+
if (themePkgDir && existsSync(themePkgDir)) {
|
|
91
|
+
THEME_CORE_ROOT = themePkgDir.replace(/\\/g, '/');
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Plugins can define nativescript.vite.mjs
|
|
95
|
+
* which export Vite configs to merge into the base config.
|
|
96
|
+
*/
|
|
97
|
+
applyExternalConfigs();
|
|
98
|
+
export const baseConfig = ({ mode, flavor }) => {
|
|
99
|
+
const targetMode = mode === 'development' ? 'development' : 'production';
|
|
100
|
+
const cliFlags = getCliFlags();
|
|
101
|
+
const verbose = resolveVerboseFlag({ env: process.env, cliFlags });
|
|
102
|
+
// console.log("cliFlags:", cliFlags);
|
|
103
|
+
const isDevMode = targetMode === 'development';
|
|
104
|
+
const debug = !!process.env.DEBUG || isDevMode;
|
|
105
|
+
const hmrActive = isDevMode && !!cliFlags.hmr;
|
|
106
|
+
let platform = cliFlags.platform;
|
|
107
|
+
if (cliFlags.android) {
|
|
108
|
+
platform = 'android';
|
|
109
|
+
}
|
|
110
|
+
else if (cliFlags.ios) {
|
|
111
|
+
platform = 'ios';
|
|
112
|
+
}
|
|
113
|
+
else if (cliFlags.visionos) {
|
|
114
|
+
platform = 'visionos';
|
|
115
|
+
}
|
|
116
|
+
if (verbose) {
|
|
117
|
+
console.log('--------------');
|
|
118
|
+
// console.log("Vite config mode:", mode);
|
|
119
|
+
console.log('Platform:', platform);
|
|
120
|
+
console.log('Mode:', targetMode);
|
|
121
|
+
console.log('HMR active:', hmrActive);
|
|
122
|
+
console.log('--------------');
|
|
123
|
+
}
|
|
124
|
+
flavor = flavor || getProjectFlavor();
|
|
125
|
+
if (verbose) {
|
|
126
|
+
console.log(`Building for ${flavor}.`);
|
|
127
|
+
}
|
|
128
|
+
// Filtered logger to suppress noisy warnings
|
|
129
|
+
const filteredLogger = createFilteredViteLogger();
|
|
130
|
+
// Create TypeScript aliases with platform support
|
|
131
|
+
const tsConfig = getTsConfigData({ platform, verbose });
|
|
132
|
+
// Common resolve configuration for both main and worker builds
|
|
133
|
+
// Build platform-aware extension preference order and exclude the opposite platform
|
|
134
|
+
const platformExtensions = (() => {
|
|
135
|
+
const base = ['.tsx', '.jsx', '.ts', '.js'];
|
|
136
|
+
const exts = [];
|
|
137
|
+
if (platform === 'android') {
|
|
138
|
+
exts.push('.android.tsx', '.tsx', '.android.jsx', '.jsx', '.android.ts', '.ts', '.android.js', '.js');
|
|
139
|
+
}
|
|
140
|
+
else if (platform === 'ios' || platform === 'visionos') {
|
|
141
|
+
// Treat visionOS like iOS for file resolution
|
|
142
|
+
exts.push('.ios.tsx', '.tsx', '.ios.jsx', '.jsx', '.ios.ts', '.ts', '.ios.js', '.js');
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
// Fallback: no platform-specific preference
|
|
146
|
+
exts.push(...base);
|
|
147
|
+
}
|
|
148
|
+
// Always allow these last
|
|
149
|
+
exts.push('.mjs', '.json');
|
|
150
|
+
return exts;
|
|
151
|
+
})();
|
|
152
|
+
// Dynamic aliases for nativescript-theme-core generic theme filenames
|
|
153
|
+
// TODO: move to per-project basis based on usage
|
|
154
|
+
const themeGenericAliases = getThemeCoreGenericAliases(THEME_CORE_ROOT, platform);
|
|
155
|
+
const resolveConfig = {
|
|
156
|
+
// ensures Vite prefers ESM entry‑points
|
|
157
|
+
// A few packages have react-native specifiers which work well for NS as well
|
|
158
|
+
mainFields: ['module', 'react-native', 'main'],
|
|
159
|
+
conditions: ['module', 'react-native', 'import', 'browser', 'default'],
|
|
160
|
+
// use this with merge config instead or could list common dedupes in base here altogether
|
|
161
|
+
dedupe: ['@nativescript/core', 'nativescript-vue', 'vue'],
|
|
162
|
+
// Alias "@" and "~" to your src directory for cleaner imports
|
|
163
|
+
alias: [
|
|
164
|
+
// Hard dedupe for @nativescript/core across monorepos / linked workspaces
|
|
165
|
+
// Map all specifiers to the single resolved root under the app's node_modules
|
|
166
|
+
// Canonicalize trailing /index subpath imports so '@nativescript/core/foo' and '@nativescript/core/foo/index'
|
|
167
|
+
// resolve to the exact same module id. This prevents duplicate evaluation of core submodules (profiling, layouts)
|
|
168
|
+
// which can break timers, decorators and alignment tests under Vite.
|
|
169
|
+
{ find: /^@nativescript\/core\/(.+)\/index$/, replacement: (m, sub) => `${NS_CORE_ROOT}/${sub}` },
|
|
170
|
+
{ find: /^@nativescript\/core$/, replacement: NS_CORE_ROOT },
|
|
171
|
+
{
|
|
172
|
+
find: /^@nativescript\/core\/(.*)$/,
|
|
173
|
+
// Keep capture group to preserve deep paths
|
|
174
|
+
replacement: `${NS_CORE_ROOT}/$1`,
|
|
175
|
+
},
|
|
176
|
+
// Resolve hoisted nativescript-theme-core if present at workspace root
|
|
177
|
+
// Support both exact package and deep paths like nativescript-theme-core/css/core.light.css
|
|
178
|
+
...(THEME_CORE_ROOT
|
|
179
|
+
? [
|
|
180
|
+
{ find: /^nativescript-theme-core$/, replacement: THEME_CORE_ROOT },
|
|
181
|
+
{ find: /^nativescript-theme-core\/(.*)$/, replacement: `${THEME_CORE_ROOT}/$1` },
|
|
182
|
+
]
|
|
183
|
+
: []),
|
|
184
|
+
// Provide a shim for node:module to avoid runtime crashes in NS
|
|
185
|
+
{
|
|
186
|
+
find: /^node:module$/,
|
|
187
|
+
replacement: path.resolve(path.dirname(new URL(import.meta.url).pathname), '../shims/node-module.js'),
|
|
188
|
+
},
|
|
189
|
+
// Ensure set-value resolves to an absolute shim to avoid alias warnings and duplication
|
|
190
|
+
{ find: /^set-value$/, replacement: path.resolve(path.dirname(new URL(import.meta.url).pathname), '../shims/set-value.js') },
|
|
191
|
+
// nativescript-theme-core root + deep paths (hoisted resolution)
|
|
192
|
+
// Generic theme css -> platform specific variant
|
|
193
|
+
...themeGenericAliases,
|
|
194
|
+
...aliasCssTree,
|
|
195
|
+
// 1) Catch exactly `~/package.json` → virtual module (MUST be first!)
|
|
196
|
+
{ find: /^~\/package\.json$/, replacement: '~/package.json' },
|
|
197
|
+
// TypeScript path aliases from tsconfig.json
|
|
198
|
+
...tsConfig.aliases,
|
|
199
|
+
// Generic platform resolution for any npm package
|
|
200
|
+
packagePlatformAliases({ tsConfig, platform, verbose }),
|
|
201
|
+
// 2) Catch everything else under "~/" → your src/
|
|
202
|
+
{ find: /^~\/(.*)$/, replacement: path.resolve(projectRoot, `${appSourceDir}/$1`) },
|
|
203
|
+
// optional: "@" → src/
|
|
204
|
+
{ find: '@', replacement: path.resolve(projectRoot, appSourceDir) },
|
|
205
|
+
],
|
|
206
|
+
extensions: platformExtensions,
|
|
207
|
+
preserveSymlinks: true,
|
|
208
|
+
};
|
|
209
|
+
// Common define configuration for both main and worker builds
|
|
210
|
+
const defineConfig = getGlobalDefines({
|
|
211
|
+
platform,
|
|
212
|
+
targetMode,
|
|
213
|
+
verbose,
|
|
214
|
+
flavor,
|
|
215
|
+
isCI: !!process.env.CI,
|
|
216
|
+
});
|
|
217
|
+
// Default static copy: copy/merge assets and fonts when present
|
|
218
|
+
const assetsDir = resolveFromAppRoot('assets');
|
|
219
|
+
const fontsDir = resolveFromAppRoot('fonts');
|
|
220
|
+
const staticCopyTargets = [];
|
|
221
|
+
if (existsSync(assetsDir)) {
|
|
222
|
+
staticCopyTargets.push({ src: `${assetsDir}/**/*`, dest: 'assets' });
|
|
223
|
+
}
|
|
224
|
+
if (existsSync(fontsDir)) {
|
|
225
|
+
staticCopyTargets.push({ src: `${fontsDir}/**/*`, dest: 'fonts' });
|
|
226
|
+
}
|
|
227
|
+
let disableOptimizeDeps = false;
|
|
228
|
+
// some flavor-specific adjustments for optimizing deps
|
|
229
|
+
switch (flavor) {
|
|
230
|
+
case 'angular':
|
|
231
|
+
disableOptimizeDeps = hmrActive || process.env.NS_DISABLE_OPTIMIZEDEPS === '1' || process.env.NS_DISABLE_OPTIMIZEDEPS === 'true';
|
|
232
|
+
break;
|
|
233
|
+
}
|
|
234
|
+
let baseViteConfig = {
|
|
235
|
+
// Suppress logs during HMR development if desired:
|
|
236
|
+
// ...(hmrActive ? { logLevel: "warn" as const } : {}),
|
|
237
|
+
// Filter out noisy sourcemap warnings from dependencies while keeping other warnings intact
|
|
238
|
+
customLogger: filteredLogger,
|
|
239
|
+
resolve: resolveConfig,
|
|
240
|
+
define: defineConfig,
|
|
241
|
+
// Vite's built-in solution for CommonJS/ESM compatibility issues
|
|
242
|
+
optimizeDeps: disableOptimizeDeps
|
|
243
|
+
? {
|
|
244
|
+
noDiscovery: true,
|
|
245
|
+
include: [],
|
|
246
|
+
entries: [],
|
|
247
|
+
// Ensure rxjs and core are never treated as entries for pre-bundling
|
|
248
|
+
exclude: ['@nativescript/core', 'rxjs', '@valor/nativescript-websockets', 'set-value', 'react', 'react-reconciler', 'react-nativescript'],
|
|
249
|
+
esbuildOptions: {
|
|
250
|
+
conditions: ['module', 'react-native', 'import', 'browser', 'default'],
|
|
251
|
+
resolveExtensions: platformExtensions,
|
|
252
|
+
define: {
|
|
253
|
+
global: 'globalThis',
|
|
254
|
+
'process.env.NODE_ENV': JSON.stringify(debug ? 'development' : 'production'),
|
|
255
|
+
},
|
|
256
|
+
target: 'es2020',
|
|
257
|
+
// Do not install the platform resolver inside optimizeDeps to avoid crawling node_modules
|
|
258
|
+
plugins: [],
|
|
259
|
+
},
|
|
260
|
+
}
|
|
261
|
+
: {
|
|
262
|
+
// Force pre-bundling of problematic CommonJS packages (kept empty by default)
|
|
263
|
+
include: [],
|
|
264
|
+
esbuildOptions: {
|
|
265
|
+
conditions: ['module', 'react-native', 'import', 'browser', 'default'],
|
|
266
|
+
resolveExtensions: platformExtensions,
|
|
267
|
+
define: {
|
|
268
|
+
global: 'globalThis',
|
|
269
|
+
'process.env.NODE_ENV': JSON.stringify(debug ? 'development' : 'production'),
|
|
270
|
+
},
|
|
271
|
+
target: 'es2020',
|
|
272
|
+
plugins: [esbuildPlatformResolver({ platform, verbose })],
|
|
273
|
+
},
|
|
274
|
+
exclude: ['@nativescript/core', '@valor/nativescript-websockets', 'set-value', 'react', 'react-reconciler', 'react-nativescript'],
|
|
275
|
+
},
|
|
276
|
+
esbuild: {
|
|
277
|
+
define: {
|
|
278
|
+
'process.env.NODE_ENV': JSON.stringify(debug ? 'development' : 'production'),
|
|
279
|
+
},
|
|
280
|
+
// Keep target loosely aligned with tsconfig target (ES2020) to avoid reordering semantics
|
|
281
|
+
target: 'es2020',
|
|
282
|
+
},
|
|
283
|
+
plugins: [
|
|
284
|
+
createPlatformCssPlugin(platform),
|
|
285
|
+
// TODO: move to per-project basis based on usage
|
|
286
|
+
createEnsureHoistedThemeLinkPlugin(THEME_CORE_ROOT, projectRoot, platform),
|
|
287
|
+
createNativeClassTransformerPlugin(),
|
|
288
|
+
createThemeCoreCssFallbackPlugin(THEME_CORE_ROOT, projectRoot, platform),
|
|
289
|
+
// Redirect fragment.android to a single virtual id before other resolvers
|
|
290
|
+
// androidBootRedirectPlugin(),
|
|
291
|
+
// Ensure Rollup phase replaces in node_modules too
|
|
292
|
+
// Important for various vendor handling
|
|
293
|
+
replace({
|
|
294
|
+
'process.env.NODE_ENV': JSON.stringify(debug ? 'development' : 'production'),
|
|
295
|
+
preventAssignment: true,
|
|
296
|
+
}),
|
|
297
|
+
// Ensure explicit keep markers are honored
|
|
298
|
+
preserveImportsPlugin(),
|
|
299
|
+
hmrActive
|
|
300
|
+
? vendorManifestPlugin({
|
|
301
|
+
projectRoot,
|
|
302
|
+
platform,
|
|
303
|
+
mode: targetMode,
|
|
304
|
+
verbose,
|
|
305
|
+
emitAssets: true,
|
|
306
|
+
flavor,
|
|
307
|
+
})
|
|
308
|
+
: undefined,
|
|
309
|
+
// Vue HMR plugins for development mode
|
|
310
|
+
// HMR plugins (source streaming replaces prior exploded source plugin when enabled)
|
|
311
|
+
...(hmrActive ? [...getHMRPlugins({ platform, flavor, verbose })] : []),
|
|
312
|
+
// TODO: make flavor plugins dynamic
|
|
313
|
+
// ...flavorPlugins,
|
|
314
|
+
...commonjsPlugins,
|
|
315
|
+
// Platform-specific package resolver - MUST come before commonjs plugin
|
|
316
|
+
nativescriptPackageResolver(platform),
|
|
317
|
+
// Simplified CommonJS handling - let Vite's optimizeDeps do the heavy lifting
|
|
318
|
+
commonjs({
|
|
319
|
+
include: [/node_modules/],
|
|
320
|
+
// Force specific problematic modules to be treated as CommonJS
|
|
321
|
+
requireReturnsDefault: 'auto',
|
|
322
|
+
defaultIsModuleExports: 'auto',
|
|
323
|
+
transformMixedEsModules: true,
|
|
324
|
+
// Ignore optional dependencies that are meant to fail gracefully
|
|
325
|
+
ignore: ['@nativescript/android', '@nativescript/ios'],
|
|
326
|
+
}),
|
|
327
|
+
nsConfigAsJsonPlugin(),
|
|
328
|
+
NativeScriptPlugin({ platform }),
|
|
329
|
+
// Ensure globals and Android activity are included early via virtual entry
|
|
330
|
+
mainEntryPlugin({ platform, isDevMode, verbose, hmrActive }),
|
|
331
|
+
dynamicImportPlugin(),
|
|
332
|
+
// Transform Vite worker URLs to NativeScript format AFTER bundling
|
|
333
|
+
workerUrlPlugin(),
|
|
334
|
+
// Copy static assets and fonts when present in project app root
|
|
335
|
+
...((staticCopyTargets == null ? void 0 : staticCopyTargets.length)
|
|
336
|
+
? [
|
|
337
|
+
viteStaticCopy({
|
|
338
|
+
targets: staticCopyTargets,
|
|
339
|
+
watch: { reloadPageOnChange: true },
|
|
340
|
+
}),
|
|
341
|
+
]
|
|
342
|
+
: []),
|
|
343
|
+
// NativeScript CLI integration
|
|
344
|
+
cliPlugin({ distOutputFolder, isDevMode, verbose, hmrActive }),
|
|
345
|
+
],
|
|
346
|
+
css: {
|
|
347
|
+
postcss: createPostCssConfig({
|
|
348
|
+
platform,
|
|
349
|
+
projectRoot,
|
|
350
|
+
themeCoreRoot: THEME_CORE_ROOT,
|
|
351
|
+
postcssImport,
|
|
352
|
+
}),
|
|
353
|
+
},
|
|
354
|
+
// Development server configuration for HMR
|
|
355
|
+
server: isDevMode
|
|
356
|
+
? {
|
|
357
|
+
// Expose dev server to local network so simulator or device can connect
|
|
358
|
+
host: process.env.NS_HMR_HOST || (platform === 'android' ? '0.0.0.0' : 'localhost'),
|
|
359
|
+
// Use a stable port so the device URL remains correct
|
|
360
|
+
port: 5173,
|
|
361
|
+
strictPort: true,
|
|
362
|
+
https: useHttps
|
|
363
|
+
? {
|
|
364
|
+
// Optional: allow self-signed certs via env paths
|
|
365
|
+
key: process.env.NS_HTTPS_KEY && readFileSync(process.env.NS_HTTPS_KEY),
|
|
366
|
+
cert: process.env.NS_HTTPS_CERT && readFileSync(process.env.NS_HTTPS_CERT),
|
|
367
|
+
}
|
|
368
|
+
: undefined,
|
|
369
|
+
// Keep HMR on the primary server port (Vite browser client stays on /vite-hmr)
|
|
370
|
+
hmr: {
|
|
371
|
+
protocol: useHttps ? 'wss' : 'ws',
|
|
372
|
+
path: '/vite-hmr',
|
|
373
|
+
},
|
|
374
|
+
cors: true,
|
|
375
|
+
// watch: {
|
|
376
|
+
// ignored: [
|
|
377
|
+
// '**/.DS_Store',
|
|
378
|
+
// '**/Documents/**',
|
|
379
|
+
// '**/hooks/**',
|
|
380
|
+
// '**/platforms/**'
|
|
381
|
+
// ]
|
|
382
|
+
// }
|
|
383
|
+
}
|
|
384
|
+
: {},
|
|
385
|
+
// Configure worker builds to bundle everything into standalone workers
|
|
386
|
+
worker: {
|
|
387
|
+
format: 'es',
|
|
388
|
+
plugins: () => getWorkerPlugins(platform),
|
|
389
|
+
rollupOptions: {
|
|
390
|
+
// Don't externalize anything - bundle everything into the worker
|
|
391
|
+
external: [],
|
|
392
|
+
output: {
|
|
393
|
+
// Inline all dynamic imports to create standalone bundle
|
|
394
|
+
inlineDynamicImports: true,
|
|
395
|
+
},
|
|
396
|
+
},
|
|
397
|
+
},
|
|
398
|
+
build: {
|
|
399
|
+
// Ensure Vite and plugins (like vite-plugin-static-copy) use the same output directory
|
|
400
|
+
outDir: path.resolve(projectRoot, distOutputFolder),
|
|
401
|
+
target: 'esnext',
|
|
402
|
+
minify: !debug,
|
|
403
|
+
// Generate source maps for debugging
|
|
404
|
+
// External sourcemaps so DevTools loads small .mjs files and fetches maps on demand
|
|
405
|
+
sourcemap: debug,
|
|
406
|
+
// Disable module preloading to avoid browser APIs
|
|
407
|
+
modulePreload: false,
|
|
408
|
+
// Under HMR, avoid rebuilds on app root changes — device consumes updates via /ns-hmr
|
|
409
|
+
...(hmrActive && {
|
|
410
|
+
watch: {
|
|
411
|
+
exclude: [appGlobPattern],
|
|
412
|
+
},
|
|
413
|
+
}),
|
|
414
|
+
// Optimize for development speed
|
|
415
|
+
...(isDevMode && {
|
|
416
|
+
// Faster builds in development
|
|
417
|
+
reportCompressedSize: false,
|
|
418
|
+
chunkSizeWarningLimit: 2000,
|
|
419
|
+
}),
|
|
420
|
+
commonjsOptions: {
|
|
421
|
+
include: [/node_modules/],
|
|
422
|
+
},
|
|
423
|
+
rollupOptions: {
|
|
424
|
+
treeshake: {
|
|
425
|
+
// Preserve side effects for NativeScript core so classes/functions
|
|
426
|
+
// aren't tree-shaken out inadvertently. This does NOT cause cross‑chunk duplication;
|
|
427
|
+
// it only prevents Rollup from dropping modules it considers side‑effect free.
|
|
428
|
+
moduleSideEffects: (id) => /node_modules[\\\/]\@nativescript[\\\/]core[\\\/]/.test(id) || null,
|
|
429
|
+
},
|
|
430
|
+
input: 'virtual:entry-with-polyfills',
|
|
431
|
+
output: {
|
|
432
|
+
format: 'es', // Emit ES modules (.mjs)
|
|
433
|
+
entryFileNames: 'bundle.mjs',
|
|
434
|
+
// Point source map URLs to absolute file:// paths on the host so
|
|
435
|
+
// Chrome DevTools can fetch them even though the running code comes
|
|
436
|
+
// from file:///app on the simulator/device.
|
|
437
|
+
sourcemapBaseUrl: pathToFileURL(path.resolve(projectRoot, distOutputFolder)).toString() + '/',
|
|
438
|
+
chunkFileNames: (chunk) => {
|
|
439
|
+
if (chunk.name === 'vendor')
|
|
440
|
+
return 'vendor.mjs';
|
|
441
|
+
// Place worker files at root level, not in assets/
|
|
442
|
+
if (chunk.name && chunk.name.includes('worker')) {
|
|
443
|
+
return '[name]-[hash].js';
|
|
444
|
+
}
|
|
445
|
+
return '[name]-[hash].mjs';
|
|
446
|
+
},
|
|
447
|
+
assetFileNames: 'assets/[name][extname]',
|
|
448
|
+
// Create single vendor chunk for most third-party modules.
|
|
449
|
+
// Keep critical NativeScript core bootstrap/lifecycle modules in the main bundle
|
|
450
|
+
// so they evaluate AFTER bundle-entry-points initialize Application.
|
|
451
|
+
manualChunks(id) {
|
|
452
|
+
// In HMR, avoid emitting a Rollup vendor chunk on disk. The dev server
|
|
453
|
+
// serves vendor over HTTP and we separately emit a single ns-vendor.mjs
|
|
454
|
+
// for Android SBG to scan via the vendorManifestPlugin above.
|
|
455
|
+
if (hmrActive) {
|
|
456
|
+
return undefined;
|
|
457
|
+
}
|
|
458
|
+
const normalizedId = id.split('?')[0].replace(/\\/g, '/');
|
|
459
|
+
// Ensure virtual vendor modules live in vendor.mjs
|
|
460
|
+
if (normalizedId.includes('@nativescript/vendor') || normalizedId.includes('@nativescript/vendor-manifest')) {
|
|
461
|
+
return 'vendor';
|
|
462
|
+
}
|
|
463
|
+
if (id.includes('node_modules')) {
|
|
464
|
+
// Keep common dependencies in the main bundle
|
|
465
|
+
if (id.includes('@angular/') || id.includes('@nativescript/angular') || id.includes('@nativescript/core')) {
|
|
466
|
+
return undefined; // Keep in main bundle
|
|
467
|
+
}
|
|
468
|
+
return 'vendor';
|
|
469
|
+
}
|
|
470
|
+
},
|
|
471
|
+
},
|
|
472
|
+
// When HMR is active, prevent Vite's build watcher from reacting to source folder changes.
|
|
473
|
+
// The device will get updates via socket /ns-hmr instead.
|
|
474
|
+
...(hmrActive
|
|
475
|
+
? {
|
|
476
|
+
watch: {
|
|
477
|
+
exclude: [appGlobPattern],
|
|
478
|
+
},
|
|
479
|
+
}
|
|
480
|
+
: {}),
|
|
481
|
+
},
|
|
482
|
+
},
|
|
483
|
+
};
|
|
484
|
+
if (externalConfigMerges?.length) {
|
|
485
|
+
externalConfigMerges.forEach((config) => {
|
|
486
|
+
baseViteConfig = mergeConfig(baseViteConfig, config);
|
|
487
|
+
});
|
|
488
|
+
}
|
|
489
|
+
return baseViteConfig;
|
|
490
|
+
};
|
|
491
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../packages/vite/configuration/base.ts"],"names":[],"mappings":"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"}
|