mirror of
https://github.com/ezolenko/rollup-plugin-typescript2.git
synced 2025-12-08 19:06:16 +00:00
Revert "Use PluginContext.emitFile to emit declarations (when possible) (#181)"
This reverts commit 551a14e773141cd993bb9d1ffd349c92481edf11.
This commit is contained in:
parent
551a14e773
commit
c35e35d627
2
dist/index.d.ts.map
vendored
2
dist/index.d.ts.map
vendored
@ -1 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,OAAO,EAAE,UAAU,EAAgG,MAAM,QAAQ,CAAC;AAGlI,QAAA,MAAM,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAqW7C,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,OAAO,EAAE,UAAU,EAAgG,MAAM,QAAQ,CAAC;AAGlI,QAAA,MAAM,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAwW7C,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
||||
44
dist/rollup-plugin-typescript2.cjs.js
vendored
44
dist/rollup-plugin-typescript2.cjs.js
vendored
@ -27396,9 +27396,11 @@ const typescript = (options) => {
|
||||
}
|
||||
return undefined;
|
||||
},
|
||||
generateBundle(bundleOptions) {
|
||||
generateBundle(bundleOptions, _bundle, isWrite) {
|
||||
self._ongenerate();
|
||||
self._onwrite.call(this, bundleOptions);
|
||||
if (isWrite) {
|
||||
self._onwrite(bundleOptions);
|
||||
}
|
||||
},
|
||||
_ongenerate() {
|
||||
context.debug(() => `generating target ${generateRound + 1}`);
|
||||
@ -27422,7 +27424,7 @@ const typescript = (options) => {
|
||||
cache().done();
|
||||
generateRound++;
|
||||
},
|
||||
_onwrite(_output) {
|
||||
_onwrite({ file, dir }) {
|
||||
if (!parsedConfig.options.declaration)
|
||||
return;
|
||||
lodash_3(parsedConfig.fileNames, (name) => {
|
||||
@ -27439,34 +27441,32 @@ const typescript = (options) => {
|
||||
if (out.dts)
|
||||
declarations[key] = { type: out.dts, map: out.dtsmap };
|
||||
});
|
||||
const emitDeclaration = (key, extension, entry) => {
|
||||
const bundleFile = file;
|
||||
const outputDir = dir;
|
||||
const writeDeclaration = (key, extension, entry) => {
|
||||
if (!entry)
|
||||
return;
|
||||
let fileName = entry.name;
|
||||
if (fileName.includes("?")) // HACK for rollup-plugin-vue, it creates virtual modules in form 'file.vue?rollup-plugin-vue=script.ts'
|
||||
fileName = fileName.split("?", 1) + extension;
|
||||
// If 'useTsconfigDeclarationDir' is given in the
|
||||
// plugin options, directly write to the path provided
|
||||
// by Typescript's LanguageService (which may not be
|
||||
// under Rollup's output directory, and thus can't be
|
||||
// emitted as an asset).
|
||||
if (pluginOptions.useTsconfigDeclarationDir) {
|
||||
context.debug(() => `${safe_5("emitting declarations")} for '${key}' to '${fileName}'`);
|
||||
tsModule.sys.writeFile(fileName, entry.text, entry.writeByteOrderMark);
|
||||
}
|
||||
let writeToPath;
|
||||
// If for some reason no 'dest' property exists or if 'useTsconfigDeclarationDir' is given in the plugin options,
|
||||
// use the path provided by Typescript's LanguageService.
|
||||
if ((!bundleFile && !outputDir) || pluginOptions.useTsconfigDeclarationDir)
|
||||
writeToPath = fileName;
|
||||
else {
|
||||
const relativePath = path.relative(process.cwd(), fileName);
|
||||
context.debug(() => `${safe_5("emitting declarations")} for '${key}' to '${relativePath}'`);
|
||||
this.emitFile({
|
||||
type: "asset",
|
||||
source: entry.text,
|
||||
fileName: relativePath
|
||||
});
|
||||
// Otherwise, take the directory name from the path and make sure it is absolute.
|
||||
const destDirname = bundleFile ? path.dirname(bundleFile) : outputDir;
|
||||
const destDirectory = path.isAbsolute(destDirname) ? destDirname : path.join(process.cwd(), destDirname);
|
||||
writeToPath = path.join(destDirectory, path.relative(process.cwd(), fileName));
|
||||
}
|
||||
context.debug(() => `${safe_5("writing declarations")} for '${key}' to '${writeToPath}'`);
|
||||
// Write the declaration file to disk.
|
||||
tsModule.sys.writeFile(writeToPath, entry.text, entry.writeByteOrderMark);
|
||||
};
|
||||
lodash_3(declarations, ({ type, map }, key) => {
|
||||
emitDeclaration(key, ".d.ts", type);
|
||||
emitDeclaration(key, ".d.ts.map", map);
|
||||
writeDeclaration(key, ".d.ts", type);
|
||||
writeDeclaration(key, ".d.ts.map", map);
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
2
dist/rollup-plugin-typescript2.cjs.js.map
vendored
2
dist/rollup-plugin-typescript2.cjs.js.map
vendored
File diff suppressed because one or more lines are too long
46
dist/rollup-plugin-typescript2.es.js
vendored
46
dist/rollup-plugin-typescript2.es.js
vendored
@ -4,7 +4,7 @@ import { emptyDirSync, readJsonSync, writeJsonSync, ensureFileSync, removeSync,
|
||||
import fs, { existsSync, readdirSync, renameSync, readFileSync } from 'fs';
|
||||
import util from 'util';
|
||||
import os from 'os';
|
||||
import path__default, { normalize as normalize$1, join, dirname, relative } from 'path';
|
||||
import path__default, { normalize as normalize$1, join, dirname, isAbsolute, relative } from 'path';
|
||||
import { sync as sync$4 } from 'resolve';
|
||||
|
||||
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
||||
@ -27390,9 +27390,11 @@ const typescript = (options) => {
|
||||
}
|
||||
return undefined;
|
||||
},
|
||||
generateBundle(bundleOptions) {
|
||||
generateBundle(bundleOptions, _bundle, isWrite) {
|
||||
self._ongenerate();
|
||||
self._onwrite.call(this, bundleOptions);
|
||||
if (isWrite) {
|
||||
self._onwrite(bundleOptions);
|
||||
}
|
||||
},
|
||||
_ongenerate() {
|
||||
context.debug(() => `generating target ${generateRound + 1}`);
|
||||
@ -27416,7 +27418,7 @@ const typescript = (options) => {
|
||||
cache().done();
|
||||
generateRound++;
|
||||
},
|
||||
_onwrite(_output) {
|
||||
_onwrite({ file, dir }) {
|
||||
if (!parsedConfig.options.declaration)
|
||||
return;
|
||||
lodash_3(parsedConfig.fileNames, (name) => {
|
||||
@ -27433,34 +27435,32 @@ const typescript = (options) => {
|
||||
if (out.dts)
|
||||
declarations[key] = { type: out.dts, map: out.dtsmap };
|
||||
});
|
||||
const emitDeclaration = (key, extension, entry) => {
|
||||
const bundleFile = file;
|
||||
const outputDir = dir;
|
||||
const writeDeclaration = (key, extension, entry) => {
|
||||
if (!entry)
|
||||
return;
|
||||
let fileName = entry.name;
|
||||
if (fileName.includes("?")) // HACK for rollup-plugin-vue, it creates virtual modules in form 'file.vue?rollup-plugin-vue=script.ts'
|
||||
fileName = fileName.split("?", 1) + extension;
|
||||
// If 'useTsconfigDeclarationDir' is given in the
|
||||
// plugin options, directly write to the path provided
|
||||
// by Typescript's LanguageService (which may not be
|
||||
// under Rollup's output directory, and thus can't be
|
||||
// emitted as an asset).
|
||||
if (pluginOptions.useTsconfigDeclarationDir) {
|
||||
context.debug(() => `${safe_5("emitting declarations")} for '${key}' to '${fileName}'`);
|
||||
tsModule.sys.writeFile(fileName, entry.text, entry.writeByteOrderMark);
|
||||
}
|
||||
let writeToPath;
|
||||
// If for some reason no 'dest' property exists or if 'useTsconfigDeclarationDir' is given in the plugin options,
|
||||
// use the path provided by Typescript's LanguageService.
|
||||
if ((!bundleFile && !outputDir) || pluginOptions.useTsconfigDeclarationDir)
|
||||
writeToPath = fileName;
|
||||
else {
|
||||
const relativePath = relative(process.cwd(), fileName);
|
||||
context.debug(() => `${safe_5("emitting declarations")} for '${key}' to '${relativePath}'`);
|
||||
this.emitFile({
|
||||
type: "asset",
|
||||
source: entry.text,
|
||||
fileName: relativePath
|
||||
});
|
||||
// Otherwise, take the directory name from the path and make sure it is absolute.
|
||||
const destDirname = bundleFile ? dirname(bundleFile) : outputDir;
|
||||
const destDirectory = isAbsolute(destDirname) ? destDirname : join(process.cwd(), destDirname);
|
||||
writeToPath = join(destDirectory, relative(process.cwd(), fileName));
|
||||
}
|
||||
context.debug(() => `${safe_5("writing declarations")} for '${key}' to '${writeToPath}'`);
|
||||
// Write the declaration file to disk.
|
||||
tsModule.sys.writeFile(writeToPath, entry.text, entry.writeByteOrderMark);
|
||||
};
|
||||
lodash_3(declarations, ({ type, map }, key) => {
|
||||
emitDeclaration(key, ".d.ts", type);
|
||||
emitDeclaration(key, ".d.ts.map", map);
|
||||
writeDeclaration(key, ".d.ts", type);
|
||||
writeDeclaration(key, ".d.ts.map", map);
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
2
dist/rollup-plugin-typescript2.es.js.map
vendored
2
dist/rollup-plugin-typescript2.es.js.map
vendored
File diff suppressed because one or more lines are too long
53
src/index.ts
53
src/index.ts
@ -12,7 +12,7 @@ import { parseTsConfig } from "./parse-tsconfig";
|
||||
import { printDiagnostics } from "./print-diagnostics";
|
||||
import { TSLIB, TSLIB_VIRTUAL, tslibSource, tslibVersion } from "./tslib";
|
||||
import { blue, red, yellow, green } from "colors/safe";
|
||||
import { relative } from "path";
|
||||
import { dirname, isAbsolute, join, relative } from "path";
|
||||
import { normalize } from "./normalize";
|
||||
import { satisfies } from "semver";
|
||||
import findCacheDir from "find-cache-dir";
|
||||
@ -269,10 +269,13 @@ const typescript: PluginImpl<Partial<IOptions>> = (options) =>
|
||||
return undefined;
|
||||
},
|
||||
|
||||
generateBundle(this: PluginContext, bundleOptions: OutputOptions): void
|
||||
generateBundle(bundleOptions: OutputOptions, _bundle: any, isWrite: boolean): void
|
||||
{
|
||||
self._ongenerate();
|
||||
self._onwrite.call(this, bundleOptions);
|
||||
if (isWrite)
|
||||
{
|
||||
self._onwrite(bundleOptions);
|
||||
}
|
||||
},
|
||||
|
||||
_ongenerate(): void
|
||||
@ -313,7 +316,7 @@ const typescript: PluginImpl<Partial<IOptions>> = (options) =>
|
||||
generateRound++;
|
||||
},
|
||||
|
||||
_onwrite(this: PluginContext, _output: OutputOptions): void
|
||||
_onwrite({ file, dir }: OutputOptions): void
|
||||
{
|
||||
if (!parsedConfig.options.declaration)
|
||||
return;
|
||||
@ -336,7 +339,10 @@ const typescript: PluginImpl<Partial<IOptions>> = (options) =>
|
||||
declarations[key] = { type: out.dts, map: out.dtsmap };
|
||||
});
|
||||
|
||||
const emitDeclaration = (key: string, extension: string, entry?: tsTypes.OutputFile) =>
|
||||
const bundleFile = file;
|
||||
const outputDir = dir;
|
||||
|
||||
const writeDeclaration = (key: string, extension: string, entry?: tsTypes.OutputFile) =>
|
||||
{
|
||||
if (!entry)
|
||||
return;
|
||||
@ -345,32 +351,29 @@ const typescript: PluginImpl<Partial<IOptions>> = (options) =>
|
||||
if (fileName.includes("?")) // HACK for rollup-plugin-vue, it creates virtual modules in form 'file.vue?rollup-plugin-vue=script.ts'
|
||||
fileName = fileName.split("?", 1) + extension;
|
||||
|
||||
// If 'useTsconfigDeclarationDir' is given in the
|
||||
// plugin options, directly write to the path provided
|
||||
// by Typescript's LanguageService (which may not be
|
||||
// under Rollup's output directory, and thus can't be
|
||||
// emitted as an asset).
|
||||
if (pluginOptions.useTsconfigDeclarationDir)
|
||||
{
|
||||
context.debug(() => `${blue("emitting declarations")} for '${key}' to '${fileName}'`);
|
||||
tsModule.sys.writeFile(fileName, entry.text, entry.writeByteOrderMark);
|
||||
}
|
||||
let writeToPath: string;
|
||||
// If for some reason no 'dest' property exists or if 'useTsconfigDeclarationDir' is given in the plugin options,
|
||||
// use the path provided by Typescript's LanguageService.
|
||||
if ((!bundleFile && !outputDir) || pluginOptions.useTsconfigDeclarationDir)
|
||||
writeToPath = fileName;
|
||||
else
|
||||
{
|
||||
const relativePath = relative(process.cwd(), fileName);
|
||||
context.debug(() => `${blue("emitting declarations")} for '${key}' to '${relativePath}'`);
|
||||
this.emitFile({
|
||||
type: "asset",
|
||||
source: entry.text,
|
||||
fileName: relativePath
|
||||
});
|
||||
{
|
||||
// Otherwise, take the directory name from the path and make sure it is absolute.
|
||||
const destDirname = bundleFile ? dirname(bundleFile) : outputDir as string;
|
||||
const destDirectory = isAbsolute(destDirname) ? destDirname : join(process.cwd(), destDirname);
|
||||
writeToPath = join(destDirectory, relative(process.cwd(), fileName));
|
||||
}
|
||||
|
||||
context.debug(() => `${blue("writing declarations")} for '${key}' to '${writeToPath}'`);
|
||||
|
||||
// Write the declaration file to disk.
|
||||
tsModule.sys.writeFile(writeToPath, entry.text, entry.writeByteOrderMark);
|
||||
};
|
||||
|
||||
_.each(declarations, ({ type, map }, key) =>
|
||||
{
|
||||
emitDeclaration(key, ".d.ts", type);
|
||||
emitDeclaration(key, ".d.ts.map", map);
|
||||
writeDeclaration(key, ".d.ts", type);
|
||||
writeDeclaration(key, ".d.ts.map", map);
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user