upgrade webpack-sources

use public methods for serialization
This commit is contained in:
Tobias Koppers 2019-11-08 10:51:42 +01:00
parent b89bade286
commit d7b9127e59
4 changed files with 54 additions and 64 deletions

50
declarations.d.ts vendored
View File

@ -271,18 +271,15 @@ declare module "webpack-sources" {
}
export class RawSource extends Source {
constructor(source: string | Buffer);
constructor(source: string | Buffer, convertToString?: boolean);
// TODO remove internals
_value: string | Buffer;
isBuffer(): boolean;
}
export class OriginalSource extends Source {
constructor(source: string | Buffer, name: string);
// TODO remove internals
_value: string | Buffer;
_name: string;
getName(): string;
}
export class ReplaceSource extends Source {
@ -291,10 +288,9 @@ declare module "webpack-sources" {
replace(start: number, end: number, newValue: string, name?: string): void;
insert(pos: number, newValue: string, name?: string): void;
// TODO remove internals
_name: string;
_source: string;
_replacements: {
getName(): string;
original(): string;
getReplacements(): {
start: number;
end: number;
content: string;
@ -305,43 +301,47 @@ declare module "webpack-sources" {
export class SourceMapSource extends Source {
constructor(
source: string,
source: string | Buffer,
name: string,
sourceMap: Object | string,
originalSource?: string,
innerSourceMap?: Object
sourceMap: Object | string | Buffer,
originalSource?: string | Buffer,
innerSourceMap?: Object | string | Buffer
);
getArgsAsBuffers(): [
Buffer,
string,
Buffer,
Buffer | undefined,
Buffer | undefined
];
}
export class ConcatSource extends Source {
constructor(...args: (string | Source)[]);
children: (string | Source)[];
getChildren(): Source[];
add(item: string | Source): void;
addAllSkipOptimizing(items: Source[]): void;
}
export class PrefixSource extends Source {
constructor(prefix: string, source: string | Source);
_source: string | Source;
_prefix: string;
original(): Source;
getPrefix(): string;
}
export class CachedSource extends Source {
constructor(source: Source);
constructor(source: Source, cachedData?: any);
_source: Source;
_cachedSource: string | Buffer;
_cachedBuffer: Buffer;
_cachedSize: number;
_cachedMaps: Object;
original(): Source;
getCachedData(): any;
}
export class SizeOnlySource extends Source {
constructor(size: number);
_size: number;
}
}

View File

@ -38,11 +38,8 @@ register(
* @returns {void}
*/
serialize(source, { write }) {
write(source._source);
write(source._cachedBuffer);
write(source._cachedSource);
write(source._cachedSize);
write(source._cachedMaps);
write(source.original());
write(source.getCachedData());
}
/**
@ -50,12 +47,9 @@ register(
* @returns {CachedSource} cached source
*/
deserialize({ read }) {
const source = new CachedSource(read());
source._cachedBuffer = read();
source._cachedSource = read();
source._cachedSize = read();
source._cachedMaps = read();
return source;
const source = read();
const cachedData = read();
return new CachedSource(source, cachedData);
}
})()
);
@ -71,8 +65,8 @@ register(
* @returns {void}
*/
serialize(source, { write }) {
const data = source.source();
write(data);
write(source.buffer());
write(!source.isBuffer());
}
/**
@ -81,7 +75,8 @@ register(
*/
deserialize({ read }) {
const source = read();
return new RawSource(source);
const convertToString = read();
return new RawSource(source, convertToString);
}
})()
);
@ -97,7 +92,7 @@ register(
* @returns {void}
*/
serialize(source, { write }) {
write(source.children);
write(source.getChildren());
}
/**
@ -106,8 +101,7 @@ register(
*/
deserialize({ read }) {
const source = new ConcatSource();
const children = read();
source.children = children;
source.addAllSkipOptimizing(read());
return source;
}
})()
@ -124,8 +118,8 @@ register(
* @returns {void}
*/
serialize(source, { write }) {
write(source._prefix);
write(source._source);
write(source.getPrefix());
write(source.original());
}
/**
@ -149,12 +143,9 @@ register(
* @returns {void}
*/
serialize(source, { write }) {
write(source._source);
write(source._name);
const replacements = Array.from(source._replacements);
replacements.sort((a, b) => {
return a.insertIndex - b.insertIndex;
});
write(source.original());
write(source.getName());
const replacements = source.getReplacements();
write(replacements.length);
for (const repl of replacements) {
write(repl.start);
@ -190,8 +181,8 @@ register(
* @returns {void}
*/
serialize(source, { write }) {
write(source.source());
write(source._name);
write(source.buffer());
write(source.getName());
}
/**
@ -199,7 +190,9 @@ register(
* @returns {OriginalSource} original source
*/
deserialize({ read }) {
return new OriginalSource(read(), read());
const buffer = read();
const name = read();
return new OriginalSource(buffer, name);
}
})()
);
@ -279,9 +272,7 @@ register(
* @returns {void}
*/
serialize(source, { write }) {
const data = source.sourceAndMap({});
write(data.source);
write(JSON.stringify(data.map));
write(source.getArgsAsBuffers());
}
/**
@ -289,9 +280,8 @@ register(
* @returns {SourceMapSource} source source map source
*/
deserialize({ read }) {
const source = read();
const map = read();
return new SourceMapSource(source, "unknown", map);
// @ts-ignore
return new SourceMapSource(...read());
}
})()
);

View File

@ -25,7 +25,7 @@
"tapable": "2.0.0-beta.8",
"terser-webpack-plugin": "^2.2.1",
"watchpack": "2.0.0-beta.9",
"webpack-sources": "2.0.0-beta.5"
"webpack-sources": "2.0.0-beta.6"
},
"devDependencies": {
"@babel/core": "^7.7.2",

View File

@ -6545,10 +6545,10 @@ webidl-conversions@^4.0.2:
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
webpack-sources@2.0.0-beta.5:
version "2.0.0-beta.5"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.0.0-beta.5.tgz#aac603d9fdf04ce96276cf845cd9bb9afd660c4a"
integrity sha512-Y0NWr3nIeJbHzQciKPjWkERbRrmqZPhE4t8K5qOzl4dhJViIdBnvutCCAQ9PKj6MC8lo4Wytu+SZ9Ct8vhX/cQ==
webpack-sources@2.0.0-beta.6:
version "2.0.0-beta.6"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.0.0-beta.6.tgz#80707d4e417cf734ec634efcb1cdca4c57aa1be8"
integrity sha512-zbYXdCVyNpHFs8vR0O3Tf7kfxmL76RDBGf1kBbeBrW1zlIKAp3msFKBVllwUAfyoMa/5OJ5iQRrqE7zn3eBjbw==
dependencies:
source-list-map "^2.0.1"
source-map "~0.6.1"