MCPcopy Index your code
hub / github.com/NativeScript/NativeScript / cleanCode

Function cleanCode

packages/vite/hmr/server/websocket.ts:893–981  ·  view source on GitHub ↗

* Clean code: remove Vite/Vue noise, rewrite to vendor

(code: string)

Source from the content-addressed store, hash-verified

891 * Clean code: remove Vite/Vue noise, rewrite to vendor
892 */
893function cleanCode(code: string): string {
894 let result = code;
895
896 // Remove Vite client and hot module noise
897 result = result.replace(PAT.VITE_CLIENT_IMPORT, '');
898 result = result.replace(PAT.IMPORT_META_HOT_ASSIGNMENT, '');
899 // Keep import.meta.hot call sites; runtime now provides a stable import.meta.hot.
900
901 result = ACTIVE_STRATEGY.preClean(result);
902 result = ACTIVE_STRATEGY.rewriteFrameworkImports(result);
903
904 // Vendor manifest-driven import rewrites
905 try {
906 const manifest = getVendorManifest();
907 if (manifest) {
908 // Pattern: capture full import statement (static) with optional bindings
909 // import X from 'pkg'; | import {a,b as c} from "pkg"; | import * as ns from 'pkg';
910 const staticImportRE = /(import\s+([^;]*?)\s+from\s*["'])([^"']+)(["'];?)/g;
911 result = result.replace(staticImportRE, (full, pre, bindings, spec, post) => {
912 // Do not vendor-rewrite @nativescript/core — handled by the unified HTTP bridge later
913 if (isNativeScriptCoreModule(spec)) return full;
914 const resolved = resolveVendorSpecifier(spec);
915 if (!resolved || /^@nativescript\/core(\b|\/)/i.test(resolved)) return full; // not vendor or is core
916 // Determine binding style
917 const trimmed = (bindings || '').trim();
918 let injected = '';
919 if (!trimmed || trimmed === '') {
920 // Side-effect import: import 'pkg'; -> we drop it (vendor already evaluated)
921 return `/* vendor side-effect dropped: ${spec} */`;
922 }
923 // Default + named or default only
924 // Examples of trimmed:
925 // defaultExport
926 // { a, b as c }
927 // * as ns
928 // defaultExport, { a, b }
929 const globalAccessor = `globalThis.__nsVendor && globalThis.__nsVendor(${JSON.stringify(resolved)})`;
930 const ensureHelper = `globalThis.__nsVendor=require? (globalThis.__nsVendor|| (globalThis.__nsVendor=(id)=>{const m=(globalThis.__NS_VENDOR_MANIFEST__?globalThis.__NS_VENDOR_MANIFEST__.modules[id]:null);return (globalThis.__nsModules && globalThis.__nsModules.get? (globalThis.__nsModules.get(id)||globalThis.__nsModules.get(m?.id||id)):undefined);})):globalThis.__nsVendor`;
931 if (trimmed.startsWith('{')) {
932 // Named only
933 injected = `${ensureHelper}; const ${trimmed} = ${globalAccessor} || {};`;
934 } else if (trimmed.startsWith('*')) {
935 // Namespace import: * as ns
936 const m = /\*\s+as\s+(\w+)/.exec(trimmed);
937 if (m) {
938 injected = `${ensureHelper}; const ${m[1]} = ${globalAccessor} || {};`;
939 }
940 } else if (trimmed.includes(',')) {
941 // default plus named
942 const parts = trimmed.split(',');
943 const def = parts[0].trim();
944 const named = parts.slice(1).join(',').trim();
945 injected = `${ensureHelper}; const __vmod = ${globalAccessor} || {}; const ${def} = __vmod.default || __vmod; const ${named} = __vmod;`;
946 } else {
947 // default only
948 injected = `${ensureHelper}; const ${trimmed} = (${globalAccessor}||{}).default || ${globalAccessor};`;
949 }
950 return injected;

Callers 2

configureServerFunction · 0.85
handleHotUpdateFunction · 0.85

Calls 10

isNativeScriptCoreModuleFunction · 0.85
stripCoreGlobalsImportsFunction · 0.85
replaceMethod · 0.80
preCleanMethod · 0.80
includesMethod · 0.80
joinMethod · 0.80
postCleanMethod · 0.80
testMethod · 0.45
sliceMethod · 0.45

Tested by

no test coverage detected