Negatively Proportional Model

    @detachhead/ts-transform-paths
    TypeScript icon, indicating that this package has built-in type declarations

    0.0.0-temp • Public • Published

    ts-transform-paths

    travis npm-version npm-downloads license

    Use this to load modules whose location is specified in the paths section of tsconfig.json.

    Install

    yarn add ts-transform-paths -D

    Requirement

    TypeScript >= 2.4.1

    How to use

    Unfortunately, TypeScript itself does not currently provide any easy way to use custom transformers (See https://github.com/Microsoft/TypeScript/issues/14419). The followings are the example usage of the custom transformer.

    tsconfig.json

    {
      "compilerOptions": {
        "paths": {
          "@schema": ["./src/schema"],
          "@modules/*": ["./src/modules/*"]
        }
      }
    }

    webpack (with ts-loader or awesome-typescript-loader)

    // webpack.config.js
    const pathsTransformer = require("ts-transform-paths").default;
    
    module.exports = {
      // ...
      module: {
        rules: [
          {
            test: /\.ts$/,
            loader: "ts-loader", // or 'awesome-typescript-loader'
            options: {
              getCustomTransformers: (program) => pathsTransformer()
            }
          }
        ]
      }
    };

    Rollup (with rollup-plugin-typescript2)

    // rollup.config.js
    import typescript from "rollup-plugin-typescript2";
    import pathsTransformer from "ts-transform-paths";
    
    export default {
      // ...
      plugins: [
        typescript({
          transformers: [
            (service) => pathsTransformer()
          ]
        })
      ]
    };

    ttypescript

    See ttypescript's README for how to use this with module bundlers such as webpack or Rollup.

    // tsconfig.json
    {
      "compilerOptions": {
        // ...
        "plugins": [{ "transform": "ts-transform-paths" }]
      }
      // ...
    }

    ts-node

    // my-ts-script.ts
    import { MyClass } from "@schema";
    
    const myClass = new MyClass("Message");
    // index.js
    const pathsTransformer = require("ts-transform-paths").default;
    
    require("ts-node").register({
      transformers: pathsTransformer()
    });
    
    require("./my-ts-script");
    yarn node ./index.js

    Thanks

    Install

    npm i @detachhead/ts-transform-paths

    DownloadsWeekly Downloads

    2

    Version

    0.0.0-temp

    License

    MIT

    Unpacked Size

    15.8 kB

    Total Files

    15

    Last publish

    Collaborators

    • detachhead