@magic-works/commonjs-import.meta
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

import.meta => __filename

Usage

npm i -D @magic-works/commonjs-import.meta ttypescript typescript ts-node
yarn add -D @magic-works/commonjs-import.meta ttypescript typescript ts-node
pnpm i -D @magic-works/commonjs-import.meta ttypescript typescript ts-node

This package works with ttypescript.

Add the following to your tsconfig.json.

{
    "compilerOptions": {
        "plugins": [{ "transform": "@magic-works/commonjs-import.meta" }]
    }
}

Use with ts-node in tsconfig.json

{
    "ts-node": {
        "compilerOptions": {
            "module": "CommonJS",
            "plugins": [{ "transform": "@magic-works/commonjs-import.meta" }]
        },
        "compiler": "ttypescript",
        // One of:
        "ignoreDiagnostics": [1343],
        // Or:
        "transpileOnly": true
        // To mute The 'import.meta' meta-property is only allowed when the '--module' option is 'esnext' or 'system'.ts(1343)
    }
}

Transformation

This transformer did the following thing:

Add the following code to every file:

const __meta = { url: require('url').pathToFileURL(__filename).href }
Object.setPrototypeOf(__meta, null)

And it replace every import.meta into __meta.

Package Sidebar

Install

npm i @magic-works/commonjs-import.meta

Weekly Downloads

73

Version

1.0.1

License

MIT

Unpacked Size

11.7 kB

Total Files

8

Last publish

Collaborators

  • jackworks