@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
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { nsConfigToJson } from
|
|
2
|
-
const nsConfigVirtualId =
|
|
1
|
+
import { nsConfigToJson } from './utils.js';
|
|
2
|
+
const nsConfigVirtualId = '\0nsvite:nsconfig-json';
|
|
3
3
|
export default function nsConfigAsJsonPlugin() {
|
|
4
4
|
// will hold your parsed config object
|
|
5
5
|
let configObject;
|
|
6
6
|
return {
|
|
7
|
-
name:
|
|
7
|
+
name: 'nsvite-nsconfig-as-json',
|
|
8
8
|
// 1. Intercept imports of "~/package.json"
|
|
9
9
|
resolveId(source) {
|
|
10
|
-
if (source ===
|
|
10
|
+
if (source === '~/package.json') {
|
|
11
11
|
return nsConfigVirtualId;
|
|
12
12
|
}
|
|
13
13
|
return null;
|
|
@@ -26,10 +26,11 @@ export default function nsConfigAsJsonPlugin() {
|
|
|
26
26
|
generateBundle(_options, _bundle) {
|
|
27
27
|
const json = JSON.stringify(configObject, null, 2);
|
|
28
28
|
this.emitFile({
|
|
29
|
-
type:
|
|
30
|
-
fileName:
|
|
29
|
+
type: 'asset',
|
|
30
|
+
fileName: 'package.json',
|
|
31
31
|
source: json,
|
|
32
32
|
});
|
|
33
33
|
},
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
|
+
//# sourceMappingURL=config-as-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-as-json.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/config-as-json.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAEnD,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC3C,sCAAsC;IACtC,IAAI,YAAiC,CAAC;IAEtC,OAAO;QACN,IAAI,EAAE,yBAAyB;QAE/B,2CAA2C;QAC3C,SAAS,CAAC,MAAM;YACf,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;gBACjC,OAAO,iBAAiB,CAAC;YAC1B,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,kDAAkD;QAClD,IAAI,CAAC,EAAE;YACN,IAAI,EAAE,KAAK,iBAAiB,EAAE,CAAC;gBAC9B,YAAY,GAAG,cAAc,EAAE,CAAC;gBAEhC,+DAA+D;gBAC/D,OAAO,kBAAkB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC;YAC1D,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,sEAAsE;QACtE,kDAAkD;QAClD,cAAc,CAAC,QAAQ,EAAE,OAAO;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC;gBACb,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,IAAI;aACZ,CAAC,CAAC;QACJ,CAAC;KACD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Plugin } from 'vite';
|
|
2
|
+
/**
|
|
3
|
+
* Vite plugin: ns-css-platform
|
|
4
|
+
*
|
|
5
|
+
* Provides platform specific CSS resolution. When a generic import fails (foo.css)
|
|
6
|
+
* it will attempt to load foo.android.css or foo.ios.css depending on platform.
|
|
7
|
+
* Also rewrites relative @import specifiers inside CSS files to platform variants
|
|
8
|
+
* when the generic file does not exist but a platform suffixed version does.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createPlatformCssPlugin(platform: string): Plugin;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { existsSync, readFileSync } from 'fs';
|
|
3
|
+
/**
|
|
4
|
+
* Vite plugin: ns-css-platform
|
|
5
|
+
*
|
|
6
|
+
* Provides platform specific CSS resolution. When a generic import fails (foo.css)
|
|
7
|
+
* it will attempt to load foo.android.css or foo.ios.css depending on platform.
|
|
8
|
+
* Also rewrites relative @import specifiers inside CSS files to platform variants
|
|
9
|
+
* when the generic file does not exist but a platform suffixed version does.
|
|
10
|
+
*/
|
|
11
|
+
export function createPlatformCssPlugin(platform) {
|
|
12
|
+
return {
|
|
13
|
+
name: 'ns-css-platform',
|
|
14
|
+
enforce: 'pre',
|
|
15
|
+
transform(code, id) {
|
|
16
|
+
const baseId = id.split('?')[0];
|
|
17
|
+
if (!baseId.endsWith('.css') || !code.includes('@import'))
|
|
18
|
+
return null;
|
|
19
|
+
const dir = path.dirname(baseId);
|
|
20
|
+
const platformExt = platform === 'android' ? '.android.css' : '.ios.css';
|
|
21
|
+
let changed = false;
|
|
22
|
+
// Support @import "foo.css"; @import 'foo.css'; @import url("foo.css"); preserving rest
|
|
23
|
+
const importRegex = /@import\s+(?:url\()?['"]([^'"()]+\.css)['"]\)?/g;
|
|
24
|
+
const newCode = code.replace(importRegex, (full, spec) => {
|
|
25
|
+
if (/^(https?:|data:)/.test(spec) || spec.includes('nativescript-theme-core') || spec.endsWith(platformExt))
|
|
26
|
+
return full;
|
|
27
|
+
if (!(spec.startsWith('.') || spec.startsWith('/')))
|
|
28
|
+
return full;
|
|
29
|
+
const abs = path.isAbsolute(spec) ? spec : path.resolve(dir, spec);
|
|
30
|
+
if (existsSync(abs))
|
|
31
|
+
return full;
|
|
32
|
+
const alt = abs.replace(/\.css$/, platformExt);
|
|
33
|
+
if (existsSync(alt)) {
|
|
34
|
+
let rel = path.relative(dir, alt).replace(/\\/g, '/');
|
|
35
|
+
if (!rel.startsWith('.'))
|
|
36
|
+
rel = './' + rel;
|
|
37
|
+
changed = true;
|
|
38
|
+
return full.replace(spec, rel);
|
|
39
|
+
}
|
|
40
|
+
return full;
|
|
41
|
+
});
|
|
42
|
+
return changed ? { code: newCode, map: null } : null;
|
|
43
|
+
},
|
|
44
|
+
resolveId(id, importer) {
|
|
45
|
+
if (!id || !importer)
|
|
46
|
+
return null;
|
|
47
|
+
if (!(id.startsWith('.') || id.startsWith('/')))
|
|
48
|
+
return null;
|
|
49
|
+
if (!/\.css$/.test(id))
|
|
50
|
+
return null;
|
|
51
|
+
const importerPath = importer.split('?')[0];
|
|
52
|
+
const baseDir = path.dirname(importerPath);
|
|
53
|
+
const abs = path.isAbsolute(id) ? id : path.resolve(baseDir, id);
|
|
54
|
+
if (existsSync(abs))
|
|
55
|
+
return null;
|
|
56
|
+
const platformExt = platform === 'android' ? '.android.css' : '.ios.css';
|
|
57
|
+
const alt = abs.replace(/\.css$/, platformExt);
|
|
58
|
+
if (existsSync(alt)) {
|
|
59
|
+
return '\0ns-css-platform:' + alt;
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
},
|
|
63
|
+
load(id) {
|
|
64
|
+
if (!id.startsWith('\0ns-css-platform:'))
|
|
65
|
+
return null;
|
|
66
|
+
const real = id.substring('\0ns-css-platform:'.length);
|
|
67
|
+
try {
|
|
68
|
+
return readFileSync(real, 'utf-8');
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return '';
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=css-platform-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css-platform-plugin.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/css-platform-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { __dirname } from './project.js';
|
|
3
|
+
export const aliasCssTree = [
|
|
4
|
+
// Node.js built-ins and mdn-data polyfills for css-tree
|
|
5
|
+
{
|
|
6
|
+
find: 'module',
|
|
7
|
+
replacement: path.resolve(__dirname, '../polyfills/module.js'),
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
find: 'mdn-data/css/properties.json',
|
|
11
|
+
replacement: path.resolve(__dirname, '../polyfills/mdn-data-properties.js'),
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
find: 'mdn-data/css/syntaxes.json',
|
|
15
|
+
replacement: path.resolve(__dirname, '../polyfills/mdn-data-syntaxes.js'),
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
find: 'mdn-data/css/at-rules.json',
|
|
19
|
+
replacement: path.resolve(__dirname, '../polyfills/mdn-data-at-rules.js'),
|
|
20
|
+
},
|
|
21
|
+
];
|
|
22
|
+
//# sourceMappingURL=css-tree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css-tree.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/css-tree.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,wDAAwD;IACxD;QACC,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,wBAAwB,CAAC;KAC9D;IACD;QACC,IAAI,EAAE,8BAA8B;QACpC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,qCAAqC,CAAC;KAC3E;IACD;QACC,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mCAAmC,CAAC;KACzE;IACD;QACC,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mCAAmC,CAAC;KACzE;CACD,CAAC"}
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
// Keep issue in mind for future Vite updates as may be able to remove this eventually.
|
|
7
7
|
export function dynamicImportPlugin() {
|
|
8
8
|
return {
|
|
9
|
-
name:
|
|
9
|
+
name: 'nativescript-dynamic-import-fix',
|
|
10
10
|
generateBundle(options, bundle) {
|
|
11
11
|
for (const [fileName, chunk] of Object.entries(bundle)) {
|
|
12
|
-
if (chunk.type ===
|
|
12
|
+
if (chunk.type === 'chunk') {
|
|
13
13
|
let hasChanges = false;
|
|
14
14
|
// 1. Transform all relative import paths from ./ to ~/
|
|
15
15
|
if (chunk.code.includes("import('./")) {
|
|
@@ -17,17 +17,17 @@ export function dynamicImportPlugin() {
|
|
|
17
17
|
hasChanges = true;
|
|
18
18
|
}
|
|
19
19
|
// 2. Replace __vitePreload with simple implementation
|
|
20
|
-
if (chunk.code.includes(
|
|
21
|
-
const vitePreloadStart = chunk.code.indexOf(
|
|
20
|
+
if (chunk.code.includes('__vitePreload')) {
|
|
21
|
+
const vitePreloadStart = chunk.code.indexOf('const __vitePreload = function preload');
|
|
22
22
|
if (vitePreloadStart !== -1) {
|
|
23
23
|
// Find the matching closing brace by counting braces
|
|
24
24
|
let braceCount = 0;
|
|
25
|
-
let functionStart = chunk.code.indexOf(
|
|
25
|
+
let functionStart = chunk.code.indexOf('{', vitePreloadStart);
|
|
26
26
|
let i = functionStart;
|
|
27
27
|
while (i < chunk.code.length) {
|
|
28
|
-
if (chunk.code[i] ===
|
|
28
|
+
if (chunk.code[i] === '{')
|
|
29
29
|
braceCount++;
|
|
30
|
-
else if (chunk.code[i] ===
|
|
30
|
+
else if (chunk.code[i] === '}') {
|
|
31
31
|
braceCount--;
|
|
32
32
|
if (braceCount === 0) {
|
|
33
33
|
// Found the end of the function
|
|
@@ -60,3 +60,4 @@ export function dynamicImportPlugin() {
|
|
|
60
60
|
},
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
|
+
//# sourceMappingURL=dynamic-import-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-import-plugin.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/dynamic-import-plugin.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,0EAA0E;AAC1E,6EAA6E;AAC7E,mEAAmE;AACnE,8FAA8F;AAC9F,uFAAuF;AACvF,MAAM,UAAU,mBAAmB;IAClC,OAAO;QACN,IAAI,EAAE,iCAAiC;QACvC,cAAc,CAAC,OAAO,EAAE,MAAM;YAC7B,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAQ,EAAE,CAAC;gBAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC5B,IAAI,UAAU,GAAG,KAAK,CAAC;oBAEvB,uDAAuD;oBACvD,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;wBACvC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iCAAiC,EAAE,gBAAgB,CAAC,CAAC;wBACrF,UAAU,GAAG,IAAI,CAAC;oBACnB,CAAC;oBAED,sDAAsD;oBACtD,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;wBAC1C,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;wBACtF,IAAI,gBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC;4BAC7B,qDAAqD;4BACrD,IAAI,UAAU,GAAG,CAAC,CAAC;4BACnB,IAAI,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;4BAC9D,IAAI,CAAC,GAAG,aAAa,CAAC;4BAEtB,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gCAC9B,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;oCAAE,UAAU,EAAE,CAAC;qCACnC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oCAChC,UAAU,EAAE,CAAC;oCACb,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;wCACtB,gCAAgC;wCAChC,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;wCAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;wCACzD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;wCAEhD,qDAAqD;wCACrD,MAAM,WAAW,GAAG;;;;;MAKxB,CAAC;wCACG,KAAK,CAAC,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,KAAK,CAAC;wCAC1C,UAAU,GAAG,IAAI,CAAC;wCAClB,MAAM;oCACP,CAAC;gCACF,CAAC;gCACD,CAAC,EAAE,CAAC;4BACL,CAAC;wBACF,CAAC;oBACF,CAAC;oBAED,sBAAsB;oBACtB,mBAAmB;oBACnB,8DAA8D;oBAC9D,SAAS;oBACT,MAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Esbuild resolver plugin to support NativeScript platform-specific file resolution
|
|
3
|
+
* during Vite's optimizeDeps pre-bundling and HMR dependency updates.
|
|
4
|
+
*
|
|
5
|
+
* Handles cases like:
|
|
6
|
+
* import './paymentMethod' -> './paymentMethod.ios.js' | './paymentMethod.android.js' | './paymentMethod.js'
|
|
7
|
+
* import './gesturehandler' -> './gesturehandler.ios.js' | './gesturehandler.android.js' | './gesturehandler.js'
|
|
8
|
+
* import './source.js' -> './source.ios.js' (if present)
|
|
9
|
+
* import './dir' -> './dir/index.ios.js' | './dir/index.js'
|
|
10
|
+
*/
|
|
11
|
+
export declare function esbuildPlatformResolver(opts?: {
|
|
12
|
+
platform: string;
|
|
13
|
+
verbose?: boolean;
|
|
14
|
+
}): any;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { existsSync } from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
/**
|
|
4
|
+
* Esbuild resolver plugin to support NativeScript platform-specific file resolution
|
|
5
|
+
* during Vite's optimizeDeps pre-bundling and HMR dependency updates.
|
|
6
|
+
*
|
|
7
|
+
* Handles cases like:
|
|
8
|
+
* import './paymentMethod' -> './paymentMethod.ios.js' | './paymentMethod.android.js' | './paymentMethod.js'
|
|
9
|
+
* import './gesturehandler' -> './gesturehandler.ios.js' | './gesturehandler.android.js' | './gesturehandler.js'
|
|
10
|
+
* import './source.js' -> './source.ios.js' (if present)
|
|
11
|
+
* import './dir' -> './dir/index.ios.js' | './dir/index.js'
|
|
12
|
+
*/
|
|
13
|
+
export function esbuildPlatformResolver(opts) {
|
|
14
|
+
// Treat visionOS as iOS for file resolution
|
|
15
|
+
const currentPlatform = opts?.platform === 'visionos' ? 'ios' : opts?.platform;
|
|
16
|
+
function tryResolve(candidate) {
|
|
17
|
+
try {
|
|
18
|
+
return existsSync(candidate) ? candidate : undefined;
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function resolveWithPlatform(basePath) {
|
|
25
|
+
const ext = path.extname(basePath);
|
|
26
|
+
const withoutExt = ext ? basePath.slice(0, -ext.length) : basePath;
|
|
27
|
+
// 1) If an extension exists, try inserting platform before the ext
|
|
28
|
+
if (ext) {
|
|
29
|
+
const withPlatform = `${withoutExt}.${currentPlatform}${ext}`;
|
|
30
|
+
const matched = tryResolve(withPlatform) || tryResolve(basePath);
|
|
31
|
+
if (matched)
|
|
32
|
+
return matched;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
// 2) No extension: try platform-specific JS/TS/MJS first
|
|
36
|
+
const platformCandidates = [`${withoutExt}.${currentPlatform}.js`, `${withoutExt}.${currentPlatform}.ts`, `${withoutExt}.${currentPlatform}.mjs`];
|
|
37
|
+
for (const c of platformCandidates) {
|
|
38
|
+
const hit = tryResolve(c);
|
|
39
|
+
if (hit)
|
|
40
|
+
return hit;
|
|
41
|
+
}
|
|
42
|
+
// 3) Fallback to standard extensions
|
|
43
|
+
const plainCandidates = [`${withoutExt}.js`, `${withoutExt}.ts`, `${withoutExt}.mjs`];
|
|
44
|
+
for (const c of plainCandidates) {
|
|
45
|
+
const hit = tryResolve(c);
|
|
46
|
+
if (hit)
|
|
47
|
+
return hit;
|
|
48
|
+
}
|
|
49
|
+
// 4) Directory index resolution
|
|
50
|
+
const indexPlatformCandidates = [path.join(withoutExt, `index.${currentPlatform}.js`), path.join(withoutExt, `index.${currentPlatform}.ts`), path.join(withoutExt, `index.${currentPlatform}.mjs`)];
|
|
51
|
+
for (const c of indexPlatformCandidates) {
|
|
52
|
+
const hit = tryResolve(c);
|
|
53
|
+
if (hit)
|
|
54
|
+
return hit;
|
|
55
|
+
}
|
|
56
|
+
const indexPlainCandidates = [path.join(withoutExt, 'index.js'), path.join(withoutExt, 'index.ts'), path.join(withoutExt, 'index.mjs')];
|
|
57
|
+
for (const c of indexPlainCandidates) {
|
|
58
|
+
const hit = tryResolve(c);
|
|
59
|
+
if (hit)
|
|
60
|
+
return hit;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
name: 'ns-esbuild-platform-resolver',
|
|
67
|
+
setup(build) {
|
|
68
|
+
// Only handle relative imports inside node_modules during optimizeDeps
|
|
69
|
+
build.onResolve({ filter: /^\.\.?\// }, (args) => {
|
|
70
|
+
// Limit to dependency optimization contexts to avoid clobbering app src resolution
|
|
71
|
+
// Esbuild passes resolveDir for the importing file's directory
|
|
72
|
+
const importerDir = args.resolveDir || path.dirname(args.importer || '');
|
|
73
|
+
// Heuristic: only apply inside node_modules to fix vendor packages
|
|
74
|
+
if (typeof args.importer === 'string' && args.importer.includes('node_modules')) {
|
|
75
|
+
const abs = path.resolve(importerDir, args.path);
|
|
76
|
+
const resolved = resolveWithPlatform(abs);
|
|
77
|
+
if (resolved) {
|
|
78
|
+
if (opts?.verbose) {
|
|
79
|
+
try {
|
|
80
|
+
const relImporter = args.importer?.split('node_modules').pop();
|
|
81
|
+
console.log(`ns-esbuild-resolver: ${relImporter ?? args.importer} -> ${args.path} => ${path.relative(process.cwd(), resolved)}`);
|
|
82
|
+
}
|
|
83
|
+
catch { }
|
|
84
|
+
}
|
|
85
|
+
return { path: resolved };
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return null;
|
|
89
|
+
});
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=esbuild-platform-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"esbuild-platform-resolver.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/esbuild-platform-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import { createRequire } from 'module';
|
|
4
|
+
// import { pathToFileURL } from 'url';
|
|
5
|
+
import { getAllDependencies, getDependencyPath } from './utils.js';
|
|
6
|
+
const require = createRequire(import.meta.url);
|
|
7
|
+
export const externalConfigMerges = [];
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export function applyExternalConfigs() {
|
|
12
|
+
for (const dependency of getAllDependencies()) {
|
|
13
|
+
const packagePath = getDependencyPath(dependency);
|
|
14
|
+
if (!packagePath) {
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
const configPath = path.join(packagePath, 'nativescript.vite.mjs');
|
|
18
|
+
if (fs.existsSync(configPath)) {
|
|
19
|
+
console.log(`Found and merged in external config: ${configPath}`);
|
|
20
|
+
try {
|
|
21
|
+
const externalModule = require(configPath);
|
|
22
|
+
const externalConfig = externalModule?.default ?? externalModule;
|
|
23
|
+
externalConfigMerges.push(externalConfig());
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
console.warn(`
|
|
27
|
+
Unable to apply config: ${configPath}.
|
|
28
|
+
Error is: ${err}
|
|
29
|
+
`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=external-configs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-configs.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/external-configs.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,uCAAuC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACnE,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,oBAAoB,GAAiB,EAAE,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,oBAAoB;IACnC,KAAK,MAAM,UAAU,IAAI,kBAAkB,EAAE,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAElD,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,SAAS;QACV,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;QAEnE,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,wCAAwC,UAAU,EAAE,CAAC,CAAC;YAElE,IAAI,CAAC;gBACJ,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC3C,MAAM,cAAc,GAAG,cAAc,EAAE,OAAO,IAAI,cAAc,CAAC;gBACjE,oBAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC;+BACc,UAAU;iBACxB,GAAG;KACf,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// import { defaultConfigs } from '..';
|
|
2
|
+
import { getAllDependencies } from './utils.js';
|
|
3
|
+
let targetFlavor;
|
|
4
|
+
export function getProjectFlavor() {
|
|
5
|
+
if (!targetFlavor) {
|
|
6
|
+
const detectedFlavor = determineProjectFlavor();
|
|
7
|
+
if (detectedFlavor) {
|
|
8
|
+
targetFlavor = detectedFlavor;
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
targetFlavor = 'javascript'; // default to javascript if undetectable
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return targetFlavor;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Utility to determine the project flavor based on installed dependencies
|
|
18
|
+
* (vue, angular, react, svelete, typescript, javascript...)
|
|
19
|
+
*/
|
|
20
|
+
export function determineProjectFlavor() {
|
|
21
|
+
const dependencies = getAllDependencies();
|
|
22
|
+
if (dependencies.includes('nativescript-vue')) {
|
|
23
|
+
return 'vue';
|
|
24
|
+
}
|
|
25
|
+
if (dependencies.includes('@nativescript/angular')) {
|
|
26
|
+
return 'angular';
|
|
27
|
+
}
|
|
28
|
+
if (dependencies.includes('react-nativescript')) {
|
|
29
|
+
return 'react';
|
|
30
|
+
}
|
|
31
|
+
if (dependencies.includes('@nativescript-community/solid-js') || dependencies.includes('solid-js')) {
|
|
32
|
+
return 'solid';
|
|
33
|
+
}
|
|
34
|
+
if (dependencies.includes('svelte-native') || dependencies.includes('@nativescript-community/svelte-native')) {
|
|
35
|
+
return 'svelte';
|
|
36
|
+
}
|
|
37
|
+
// the order is important - angular, react, and svelte also include these deps
|
|
38
|
+
// but should return prior to this condition!
|
|
39
|
+
if (dependencies.includes('@nativescript/core') && dependencies.includes('typescript')) {
|
|
40
|
+
return 'typescript';
|
|
41
|
+
}
|
|
42
|
+
if (dependencies.includes('@nativescript/core')) {
|
|
43
|
+
return 'javascript';
|
|
44
|
+
}
|
|
45
|
+
console.info(`
|
|
46
|
+
Could not determine project flavor.
|
|
47
|
+
Please use webpack.useConfig('<flavor>') to explicitly set the base config.
|
|
48
|
+
`);
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=flavor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flavor.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/flavor.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,IAAI,YAAoB,CAAC;AAEzB,MAAM,UAAU,gBAAgB;IAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,cAAc,GAAG,sBAAsB,EAAE,CAAC;QAChD,IAAI,cAAc,EAAE,CAAC;YACpB,YAAY,GAAG,cAAc,CAAC;QAC/B,CAAC;aAAM,CAAC;YACP,YAAY,GAAG,YAAY,CAAC,CAAC,wCAAwC;QACtE,CAAC;IACF,CAAC;IACD,OAAO,YAAY,CAAC;AACrB,CAAC;AACD;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACrC,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAE1C,IAAI,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACjD,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,kCAAkC,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpG,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,uCAAuC,CAAC,EAAE,CAAC;QAC9G,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,8EAA8E;IAC9E,6CAA6C;IAC7C,IAAI,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACxF,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACjD,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,IAAI,CAAC;;;EAGZ,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare function getGlobalDefines(opts: {
|
|
2
|
+
platform: string;
|
|
3
|
+
targetMode: string;
|
|
4
|
+
verbose: boolean;
|
|
5
|
+
flavor: string;
|
|
6
|
+
isCI?: boolean;
|
|
7
|
+
}): {
|
|
8
|
+
__ANDROID__: string;
|
|
9
|
+
__IOS__: string;
|
|
10
|
+
__VISIONOS__: string;
|
|
11
|
+
__APPLE__: string;
|
|
12
|
+
__DEV__: string;
|
|
13
|
+
__COMMONJS__: boolean;
|
|
14
|
+
__NS_WEBPACK__: boolean;
|
|
15
|
+
__NS_ENV_VERBOSE__: string;
|
|
16
|
+
__NS_TARGET_FLAVOR__: string;
|
|
17
|
+
__CSS_PARSER__: string;
|
|
18
|
+
__UI_USE_XML_PARSER__: boolean;
|
|
19
|
+
__UI_USE_EXTERNAL_RENDERER__: boolean;
|
|
20
|
+
__TEST__: boolean;
|
|
21
|
+
__CI__: string;
|
|
22
|
+
__NS_APP_ROOT_DIR__: string;
|
|
23
|
+
__NS_APP_ROOT_VIRTUAL__: string;
|
|
24
|
+
'process.env.NODE_ENV': string;
|
|
25
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { getProjectAppPath, getProjectAppVirtualPath } from './utils.js';
|
|
2
|
+
const APP_ROOT_DIR = getProjectAppPath();
|
|
3
|
+
const APP_ROOT_VIRTUAL = getProjectAppVirtualPath();
|
|
4
|
+
export function getGlobalDefines(opts) {
|
|
5
|
+
return {
|
|
6
|
+
// Define platform flags for runtime checks
|
|
7
|
+
__ANDROID__: JSON.stringify(opts.platform === 'android'),
|
|
8
|
+
__IOS__: JSON.stringify(opts.platform === 'ios'),
|
|
9
|
+
__VISIONOS__: JSON.stringify(opts.platform === 'visionos'),
|
|
10
|
+
__APPLE__: JSON.stringify(opts.platform === 'ios' || opts.platform === 'visionos'),
|
|
11
|
+
__DEV__: JSON.stringify(opts.targetMode === 'development'),
|
|
12
|
+
__COMMONJS__: false,
|
|
13
|
+
__NS_WEBPACK__: false,
|
|
14
|
+
__NS_ENV_VERBOSE__: JSON.stringify(opts.verbose),
|
|
15
|
+
__NS_TARGET_FLAVOR__: JSON.stringify(opts.flavor),
|
|
16
|
+
__CSS_PARSER__: JSON.stringify('css-tree'),
|
|
17
|
+
__UI_USE_XML_PARSER__: true,
|
|
18
|
+
__UI_USE_EXTERNAL_RENDERER__: false,
|
|
19
|
+
// various ecosystems use this global (react for example)
|
|
20
|
+
__TEST__: false,
|
|
21
|
+
// determine if running in CI environment
|
|
22
|
+
__CI__: JSON.stringify(!!opts.isCI),
|
|
23
|
+
__NS_APP_ROOT_DIR__: JSON.stringify(APP_ROOT_DIR),
|
|
24
|
+
__NS_APP_ROOT_VIRTUAL__: JSON.stringify(APP_ROOT_VIRTUAL),
|
|
25
|
+
// Critical for various integrations (e.g. Vue only includes hmr runtime on this condition)
|
|
26
|
+
'process.env.NODE_ENV': JSON.stringify(opts.targetMode === 'development' ? 'development' : 'production'),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=global-defines.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-defines.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/global-defines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEzE,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;AACzC,MAAM,gBAAgB,GAAG,wBAAwB,EAAE,CAAC;AAEpD,MAAM,UAAU,gBAAgB,CAAC,IAAgG;IAChI,OAAO;QACN,2CAA2C;QAC3C,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;QACxD,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC;QAChD,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC;QAC1D,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC;QAClF,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,KAAK,aAAa,CAAC;QAC1D,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,KAAK;QACrB,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;QAChD,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;QACjD,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAC1C,qBAAqB,EAAE,IAAI;QAC3B,4BAA4B,EAAE,KAAK;QACnC,yDAAyD;QACzD,QAAQ,EAAE,KAAK;QACf,yCAAyC;QACzC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACnC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QACjD,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QACzD,2FAA2F;QAC3F,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;KACxG,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function runInit(): Promise<void>;
|
package/helpers/init.js
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { createRequire } from 'node:module';
|
|
4
|
+
import { determineProjectFlavor } from './flavor.js';
|
|
5
|
+
import { getProjectFilePath, getProjectRootPath } from './project.js';
|
|
6
|
+
const require = createRequire(import.meta.url);
|
|
7
|
+
const DEV_DEPS = {
|
|
8
|
+
concurrently: '^9.0.0',
|
|
9
|
+
'wait-on': '^9.0.0',
|
|
10
|
+
};
|
|
11
|
+
const RUNTIME_DEPS = {
|
|
12
|
+
'@valor/nativescript-websockets': '^2.0.2',
|
|
13
|
+
};
|
|
14
|
+
function readPackageJson() {
|
|
15
|
+
const pkgPath = getProjectFilePath('package.json');
|
|
16
|
+
const raw = fs.readFileSync(pkgPath, 'utf8');
|
|
17
|
+
return JSON.parse(raw);
|
|
18
|
+
}
|
|
19
|
+
function writePackageJson(pkg) {
|
|
20
|
+
const pkgPath = getProjectFilePath('package.json');
|
|
21
|
+
fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n', 'utf8');
|
|
22
|
+
}
|
|
23
|
+
function ensureDependencies(pkg) {
|
|
24
|
+
pkg.dependencies = pkg.dependencies ?? {};
|
|
25
|
+
pkg.devDependencies = pkg.devDependencies ?? {};
|
|
26
|
+
for (const [name, version] of Object.entries(DEV_DEPS)) {
|
|
27
|
+
pkg.devDependencies[name] = version;
|
|
28
|
+
}
|
|
29
|
+
for (const [name, version] of Object.entries(RUNTIME_DEPS)) {
|
|
30
|
+
pkg.dependencies[name] = version;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function ensureScripts(pkg) {
|
|
34
|
+
pkg.scripts = pkg.scripts ?? {};
|
|
35
|
+
pkg.scripts['dev:ios'] = "concurrently -k -n vite,ns 'npm run dev:server:ios' 'wait-on tcp:5173 && npm run ios'";
|
|
36
|
+
pkg.scripts['dev:android'] = "concurrently -k -n vite,ns 'npm run dev:server:android' 'wait-on tcp:5173 && npm run android'";
|
|
37
|
+
pkg.scripts['dev:server:ios'] = 'VITE_DEBUG_LOGS=1 vite serve -- --env.ios --env.hmr';
|
|
38
|
+
pkg.scripts['dev:server:android'] = 'VITE_DEBUG_LOGS=1 vite serve -- --env.android --env.hmr';
|
|
39
|
+
pkg.scripts['ios'] = 'VITE_DEBUG_LOGS=1 ns debug ios';
|
|
40
|
+
pkg.scripts['android'] = 'VITE_DEBUG_LOGS=1 ns debug android';
|
|
41
|
+
}
|
|
42
|
+
function ensureGitignore() {
|
|
43
|
+
const root = getProjectRootPath();
|
|
44
|
+
const gitignorePath = path.join(root, '.gitignore');
|
|
45
|
+
let contents = '';
|
|
46
|
+
if (fs.existsSync(gitignorePath)) {
|
|
47
|
+
contents = fs.readFileSync(gitignorePath, 'utf8');
|
|
48
|
+
}
|
|
49
|
+
if (!contents.split(/\r?\n/).includes('.ns-vite-build')) {
|
|
50
|
+
if (contents.length && !contents.endsWith('\n')) {
|
|
51
|
+
contents += '\n';
|
|
52
|
+
}
|
|
53
|
+
contents += '.ns-vite-build\n';
|
|
54
|
+
fs.writeFileSync(gitignorePath, contents, 'utf8');
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function resolveFlavor() {
|
|
58
|
+
const flavor = determineProjectFlavor();
|
|
59
|
+
if (!flavor) {
|
|
60
|
+
return 'javascript';
|
|
61
|
+
}
|
|
62
|
+
return flavor;
|
|
63
|
+
}
|
|
64
|
+
function getFlavorImportAndConfig(flavor) {
|
|
65
|
+
switch (flavor) {
|
|
66
|
+
case 'angular':
|
|
67
|
+
return {
|
|
68
|
+
importLine: "import { angularConfig } from '@nativescript/vite';",
|
|
69
|
+
configExpr: 'angularConfig({})',
|
|
70
|
+
};
|
|
71
|
+
case 'react':
|
|
72
|
+
return {
|
|
73
|
+
importLine: "import { reactConfig } from '@nativescript/vite';",
|
|
74
|
+
configExpr: 'reactConfig({})',
|
|
75
|
+
};
|
|
76
|
+
case 'solid':
|
|
77
|
+
return {
|
|
78
|
+
importLine: "import { solidConfig } from '@nativescript/vite';",
|
|
79
|
+
configExpr: 'solidConfig({})',
|
|
80
|
+
};
|
|
81
|
+
case 'vue':
|
|
82
|
+
return {
|
|
83
|
+
importLine: "import { vueConfig } from '@nativescript/vite';",
|
|
84
|
+
configExpr: 'vueConfig({})',
|
|
85
|
+
};
|
|
86
|
+
case 'typescript':
|
|
87
|
+
return {
|
|
88
|
+
importLine: "import { typescriptConfig } from '@nativescript/vite';",
|
|
89
|
+
configExpr: 'typescriptConfig({})',
|
|
90
|
+
};
|
|
91
|
+
case 'javascript':
|
|
92
|
+
default:
|
|
93
|
+
return {
|
|
94
|
+
importLine: "import { javascriptConfig } from '@nativescript/vite';",
|
|
95
|
+
configExpr: 'javascriptConfig({})',
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function ensureViteConfig() {
|
|
100
|
+
const root = getProjectRootPath();
|
|
101
|
+
const viteConfigPath = path.join(root, 'vite.config.ts');
|
|
102
|
+
if (fs.existsSync(viteConfigPath)) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const flavor = resolveFlavor();
|
|
106
|
+
const { importLine, configExpr } = getFlavorImportAndConfig(flavor);
|
|
107
|
+
const contents = `import { defineConfig } from 'vite';\n${importLine};\n\nexport default defineConfig(({ mode }) => ${configExpr});\n`;
|
|
108
|
+
fs.writeFileSync(viteConfigPath, contents, 'utf8');
|
|
109
|
+
}
|
|
110
|
+
export async function runInit() {
|
|
111
|
+
const pkg = readPackageJson();
|
|
112
|
+
ensureDependencies(pkg);
|
|
113
|
+
ensureScripts(pkg);
|
|
114
|
+
writePackageJson(pkg);
|
|
115
|
+
ensureGitignore();
|
|
116
|
+
ensureViteConfig();
|
|
117
|
+
console.log('[@nativescript/vite] Project initialized for Vite dev server.');
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/init.ts"],"names":[],"mappings":"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"}
|