JSPM

  • Created
  • Published
  • Downloads 3536
  • Score
    100M100P100Q124218F
  • License MIT

A Broccoli plugin which compiles TypeScript files.

Package Exports

  • broccoli-typescript-compiler
  • broccoli-typescript-compiler/dist/index.cjs.js
  • broccoli-typescript-compiler/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (broccoli-typescript-compiler) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

broccoli-typescript-compiler

Build Status

A Broccoli plugin which compiles TypeScript files.

How to install?

$ npm install broccoli-typescript-compiler --save-dev

How to use?

var typescript = require("broccoli-typescript-compiler").default;
var cjsTree = typescript(inputTree, {
  tsconfig: {
    compilerOptions: {
      module: "commonjs",
      target: "es5",
      moduleResolution: "node",
      newLine: "LF",
      rootDir: "src",
      outDir: "dist",
      sourceMap: true,
      declaration: true,
    },
    files: ["src/index.ts", "src/tests/**"],
  },
  throwOnError: false,
  annotation: "compile program",
});

Config Options:

tsconfig:

annotation:

An optional string, which when provide should be a descriptive annotation. Useful for debugging, to tell multiple instances of the same plugin apart.

throwOnError

An optional boolean, defaulting to false. If set to true, will cause the build to break on errors.

note: if process.env.NODE_ENV === 'production' is true, throwOnError will default to true.

Ways to use:

via the broccoli plugin subclass

This outputs only the emitted files from the compiled program.

const { TypescriptCompiler } = require("broccoli-typescript-compiler");
let compiled = new TypescriptCompiler(input, options);

via function

This outputs only the emitted files from the compiled program.

const { default: typescript } = require("broccoli-typescript-compiler");

let compiled = typescript(src, options);

filter function (passthrough non .ts files)

This selects only ts files from the input to compile and merges emitted files with the non ts files in the input.

const { filterTypescript } = require("broccoli-typescript-compiler");
let output = filterTypescript(input, options);

Development

How to upgrade typescript

  1. Initialize git submodules. git submodule update --init
  2. Update typescript in package.json
  3. Run yarn run generate-tsconfig-interface
  4. Update vendor/typescript. cd vendor/typescript && git fetch --tags && git checkout v[new-version-of-typescript]
  5. Commit all of the above changes
  6. Run yarn test. There may be some changes needed to the tests to accomidate changes in TypeScript.