fix: remove "stream" dependency in browser bundles, #396

This commit is contained in:
harttle
2021-10-03 21:21:35 +08:00
parent 68c4cfcfb6
commit 3b5eb6664f
2 changed files with 28 additions and 15 deletions
+16 -15
View File
@@ -14,6 +14,16 @@ const treeshake = {
propertyReadSideEffects: false
}
const input = './src/liquid.ts'
const replaceFS = {
include: './src/liquid-options.ts',
delimiters: ['', ''],
'./fs/node': './fs/browser'
}
const replaceStream = {
include: './src/render/render.ts',
delimiters: ['', ''],
'../emitters/streamed-emitter': '../emitters/streamed-emitter-browser'
}
const nodeCjs = {
output: [{
@@ -65,11 +75,8 @@ const browserEsm = {
}],
external: ['path', 'fs'],
plugins: [
replace({
include: './src/liquid-options.ts',
delimiters: ['', ''],
'./fs/node': './fs/browser'
}),
replace(replaceFS),
replace(replaceStream),
typescript({
tsconfigOverride: {
include: [ 'src' ],
@@ -94,11 +101,8 @@ const browserUmd = {
banner
}],
plugins: [
replace({
include: './src/liquid-options.ts',
delimiters: ['', ''],
'./fs/node': './fs/browser'
}),
replace(replaceFS),
replace(replaceStream),
typescript({
tsconfigOverride: {
include: [ 'src' ],
@@ -122,11 +126,8 @@ const browserMin = {
sourcemap
}],
plugins: [
replace({
include: './src/liquid-options.ts',
delimiters: ['', ''],
'./fs/node': './fs/browser'
}),
replace(replaceFS),
replace(replaceStream),
typescript({
tsconfigOverride: {
include: [ 'src' ],
+12
View File
@@ -0,0 +1,12 @@
import { Emitter } from './emitter'
export class StreamedEmitter implements Emitter {
public buffer = '';
public stream: NodeJS.ReadableStream = null as any
constructor () {
throw new Error('streaming not supported in browser')
}
public write: (html: any) => void
public error: (err: Error) => void
public end: () => void
}