fix: serialize shims/resources in upstream step

closes #677
This commit is contained in:
calebboyd
2019-10-09 12:19:12 -05:00
parent 4112bd7b3e
commit 1e54736fec
5 changed files with 201 additions and 361 deletions
+4 -4
View File
@@ -15,7 +15,7 @@ import {
} from './util'
import { NexeOptions, version } from './options'
import { NexeTarget } from './target'
import combineStreams = require('multistream')
import MultiStream = require('multistream')
import { Bundle, toStream } from './fs/bundle'
const isBsd = Boolean(~process.platform.indexOf('bsd'))
@@ -136,8 +136,8 @@ export class NexeCompiler {
}
@bound
addResource(file: string, content?: Buffer | string) {
return this.bundle.addResource(file, content)
addResource(absoluteFileName: string, content?: Buffer | string) {
return this.bundle.addResource(absoluteFileName, content)
}
get binaryConfiguration() {
@@ -309,7 +309,7 @@ export class NexeCompiler {
const lengths = Buffer.from(Array(16))
lengths.writeDoubleLE(codeSize, 0)
lengths.writeDoubleLE(this.bundle.blobSize, 8)
return combineStreams([
return new (MultiStream as any)([
binary,
toStream(startup),
this.bundle.toStream(),
+6 -3
View File
@@ -14,9 +14,12 @@ function makeRelative(cwd: string, path: string) {
}
export function toStream(content: Buffer | string) {
const readable = new Readable({ read() {} })
readable.push(content)
readable.push(null)
const readable = new Readable({
read() {
this.push(content)
this.push(null)
}
})
return readable
}
+3 -3
View File
@@ -1,7 +1,9 @@
import { NexeCompiler } from '../compiler'
import { wrap } from '../util'
export default function(compiler: NexeCompiler, next: () => Promise<void>) {
export default async function(compiler: NexeCompiler, next: () => Promise<void>) {
await next()
compiler.shims.push(
wrap(
`process.__nexe = ${JSON.stringify(compiler.binaryConfiguration)};\n` +
@@ -32,6 +34,4 @@ export default function(compiler: NexeCompiler, next: () => Promise<void>) {
}
`)
)
return next()
}