swc-project/swc · error · SyntaxError

Cannot use import.meta outside a module

Error message

Cannot use import.meta outside a module

What it means

Error "Cannot use import.meta outside a module" thrown in swc-project/swc.

Source

Thrown at bindings/binding_nodejs_support_wasm/src/nodejs.rs:1144

fn import_binding_access(binding: &ImportBinding) -> String {
    format!(
        "{}{}",
        binding.namespace,
        export_property_access(&binding.export_name)
    )
}

fn export_property_access(export_name: &str) -> String {
    if is_identifier_name(export_name) {
        format!(".{export_name}")
    } else {
        format!("[{}]", json_string(export_name))
    }
}

fn import_meta_error_expression() -> String {
    "(() => { throw new SyntaxError(\"Cannot use import.meta outside a module\"); })()".to_string()
}

fn import_assignment_error_expression() -> String {
    "(() => { throw new TypeError(\"Assignment to constant variable.\"); })()".to_string()
}

fn is_identifier_name(value: &str) -> bool {
    let mut chars = value.chars();
    let Some(first) = chars.next() else {
        return false;
    };

    if !(first == '_' || first == '$' || first.is_ascii_alphabetic()) {
        return false;
    }

    chars.all(|ch| ch == '_' || ch == '$' || ch.is_ascii_alphanumeric())
}

View on GitHub (pinned to d7d7434666)

When it happens

Trigger: Thrown at bindings/binding_nodejs_support_wasm/src/nodejs.rs:1144 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of swc-project/swc@d7d7434666 (2026-08-16). Data as JSON: /api/errors/a2f3bedd3bf7ef06. Report an issue: GitHub.