MCPcopy
hub / github.com/sveltejs/svelte-preprocess / sveltePreprocess

Function sveltePreprocess

src/autoProcess.ts:59–279  ·  view source on GitHub ↗
(
  {
    aliases,
    markupTagName = 'template',
    sourceMap = process?.env?.NODE_ENV === 'development' || false,
    ...rest
  } = {} as AutoPreprocessOptions,
)

Source from the content-addressed store, hash-verified

57};
58
59export function sveltePreprocess(
60 {
61 aliases,
62 markupTagName = 'template',
63 sourceMap = process?.env?.NODE_ENV === 'development' || false,
64 ...rest
65 } = {} as AutoPreprocessOptions,
66): AutoPreprocessGroup {
67 const transformers = rest as Transformers;
68
69 if (aliases?.length) {
70 addLanguageAlias(aliases);
71 }
72
73 function resolveLanguageArgs(lang: string, alias?: string | null) {
74 const langOpts = transformers[lang];
75 const aliasOpts = alias ? transformers[alias] : undefined;
76
77 const opts: Record<string, any> = {};
78
79 if (typeof langOpts === 'object') {
80 Object.assign(opts, langOpts);
81 }
82
83 Object.assign(opts, getLanguageDefaults(lang), getLanguageDefaults(alias));
84
85 if (lang !== alias && typeof aliasOpts === 'object') {
86 Object.assign(opts, aliasOpts);
87 }
88
89 if (sourceMap && lang in SOURCE_MAP_PROP_MAP) {
90 const [path, value] = SOURCE_MAP_PROP_MAP[lang];
91
92 setProp(opts, path, value);
93 }
94
95 return opts;
96 }
97
98 function getTransformerOptions(
99 lang?: string | null,
100 alias?: string | null,
101 { ignoreAliasOverride }: { ignoreAliasOverride?: boolean } = {},
102 ): TransformerOptions<unknown> {
103 if (lang == null) return null;
104
105 const langOpts = transformers[lang];
106 const aliasOpts = alias ? transformers[alias] : undefined;
107
108 if (!ignoreAliasOverride && typeof aliasOpts === 'function') {
109 return aliasOpts;
110 }
111
112 if (typeof langOpts === 'function') return langOpts;
113 if (aliasOpts === false || langOpts === false) return false;
114
115 return resolveLanguageArgs(lang, alias);
116 }

Callers 15

sourceMaps.test.tsFile · 0.90
style.test.tsFile · 0.90
script.test.tsFile · 0.90
markup.test.tsFile · 0.90
postcss.test.tsFile · 0.90
babel.test.tsFile · 0.90
pug.test.tsFile · 0.90
autoProcessTSFunction · 0.90
typescript.test.tsFile · 0.90
less.test.tsFile · 0.90

Calls 2

addLanguageAliasFunction · 0.90
getTransformerToFunction · 0.85

Tested by 1

autoProcessTSFunction · 0.72