From 905a6dd1491705c1154b6679a67c1eb1ffe7eef5 Mon Sep 17 00:00:00 2001 From: Harttle Date: Mon, 15 Aug 2022 02:34:23 +0800 Subject: [PATCH] fix: target ES6 for ESM bundles, fixes #526 --- .eslintrc.json | 2 +- package.json | 4 ++-- rollup.config.ts => rollup.config.mjs | 19 ++++++++++--------- 3 files changed, 13 insertions(+), 12 deletions(-) rename rollup.config.ts => rollup.config.mjs (89%) diff --git a/.eslintrc.json b/.eslintrc.json index 7f129f6c42..cffae27a9c 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -32,7 +32,7 @@ "@typescript-eslint/no-unused-vars": ["error", { "vars": "all", "args": "none", "ignoreRestSiblings": false }] }, "overrides": [{ - "files": ["**/*.js", "*.js"], + "files": ["**/*.js", "**/*.mjs"], "rules": { "@typescript-eslint/no-var-requires": "off" } diff --git a/package.json b/package.json index a0023812f6..631ce00716 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ }, "types": "dist/liquid.d.ts", "scripts": { - "lint": "eslint \"**/*.ts\" .", + "lint": "eslint \"**/*.mjs\" \"**/*.ts\" .", "check": "npm run build && npm test && npm run lint && npm run perf:diff", "test": "nyc mocha \"test/**/*.ts\"", "test:e2e": "mocha \"test/e2e/**/*.ts\"", @@ -20,7 +20,7 @@ "perf:engines": "cd benchmark && npm run engines", "postversion": "npm run build:dist", "build": "npm run build:dist && npm run build:docs", - "build:dist": "rollup -c rollup.config.ts", + "build:dist": "rollup -c rollup.config.mjs", "build:docs": "bin/build-docs.sh" }, "bin": { diff --git a/rollup.config.ts b/rollup.config.mjs similarity index 89% rename from rollup.config.ts rename to rollup.config.mjs index 9fea0bd205..d8ff2d9d80 100644 --- a/rollup.config.ts +++ b/rollup.config.mjs @@ -1,9 +1,10 @@ import { uglify } from 'rollup-plugin-uglify' -import pkg from './package.json' import typescript from 'rollup-plugin-typescript2' import replace from 'rollup-plugin-replace' import versionInjector from 'rollup-plugin-version-injector' +import { createRequire } from 'module' +const pkg = createRequire(import.meta.url)('./package.json') const version = process.env.VERSION || pkg.version const sourcemap = true const banner = `/* @@ -14,16 +15,16 @@ const banner = `/* const treeshake = { propertyReadSideEffects: false } -const tsconfig = { +const tsconfig = (target) => ({ tsconfigOverride: { include: [ 'src' ], exclude: [ 'test', 'benchmark' ], compilerOptions: { - target: 'es5', + target, module: 'ES2015' } } -} +}) const versionInjection = versionInjector({ injectInComments: false, injectInTags: { @@ -60,7 +61,7 @@ const nodeCjs = { banner }], external: ['path', 'fs'], - plugins: [versionInjection, typescript(tsconfig)], + plugins: [versionInjection, typescript(tsconfig('es5'))], treeshake, input } @@ -75,7 +76,7 @@ const nodeEsm = { plugins: [ versionInjection, replace(esmRequire), - typescript(tsconfig) + typescript(tsconfig('es6')) ], treeshake, input @@ -92,7 +93,7 @@ const browserEsm = { versionInjection, replace(browserFS), replace(browserStream), - typescript(tsconfig) + typescript(tsconfig('es6')) ], treeshake, input @@ -110,7 +111,7 @@ const browserUmd = { versionInjection, replace(browserFS), replace(browserStream), - typescript(tsconfig) + typescript(tsconfig('es5')) ], treeshake, input @@ -128,7 +129,7 @@ const browserMin = { versionInjection, replace(browserFS), replace(browserStream), - typescript(tsconfig), + typescript(tsconfig('es5')), uglify() ], treeshake,