in src/main.ts [34:80]
function (this: ThroughStream, file: FileWithSourceMap) {
if (!file.isBuffer()) {
this.emit('error', `Failed to read file: ${file.relative}`);
return;
}
const buffer: Buffer = file.contents as Buffer;
const content = buffer.toString('utf8');
const sourceMap = file.sourceMap;
const result = processFile(content, undefined, sourceMap);
let messagesFile: File | undefined;
let metaDataFile: File | undefined;
if (result.errors && result.errors.length > 0) {
result.errors.forEach(error => console.error(`${file.relative}${error}`));
this.emit('error', `Failed to rewrite file: ${file.path}`);
return;
} else {
if (result.contents) {
file.contents = new Buffer(result.contents, 'utf8');
}
if (result.sourceMap) {
file.sourceMap = JSON.parse(result.sourceMap);
}
if (result.bundle) {
let ext = path.extname(file.path);
let filePath = file.path.substr(0, file.path.length - ext.length);
messagesFile = new File({
base: file.base,
path: filePath + NLS_JSON,
contents: new Buffer(JSON.stringify(result.bundle.messages, null, '\t'), 'utf8')
});
let metaDataContent: SingleMetaDataFile = Object.assign({}, result.bundle, { filePath: removePathPrefix(filePath, file.base) });
metaDataFile = new File({
base: file.base,
path: filePath + NLS_METADATA_JSON,
contents: new Buffer(JSON.stringify(metaDataContent, null, '\t'), 'utf8')
});
}
}
this.queue(file);
if (messagesFile) {
this.queue(messagesFile);
}
if (metaDataFile) {
this.queue(metaDataFile);
}
}