mirror of https://github.com/sveltejs/svelte
parent
c7f8749b92
commit
9583d72c92
@ -0,0 +1,20 @@
|
||||
import MagicString from 'magic-string';
|
||||
|
||||
export function magic_string_preprocessor_result(filename: string, src: MagicString) {
|
||||
return {
|
||||
code: src.toString(),
|
||||
map: src.generateMap({
|
||||
source: filename,
|
||||
hires: true,
|
||||
includeContent: false
|
||||
})
|
||||
};
|
||||
}
|
||||
|
||||
export function magic_string_replace_all(src: MagicString, search: string, replace: string) {
|
||||
let idx = src.original.indexOf(search);
|
||||
if (idx == -1) throw new Error('search not found in src');
|
||||
do {
|
||||
src.overwrite(idx, idx + search.length, replace, { storeName: true });
|
||||
} while ((idx = src.original.indexOf(search, idx + 1)) != -1);
|
||||
}
|
@ -1,18 +1,12 @@
|
||||
import MagicString from 'magic-string';
|
||||
import { magic_string_preprocessor_result, magic_string_replace_all } from '../../helpers';
|
||||
|
||||
export default {
|
||||
preprocess: {
|
||||
markup: ({ content, filename }) => {
|
||||
const src = new MagicString(content);
|
||||
const idx = content.indexOf('baritone');
|
||||
src.overwrite(idx, idx+'baritone'.length, 'bar');
|
||||
return {
|
||||
code: src.toString(),
|
||||
map: src.generateDecodedMap({
|
||||
source: filename,
|
||||
includeContent: false
|
||||
})
|
||||
};
|
||||
magic_string_replace_all(src, 'baritone', 'bar');
|
||||
return magic_string_preprocessor_result(filename, src);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -1,48 +1,25 @@
|
||||
import MagicString from 'magic-string';
|
||||
import { magic_string_preprocessor_result, magic_string_replace_all } from '../../helpers';
|
||||
|
||||
export default {
|
||||
preprocess: {
|
||||
markup: ({ content, filename }) => {
|
||||
const src = new MagicString(content);
|
||||
const idx = content.indexOf('baritone');
|
||||
src.overwrite(idx, idx + 'baritone'.length, 'bar');
|
||||
|
||||
const css_idx = content.indexOf('--bazitone');
|
||||
src.overwrite(css_idx, css_idx + '--bazitone'.length, '--baz');
|
||||
return {
|
||||
code: src.toString(),
|
||||
map: src.generateDecodedMap({
|
||||
source: filename,
|
||||
hires: true,
|
||||
includeContent: false
|
||||
})
|
||||
};
|
||||
magic_string_replace_all(src, 'baritone', 'bar');
|
||||
magic_string_replace_all(src, '--bazitone', '--baz');
|
||||
return magic_string_preprocessor_result(filename, src);
|
||||
},
|
||||
script: ({ content, filename }) => {
|
||||
const src = new MagicString(content);
|
||||
const idx = content.indexOf('bar');
|
||||
src.prependLeft(idx, ' ');
|
||||
return {
|
||||
code: src.toString(),
|
||||
map: src.generateDecodedMap({
|
||||
source: filename,
|
||||
hires: true,
|
||||
includeContent: false
|
||||
})
|
||||
};
|
||||
return magic_string_preprocessor_result(filename, src);
|
||||
},
|
||||
style: ({ content, filename }) => {
|
||||
const src = new MagicString(content);
|
||||
const idx = content.indexOf('--baz');
|
||||
src.prependLeft(idx, ' ');
|
||||
return {
|
||||
code: src.toString(),
|
||||
map: src.generateDecodedMap({
|
||||
source: filename,
|
||||
hires: true,
|
||||
includeContent: false
|
||||
})
|
||||
};
|
||||
return magic_string_preprocessor_result(filename, src);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -1,19 +1,12 @@
|
||||
import MagicString from 'magic-string';
|
||||
import { magic_string_preprocessor_result, magic_string_replace_all } from '../../helpers';
|
||||
|
||||
export default {
|
||||
preprocess: {
|
||||
script: ({ content, filename }) => {
|
||||
const src = new MagicString(content);
|
||||
const idx = content.indexOf('baritone');
|
||||
src.overwrite(idx, idx+'baritone'.length, 'bar');
|
||||
return {
|
||||
code: src.toString(),
|
||||
map: src.generateMap({
|
||||
source: filename,
|
||||
hires: true,
|
||||
includeContent: false
|
||||
})
|
||||
};
|
||||
magic_string_replace_all(src, 'baritone', 'bar');
|
||||
return magic_string_preprocessor_result(filename, src);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -1,19 +1,12 @@
|
||||
import MagicString from 'magic-string';
|
||||
import { magic_string_preprocessor_result, magic_string_replace_all } from '../../helpers';
|
||||
|
||||
export default {
|
||||
preprocess: {
|
||||
style: ({ content, filename }) => {
|
||||
const src = new MagicString(content);
|
||||
const idx = content.indexOf('baritone');
|
||||
src.overwrite(idx, idx+'baritone'.length, 'bar');
|
||||
return {
|
||||
code: src.toString(),
|
||||
map: src.generateMap({
|
||||
source: filename,
|
||||
hires: true,
|
||||
includeContent: false
|
||||
})
|
||||
};
|
||||
magic_string_replace_all(src, 'baritone', 'bar');
|
||||
return magic_string_preprocessor_result(filename, src);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
Loading…
Reference in new issue