make runes globally available

pull/16268/head
Rich Harris 3 months ago
parent 431d0683db
commit 13f7fbdb9b

@ -274,7 +274,8 @@ export function analyze_module(source, options) {
state.reset({ state.reset({
dev: options.dev, dev: options.dev,
filename: options.filename, filename: options.filename,
rootDir: options.rootDir rootDir: options.rootDir,
runes: true
}); });
walk( walk(
@ -517,7 +518,8 @@ export function analyze_component(root, source, options) {
state.reset({ state.reset({
dev: options.dev, dev: options.dev,
filename: options.filename, filename: options.filename,
rootDir: options.rootDir rootDir: options.rootDir,
runes: true
}); });
if (!runes) { if (!runes) {

@ -35,6 +35,7 @@ export interface ReactiveStatement {
export interface Analysis { export interface Analysis {
module: Js; module: Js;
name: string; // TODO should this be filename? it's used in `compileModule` as well as `compile` name: string; // TODO should this be filename? it's used in `compileModule` as well as `compile`
/** @deprecated use `runes` from `state.js` instead */
runes: boolean; runes: boolean;
immutable: boolean; immutable: boolean;
tracing: boolean; tracing: boolean;

@ -28,6 +28,8 @@ export let source;
*/ */
export let dev; export let dev;
export let runes = false;
export let locator = getLocator('', { offsetLine: 1 }); export let locator = getLocator('', { offsetLine: 1 });
/** @param {string} value */ /** @param {string} value */
@ -92,13 +94,19 @@ export function is_ignored(node, code) {
} }
/** /**
* @param {{ dev: boolean; filename: string; rootDir?: string }} state * @param {{
* dev: boolean;
* filename: string;
* rootDir?: string;
* runes: boolean;
* }} state
*/ */
export function reset(state) { export function reset(state) {
const root_dir = state.rootDir?.replace(/\\/g, '/'); const root_dir = state.rootDir?.replace(/\\/g, '/');
filename = state.filename.replace(/\\/g, '/'); filename = state.filename.replace(/\\/g, '/');
dev = !!state.dev; dev = !!state.dev;
runes = !!state.runes;
if (typeof root_dir === 'string' && filename.startsWith(root_dir)) { if (typeof root_dir === 'string' && filename.startsWith(root_dir)) {
// make filename relative to rootDir // make filename relative to rootDir

Loading…
Cancel
Save