diff --git a/dist/rollup-plugin-typescript2.cjs.js b/dist/rollup-plugin-typescript2.cjs.js index 8681abe..5379e1f 100644 --- a/dist/rollup-plugin-typescript2.cjs.js +++ b/dist/rollup-plugin-typescript2.cjs.js @@ -5,6 +5,7 @@ var ts = require('typescript'); var rollupPluginutils = require('rollup-pluginutils'); var fs = require('fs'); var path = require('path'); +var _ = require('lodash'); const __assign = Object.assign || function (target) { for (var source, i = 1; i < arguments.length; i++) { @@ -18,13 +19,13 @@ const __assign = Object.assign || function (target) { return target; }; -var _ = require("lodash"); -function getDefaultOptions() { +function getOptionsOverrides() { return { - noEmitHelpers: true, module: ts.ModuleKind.ES2015, sourceMap: true, + noEmitHelpers: true, importHelpers: true, + noResolve: false, }; } // Gratefully lifted from 'look-up', due to problems using it directly: @@ -50,6 +51,7 @@ function findFile(cwd, filename) { var TSLIB = "tslib"; var tslibSource; try { + // tslint:disable-next-line:no-string-literal no-var-requires var tslibPath = require.resolve("tslib/" + require("tslib/package.json")["module"]); tslibSource = fs.readFileSync(tslibPath, "utf8"); } @@ -61,7 +63,7 @@ function parseTsConfig() { var fileName = findFile(process.cwd(), "tsconfig.json"); var text = ts.sys.readFile(fileName); var result = ts.parseConfigFileTextToJson(fileName, text); - var configParseResult = ts.parseJsonConfigFileContent(result.config, ts.sys, path.dirname(fileName), getDefaultOptions(), fileName); + var configParseResult = ts.parseJsonConfigFileContent(result.config, ts.sys, path.dirname(fileName), getOptionsOverrides(), fileName); return configParseResult; } function printDiagnostics(context, diagnostics) { @@ -82,8 +84,6 @@ function typescript(options) { delete options.include; delete options.exclude; var parsedConfig = parseTsConfig(); - if (parsedConfig.options.module !== ts.ModuleKind.ES2015) - throw new Error("rollup-plugin-typescript2: The module kind should be 'es2015', found: '" + ts.ModuleKind[parsedConfig.options.module] + "'"); var servicesHost = { getScriptFileNames: function () { return parsedConfig.fileNames; }, getScriptVersion: function (_fileName) { return "0"; }, diff --git a/dist/rollup-plugin-typescript2.es.js b/dist/rollup-plugin-typescript2.es.js index 03839a5..fb83cb8 100644 --- a/dist/rollup-plugin-typescript2.es.js +++ b/dist/rollup-plugin-typescript2.es.js @@ -6,6 +6,8 @@ import { existsSync, readFileSync } from 'fs'; import * as fs from 'fs'; import { dirname, sep } from 'path'; import * as path from 'path'; +import { endsWith, find } from 'lodash'; +import * as _ from 'lodash'; const __assign = Object.assign || function (target) { for (var source, i = 1; i < arguments.length; i++) { @@ -19,13 +21,13 @@ const __assign = Object.assign || function (target) { return target; }; -var _ = require("lodash"); -function getDefaultOptions() { +function getOptionsOverrides() { return { - noEmitHelpers: true, module: ModuleKind.ES2015, sourceMap: true, + noEmitHelpers: true, importHelpers: true, + noResolve: false, }; } // Gratefully lifted from 'look-up', due to problems using it directly: @@ -51,6 +53,7 @@ function findFile(cwd, filename) { var TSLIB = "tslib"; var tslibSource; try { + // tslint:disable-next-line:no-string-literal no-var-requires var tslibPath = require.resolve("tslib/" + require("tslib/package.json")["module"]); tslibSource = readFileSync(tslibPath, "utf8"); } @@ -62,7 +65,7 @@ function parseTsConfig() { var fileName = findFile(process.cwd(), "tsconfig.json"); var text = sys.readFile(fileName); var result = parseConfigFileTextToJson(fileName, text); - var configParseResult = parseJsonConfigFileContent(result.config, sys, dirname(fileName), getDefaultOptions(), fileName); + var configParseResult = parseJsonConfigFileContent(result.config, sys, dirname(fileName), getOptionsOverrides(), fileName); return configParseResult; } function printDiagnostics(context, diagnostics) { @@ -83,8 +86,6 @@ function typescript(options) { delete options.include; delete options.exclude; var parsedConfig = parseTsConfig(); - if (parsedConfig.options.module !== ModuleKind.ES2015) - throw new Error("rollup-plugin-typescript2: The module kind should be 'es2015', found: '" + ModuleKind[parsedConfig.options.module] + "'"); var servicesHost = { getScriptFileNames: function () { return parsedConfig.fileNames; }, getScriptVersion: function (_fileName) { return "0"; }, @@ -107,7 +108,7 @@ function typescript(options) { importer = importer.split("\\").join("/"); var result = nodeModuleNameResolver(importee, importer, parsedConfig.options, sys); if (result.resolvedModule && result.resolvedModule.resolvedFileName) { - if (_.endsWith(result.resolvedModule.resolvedFileName, ".d.ts")) + if (endsWith(result.resolvedModule.resolvedFileName, ".d.ts")) return null; return result.resolvedModule.resolvedFileName; } @@ -128,8 +129,8 @@ function typescript(options) { printDiagnostics(this, allDiagnostics); if (output.emitSkipped) this.error({ message: "failed to transpile " + id }); - var code = _.find(output.outputFiles, function (entry) { return _.endsWith(entry.name, ".js"); }); - var map = _.find(output.outputFiles, function (entry) { return _.endsWith(entry.name, ".map"); }); + var code = find(output.outputFiles, function (entry) { return endsWith(entry.name, ".js"); }); + var map = find(output.outputFiles, function (entry) { return endsWith(entry.name, ".map"); }); return { code: code ? code.text : undefined, map: map ? JSON.parse(map.text) : { mappings: "" }, diff --git a/package.json b/package.json index d3113ca..b22bee2 100644 --- a/package.json +++ b/package.json @@ -23,23 +23,22 @@ "lint": "tslint -c ./tslint.json src/*.ts", "postinstall": "typings install" }, - "dependencies": {}, + "dependencies": { + "lodash": "^4.17.4", + "rollup-pluginutils": "^2.0.1", + "tslib": "^1.5.0" + }, "peerDependencies": { - "typescript": "^2.1.5" + "typescript": "^2.0" }, "devDependencies": { "@alexlur/rollup-plugin-typescript": "^0.8.1", + "@types/lodash": "^4.14.52", "@types/node": "^6.0.53", - "glob": "^7.1.1", - "glob-fs": "^0.1.6", - "lodash": "^4.17.4", "rimraf": "^2.5.4", "rollup": "^0.41.4", - "rollup-pluginutils": "^2.0.1", - "tslib": "^1.5.0", - "tslint": "^4.1.1", - "typescript": "^2.1.5", - "typings": "^2.1.0" + "tslint": "^4.4.2", + "typescript": "^2.1.5" }, "repository": { "type": "git", diff --git a/rollup.config.js b/rollup.config.js index ff8c2c4..38d926a 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -10,7 +10,8 @@ export default { 'fs', 'object-assign', 'rollup-pluginutils', - 'typescript' + 'typescript', + 'lodash' ], plugins: [ diff --git a/src/index.ts b/src/index.ts index c5cbdfb..253a2cd 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,9 +3,9 @@ import { createFilter } from "rollup-pluginutils"; import * as fs from "fs"; import * as path from "path"; import { existsSync } from "fs"; -const _ = require("lodash") as lodash; +import * as _ from "lodash"; -function getOptionsOverrides() +function getOptionsOverrides(): ts.CompilerOptions { return { module: ts.ModuleKind.ES2015, @@ -49,6 +49,7 @@ const TSLIB = "tslib"; let tslibSource: string; try { + // tslint:disable-next-line:no-string-literal no-var-requires const tslibPath = require.resolve("tslib/" + require("tslib/package.json")["module"]); tslibSource = fs.readFileSync(tslibPath, "utf8"); } catch (e) @@ -102,9 +103,6 @@ export default function typescript (options: any) let parsedConfig = parseTsConfig(); - if (parsedConfig.options.module !== ts.ModuleKind.ES2015) - throw new Error( `rollup-plugin-typescript2: The module kind should be 'es2015', found: '${ts.ModuleKind[parsedConfig.options.module]}'` ); - const servicesHost: ts.LanguageServiceHost = { getScriptFileNames: () => parsedConfig.fileNames, getScriptVersion: (_fileName) => "0", diff --git a/typings.json b/typings.json deleted file mode 100644 index 71d555d..0000000 --- a/typings.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "rollup-plugin-typescript2", - "dependencies": { - "lodash": "registry:dt/lodash" - }, - "globalDependencies": { - } -}