mirror of
https://github.com/harttle/liquidjs.git
synced 2026-09-19 22:40:48 -07:00
Merge pull request #234 from TrySound/proper-modules
feat: setup universal browser and node builds
This commit is contained in:
+8
-4
@@ -2,9 +2,13 @@
|
|||||||
"name": "liquidjs",
|
"name": "liquidjs",
|
||||||
"version": "9.13.0",
|
"version": "9.13.0",
|
||||||
"description": "A simple, expressive, safe and Shopify compatible template engine in pure JavaScript.",
|
"description": "A simple, expressive, safe and Shopify compatible template engine in pure JavaScript.",
|
||||||
"main": "dist/liquid.cjs.js",
|
"main": "dist/liquid.node.cjs.js",
|
||||||
"es2015": "dist/liquid.esm.js",
|
"module": "dist/liquid.node.esm.js",
|
||||||
"browser": "dist/liquid.js",
|
"es2015": "dist/liquid.browser.esm.js",
|
||||||
|
"browser": {
|
||||||
|
"./dist/liquid.node.cjs.js": "./dist/liquid.browser.umd.js",
|
||||||
|
"./dist/liquid.node.esm.js": "./dist/liquid.browser.esm.js"
|
||||||
|
},
|
||||||
"types": "dist/liquid.d.ts",
|
"types": "dist/liquid.d.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"lint": "eslint .",
|
"lint": "eslint .",
|
||||||
@@ -16,7 +20,7 @@
|
|||||||
"benchmark": "node --expose-gc benchmark/index",
|
"benchmark": "node --expose-gc benchmark/index",
|
||||||
"coverage": "nyc --reporter=html mocha \"test/{unit,integration}/**/*.ts\"",
|
"coverage": "nyc --reporter=html mocha \"test/{unit,integration}/**/*.ts\"",
|
||||||
"coverage-coveralls": "nyc mocha \"test/{unit,integration}/**/*.ts\" && nyc report --reporter=text-lcov | coveralls",
|
"coverage-coveralls": "nyc mocha \"test/{unit,integration}/**/*.ts\" && nyc report --reporter=text-lcov | coveralls",
|
||||||
"build": "rollup -c rollup.config.ts && ls -lh dist",
|
"build": "rm -rf dist && rollup -c rollup.config.ts && ls -lh dist",
|
||||||
"build-docs": "bin/build-docs.sh",
|
"build-docs": "bin/build-docs.sh",
|
||||||
"watch": "tsc --watch"
|
"watch": "tsc --watch"
|
||||||
},
|
},
|
||||||
|
|||||||
+35
-13
@@ -15,9 +15,9 @@ const treeshake = {
|
|||||||
}
|
}
|
||||||
const input = './src/liquid.ts'
|
const input = './src/liquid.ts'
|
||||||
|
|
||||||
const cjs = {
|
const nodeCjs = {
|
||||||
output: [{
|
output: [{
|
||||||
file: 'dist/liquid.cjs.js',
|
file: 'dist/liquid.node.cjs.js',
|
||||||
format: 'cjs',
|
format: 'cjs',
|
||||||
banner
|
banner
|
||||||
}],
|
}],
|
||||||
@@ -36,9 +36,31 @@ const cjs = {
|
|||||||
input
|
input
|
||||||
}
|
}
|
||||||
|
|
||||||
const esm = {
|
const nodeEsm = {
|
||||||
output: [{
|
output: [{
|
||||||
file: 'dist/liquid.esm.js',
|
file: 'dist/liquid.node.esm.js',
|
||||||
|
format: 'esm',
|
||||||
|
banner
|
||||||
|
}],
|
||||||
|
external: ['path', 'fs'],
|
||||||
|
plugins: [typescript({
|
||||||
|
tsconfigOverride: {
|
||||||
|
include: [ 'src' ],
|
||||||
|
exclude: [ 'test', 'benchmark' ],
|
||||||
|
compilerOptions: {
|
||||||
|
target: 'ES2017',
|
||||||
|
module: 'ES2015'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})],
|
||||||
|
treeshake,
|
||||||
|
input
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const browserEsm = {
|
||||||
|
output: [{
|
||||||
|
file: 'dist/liquid.browser.esm.js',
|
||||||
format: 'esm',
|
format: 'esm',
|
||||||
banner
|
banner
|
||||||
}],
|
}],
|
||||||
@@ -64,9 +86,9 @@ const esm = {
|
|||||||
input
|
input
|
||||||
}
|
}
|
||||||
|
|
||||||
const umd = {
|
const browserUmd = {
|
||||||
output: [{
|
output: [{
|
||||||
file: 'dist/liquid.js',
|
file: 'dist/liquid.browser.umd.js',
|
||||||
name: 'liquidjs',
|
name: 'liquidjs',
|
||||||
format: 'umd',
|
format: 'umd',
|
||||||
sourcemap,
|
sourcemap,
|
||||||
@@ -93,9 +115,9 @@ const umd = {
|
|||||||
input
|
input
|
||||||
}
|
}
|
||||||
|
|
||||||
const min = {
|
const browserMin = {
|
||||||
output: [{
|
output: [{
|
||||||
file: 'dist/liquid.min.js',
|
file: 'dist/liquid.browser.min.js',
|
||||||
name: 'liquidjs',
|
name: 'liquidjs',
|
||||||
format: 'umd',
|
format: 'umd',
|
||||||
sourcemap
|
sourcemap
|
||||||
@@ -124,10 +146,10 @@ const min = {
|
|||||||
|
|
||||||
const bundles = []
|
const bundles = []
|
||||||
const env = process.env.BUNDLES || ''
|
const env = process.env.BUNDLES || ''
|
||||||
if (env.includes('cjs')) bundles.push(cjs)
|
if (env.includes('cjs')) bundles.push(nodeCjs)
|
||||||
if (env.includes('esm')) bundles.push(esm)
|
if (env.includes('esm')) bundles.push(nodeEsm, browserEsm)
|
||||||
if (env.includes('umd')) bundles.push(umd)
|
if (env.includes('umd')) bundles.push(browserUmd)
|
||||||
if (env.includes('min')) bundles.push(min)
|
if (env.includes('min')) bundles.push(browserMin)
|
||||||
if (bundles.length === 0) bundles.push(cjs, umd, min, esm)
|
if (bundles.length === 0) bundles.push(nodeCjs, nodeEsm, browserEsm, browserUmd, browserMin)
|
||||||
|
|
||||||
export default bundles
|
export default bundles
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import { Liquid } from '../../dist/liquid.js'
|
import { Liquid } from '../../dist/liquid.browser.umd.js'
|
||||||
import * as sinon from 'sinon'
|
import * as sinon from 'sinon'
|
||||||
import { expect, use } from 'chai'
|
import { expect, use } from 'chai'
|
||||||
import { JSDOM } from 'jsdom'
|
import { JSDOM } from 'jsdom'
|
||||||
|
|||||||
Reference in New Issue
Block a user