mirror of
https://github.com/ezolenko/rollup-plugin-typescript2.git
synced 2025-12-08 19:06:16 +00:00
- tracking changes to automatic ambient types
This commit is contained in:
parent
bf90c3ad7e
commit
c59b8cece7
35
dist/rollup-plugin-typescript2.cjs.js
vendored
35
dist/rollup-plugin-typescript2.cjs.js
vendored
@ -241,7 +241,11 @@ var Cache = (function () {
|
||||
});
|
||||
this.dependencyTree = new graph.Graph({ directed: true });
|
||||
this.dependencyTree.setDefaultNodeLabel(function (_node) { return { dirty: false }; });
|
||||
var automaticTypes = _.map(ts.getAutomaticTypeDirectiveNames(options, ts.sys), function (entry) { return ts.resolveTypeReferenceDirective(entry, undefined, options, ts.sys); })
|
||||
.filter(function (entry) { return entry.resolvedTypeReferenceDirective && entry.resolvedTypeReferenceDirective.resolvedFileName; })
|
||||
.map(function (entry) { return entry.resolvedTypeReferenceDirective.resolvedFileName; });
|
||||
this.ambientTypes = _.filter(rootFilenames, function (file) { return _.endsWith(file, ".d.ts"); })
|
||||
.concat(automaticTypes)
|
||||
.map(function (id) { return { id: id, snapshot: _this.host.getScriptSnapshot(id) }; });
|
||||
this.init();
|
||||
}
|
||||
@ -371,23 +375,6 @@ function getOptionsOverrides() {
|
||||
noResolve: false,
|
||||
};
|
||||
}
|
||||
// Gratefully lifted from 'look-up', due to problems using it directly:
|
||||
// https://github.com/jonschlinkert/look-up/blob/master/index.js
|
||||
// MIT Licenced
|
||||
function findFile(cwd, filename) {
|
||||
var fp = cwd ? (cwd + "/" + filename) : filename;
|
||||
if (fs.existsSync(fp))
|
||||
return fp;
|
||||
var segs = cwd.split(path.sep);
|
||||
var len = segs.length;
|
||||
while (len--) {
|
||||
cwd = segs.slice(0, len).join("/");
|
||||
fp = cwd + "/" + filename;
|
||||
if (fs.existsSync(fp))
|
||||
return fp;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// The injected id for helpers.
|
||||
var TSLIB = "tslib";
|
||||
var tslibSource;
|
||||
@ -401,7 +388,7 @@ catch (e) {
|
||||
throw e;
|
||||
}
|
||||
function parseTsConfig(context) {
|
||||
var fileName = findFile(process.cwd(), "tsconfig.json");
|
||||
var fileName = ts.findConfigFile(process.cwd(), ts.sys.fileExists, "tsconfig.json");
|
||||
if (!fileName)
|
||||
throw new Error("couldn't find 'tsconfig.json' in " + process.cwd());
|
||||
var text = ts.sys.readFile(fileName);
|
||||
@ -445,7 +432,7 @@ function typescript(options) {
|
||||
check: true,
|
||||
verbosity: VerbosityLevel.Info,
|
||||
clean: false,
|
||||
cacheRoot: process.cwd() + "/.rts2_cache",
|
||||
cacheRoot: process.cwd() + "/.rpt2_cache",
|
||||
include: ["*.ts+(|x)", "**/*.ts+(|x)"],
|
||||
exclude: ["*.d.ts", "**/*.d.ts"],
|
||||
abortOnError: true,
|
||||
@ -458,6 +445,9 @@ function typescript(options) {
|
||||
var cache = new Cache(servicesHost, options.cacheRoot, parsedConfig.options, parsedConfig.fileNames, context);
|
||||
if (options.clean)
|
||||
cache.clean();
|
||||
// printing compiler option errors
|
||||
if (options.check)
|
||||
printDiagnostics(context, convertDiagnostic(services.getCompilerOptionsDiagnostics()));
|
||||
return {
|
||||
resolveId: function (importee, importer) {
|
||||
if (importee === TSLIB)
|
||||
@ -471,6 +461,7 @@ function typescript(options) {
|
||||
cache.setDependency(result.resolvedModule.resolvedFileName, importer);
|
||||
if (_.endsWith(result.resolvedModule.resolvedFileName, ".d.ts"))
|
||||
return null;
|
||||
context.debug("resolving " + importee + " to " + result.resolvedModule.resolvedFileName);
|
||||
return result.resolvedModule.resolvedFileName;
|
||||
}
|
||||
return null;
|
||||
@ -515,12 +506,6 @@ function typescript(options) {
|
||||
}
|
||||
return result;
|
||||
},
|
||||
intro: function () {
|
||||
context.debug("intro");
|
||||
// printing compiler option errors
|
||||
if (options.check)
|
||||
printDiagnostics(context, convertDiagnostic(services.getCompilerOptionsDiagnostics()));
|
||||
},
|
||||
outro: function () {
|
||||
context.debug("outro");
|
||||
cache.compileDone();
|
||||
|
||||
39
dist/rollup-plugin-typescript2.es.js
vendored
39
dist/rollup-plugin-typescript2.es.js
vendored
@ -1,7 +1,7 @@
|
||||
/* eslint-disable */
|
||||
import { emptyDirSync, ensureFile, ensureFileSync, existsSync, move, readFileSync, readJsonSync, readdirSync, remove, writeJson, writeJsonSync } from 'fs-extra';
|
||||
import * as fs from 'fs-extra';
|
||||
import { DiagnosticCategory, ModuleKind, ScriptSnapshot, createDocumentRegistry, createLanguageService, flattenDiagnosticMessageText, getDefaultLibFilePath, nodeModuleNameResolver, parseConfigFileTextToJson, parseJsonConfigFileContent, sys, version } from 'typescript';
|
||||
import { DiagnosticCategory, ModuleKind, ScriptSnapshot, createDocumentRegistry, createLanguageService, findConfigFile, flattenDiagnosticMessageText, getAutomaticTypeDirectiveNames, getDefaultLibFilePath, nodeModuleNameResolver, parseConfigFileTextToJson, parseJsonConfigFileContent, resolveTypeReferenceDirective, sys, version } from 'typescript';
|
||||
import * as ts from 'typescript';
|
||||
import { defaults, each, endsWith, filter, find, has, isEqual, map, some } from 'lodash';
|
||||
import * as _ from 'lodash';
|
||||
@ -9,7 +9,7 @@ import { Graph, alg } from 'graphlib';
|
||||
import * as graph from 'graphlib';
|
||||
import { sha1 } from 'object-hash';
|
||||
import * as hash from 'object-hash';
|
||||
import { dirname, sep } from 'path';
|
||||
import { dirname } from 'path';
|
||||
import * as path from 'path';
|
||||
import { red, white, yellow } from 'colors/safe';
|
||||
import * as colors from 'colors/safe';
|
||||
@ -246,7 +246,11 @@ var Cache = (function () {
|
||||
});
|
||||
this.dependencyTree = new Graph({ directed: true });
|
||||
this.dependencyTree.setDefaultNodeLabel(function (_node) { return { dirty: false }; });
|
||||
var automaticTypes = map(getAutomaticTypeDirectiveNames(options, sys), function (entry) { return resolveTypeReferenceDirective(entry, undefined, options, sys); })
|
||||
.filter(function (entry) { return entry.resolvedTypeReferenceDirective && entry.resolvedTypeReferenceDirective.resolvedFileName; })
|
||||
.map(function (entry) { return entry.resolvedTypeReferenceDirective.resolvedFileName; });
|
||||
this.ambientTypes = filter(rootFilenames, function (file) { return endsWith(file, ".d.ts"); })
|
||||
.concat(automaticTypes)
|
||||
.map(function (id) { return { id: id, snapshot: _this.host.getScriptSnapshot(id) }; });
|
||||
this.init();
|
||||
}
|
||||
@ -376,23 +380,6 @@ function getOptionsOverrides() {
|
||||
noResolve: false,
|
||||
};
|
||||
}
|
||||
// Gratefully lifted from 'look-up', due to problems using it directly:
|
||||
// https://github.com/jonschlinkert/look-up/blob/master/index.js
|
||||
// MIT Licenced
|
||||
function findFile(cwd, filename) {
|
||||
var fp = cwd ? (cwd + "/" + filename) : filename;
|
||||
if (existsSync(fp))
|
||||
return fp;
|
||||
var segs = cwd.split(sep);
|
||||
var len = segs.length;
|
||||
while (len--) {
|
||||
cwd = segs.slice(0, len).join("/");
|
||||
fp = cwd + "/" + filename;
|
||||
if (existsSync(fp))
|
||||
return fp;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// The injected id for helpers.
|
||||
var TSLIB = "tslib";
|
||||
var tslibSource;
|
||||
@ -406,7 +393,7 @@ catch (e) {
|
||||
throw e;
|
||||
}
|
||||
function parseTsConfig(context) {
|
||||
var fileName = findFile(process.cwd(), "tsconfig.json");
|
||||
var fileName = findConfigFile(process.cwd(), sys.fileExists, "tsconfig.json");
|
||||
if (!fileName)
|
||||
throw new Error("couldn't find 'tsconfig.json' in " + process.cwd());
|
||||
var text = sys.readFile(fileName);
|
||||
@ -450,7 +437,7 @@ function typescript(options) {
|
||||
check: true,
|
||||
verbosity: VerbosityLevel.Info,
|
||||
clean: false,
|
||||
cacheRoot: process.cwd() + "/.rts2_cache",
|
||||
cacheRoot: process.cwd() + "/.rpt2_cache",
|
||||
include: ["*.ts+(|x)", "**/*.ts+(|x)"],
|
||||
exclude: ["*.d.ts", "**/*.d.ts"],
|
||||
abortOnError: true,
|
||||
@ -463,6 +450,9 @@ function typescript(options) {
|
||||
var cache = new Cache(servicesHost, options.cacheRoot, parsedConfig.options, parsedConfig.fileNames, context);
|
||||
if (options.clean)
|
||||
cache.clean();
|
||||
// printing compiler option errors
|
||||
if (options.check)
|
||||
printDiagnostics(context, convertDiagnostic(services.getCompilerOptionsDiagnostics()));
|
||||
return {
|
||||
resolveId: function (importee, importer) {
|
||||
if (importee === TSLIB)
|
||||
@ -476,6 +466,7 @@ function typescript(options) {
|
||||
cache.setDependency(result.resolvedModule.resolvedFileName, importer);
|
||||
if (endsWith(result.resolvedModule.resolvedFileName, ".d.ts"))
|
||||
return null;
|
||||
context.debug("resolving " + importee + " to " + result.resolvedModule.resolvedFileName);
|
||||
return result.resolvedModule.resolvedFileName;
|
||||
}
|
||||
return null;
|
||||
@ -520,12 +511,6 @@ function typescript(options) {
|
||||
}
|
||||
return result;
|
||||
},
|
||||
intro: function () {
|
||||
context.debug("intro");
|
||||
// printing compiler option errors
|
||||
if (options.check)
|
||||
printDiagnostics(context, convertDiagnostic(services.getCompilerOptionsDiagnostics()));
|
||||
},
|
||||
outro: function () {
|
||||
context.debug("outro");
|
||||
cache.compileDone();
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "rollup-plugin-typescript2",
|
||||
"version": "0.2.1",
|
||||
"version": "0.2.2",
|
||||
"description": "Seamless integration between Rollup and TypeScript. Now with errors.",
|
||||
"main": "dist/rollup-plugin-typescript2.cjs.js",
|
||||
"module": "dist/rollup-plugin-typescript2.es.js",
|
||||
|
||||
@ -74,8 +74,14 @@ export class Cache
|
||||
this.dependencyTree = new graph.Graph({ directed: true });
|
||||
this.dependencyTree.setDefaultNodeLabel((_node: string) => { return { dirty: false }; });
|
||||
|
||||
const automaticTypes = _
|
||||
.map(ts.getAutomaticTypeDirectiveNames(options, ts.sys), (entry) => ts.resolveTypeReferenceDirective(entry, undefined, options, ts.sys))
|
||||
.filter((entry) => entry.resolvedTypeReferenceDirective && entry.resolvedTypeReferenceDirective.resolvedFileName)
|
||||
.map((entry) => entry.resolvedTypeReferenceDirective!.resolvedFileName!);
|
||||
|
||||
this.ambientTypes = _
|
||||
.filter(rootFilenames, (file) => _.endsWith(file, ".d.ts"))
|
||||
.concat(automaticTypes)
|
||||
.map((id) => { return { id, snapshot: this.host.getScriptSnapshot(id) }; });
|
||||
|
||||
this.init();
|
||||
|
||||
44
src/index.ts
44
src/index.ts
@ -22,30 +22,6 @@ function getOptionsOverrides(): ts.CompilerOptions
|
||||
};
|
||||
}
|
||||
|
||||
// Gratefully lifted from 'look-up', due to problems using it directly:
|
||||
// https://github.com/jonschlinkert/look-up/blob/master/index.js
|
||||
// MIT Licenced
|
||||
function findFile(cwd: string, filename: string)
|
||||
{
|
||||
let fp = cwd ? (cwd + "/" + filename) : filename;
|
||||
|
||||
if (fs.existsSync(fp))
|
||||
return fp;
|
||||
|
||||
const segs = cwd.split(path.sep);
|
||||
let len = segs.length;
|
||||
|
||||
while (len--)
|
||||
{
|
||||
cwd = segs.slice(0, len).join("/");
|
||||
fp = cwd + "/" + filename;
|
||||
if (fs.existsSync(fp))
|
||||
return fp;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// The injected id for helpers.
|
||||
const TSLIB = "tslib";
|
||||
let tslibSource: string;
|
||||
@ -62,7 +38,8 @@ try
|
||||
|
||||
function parseTsConfig(context: IContext)
|
||||
{
|
||||
const fileName = findFile(process.cwd(), "tsconfig.json");
|
||||
const fileName = ts.findConfigFile(process.cwd(), ts.sys.fileExists, "tsconfig.json");
|
||||
|
||||
if (!fileName)
|
||||
throw new Error(`couldn't find 'tsconfig.json' in ${process.cwd()}`);
|
||||
|
||||
@ -130,7 +107,7 @@ export default function typescript (options: IOptions)
|
||||
check: true,
|
||||
verbosity: VerbosityLevel.Info,
|
||||
clean: false,
|
||||
cacheRoot: `${process.cwd()}/.rts2_cache`,
|
||||
cacheRoot: `${process.cwd()}/.rpt2_cache`,
|
||||
include: [ "*.ts+(|x)", "**/*.ts+(|x)" ],
|
||||
exclude: [ "*.d.ts", "**/*.d.ts" ],
|
||||
abortOnError: true,
|
||||
@ -151,6 +128,10 @@ export default function typescript (options: IOptions)
|
||||
if (options.clean)
|
||||
cache.clean();
|
||||
|
||||
// printing compiler option errors
|
||||
if (options.check)
|
||||
printDiagnostics(context, convertDiagnostic(services.getCompilerOptionsDiagnostics()));
|
||||
|
||||
return {
|
||||
|
||||
resolveId(importee: string, importer: string)
|
||||
@ -173,6 +154,8 @@ export default function typescript (options: IOptions)
|
||||
if (_.endsWith(result.resolvedModule.resolvedFileName, ".d.ts"))
|
||||
return null;
|
||||
|
||||
context.debug(`resolving ${importee} to ${result.resolvedModule.resolvedFileName}`);
|
||||
|
||||
return result.resolvedModule.resolvedFileName;
|
||||
}
|
||||
|
||||
@ -238,15 +221,6 @@ export default function typescript (options: IOptions)
|
||||
return result;
|
||||
},
|
||||
|
||||
intro(): void
|
||||
{
|
||||
context.debug("intro");
|
||||
|
||||
// printing compiler option errors
|
||||
if (options.check)
|
||||
printDiagnostics(context, convertDiagnostic(services.getCompilerOptionsDiagnostics()));
|
||||
},
|
||||
|
||||
outro(): void
|
||||
{
|
||||
context.debug("outro");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user