diff --git a/config/esbuild.config.min.mjs b/config/esbuild.config.min.mjs index 7a6f4352f..895e76060 100644 --- a/config/esbuild.config.min.mjs +++ b/config/esbuild.config.min.mjs @@ -1,5 +1,6 @@ import esbuild from 'esbuild'; import envs from './envs.mjs'; +import browserslistToEsbuild from 'browserslist-to-esbuild'; esbuild .build({ @@ -10,6 +11,7 @@ esbuild entryPoints: ['./modules/id.js'], legalComments: 'none', logLevel: 'info', - outfile: 'dist/iD.min.js' + outfile: 'dist/iD.min.js', + target: browserslistToEsbuild(), }) .catch(() => process.exit(1)); diff --git a/config/esbuild.config.mjs b/config/esbuild.config.mjs index 9ab2fa1df..7ccea73d8 100644 --- a/config/esbuild.config.mjs +++ b/config/esbuild.config.mjs @@ -2,9 +2,9 @@ import esbuild from 'esbuild'; import fs from 'node:fs'; import parse from 'minimist'; import envs from './envs.mjs'; +import browserslistToEsbuild from 'browserslist-to-esbuild'; let args = parse(process.argv.slice(2), {boolean: true}); -delete args._; const context = await esbuild.context({ define: envs, @@ -14,7 +14,8 @@ const context = await esbuild.context({ legalComments: 'none', logLevel: 'info', metafile: true, - outfile: 'dist/iD.js' + outfile: 'dist/iD.js', + target: browserslistToEsbuild(), }); if (args.watch) { diff --git a/package-lock.json b/package-lock.json index f388368d9..fbb8d14ea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,6 +46,7 @@ "@rapideditor/temaki": "~5.4.0", "@transifex/api": "^5.4.0", "autoprefixer": "^10.4.15", + "browserslist-to-esbuild": "^1.2.0", "chai": "^4.3.7", "chalk": "^4.1.2", "cldr-core": "^43.0.0", @@ -2173,6 +2174,18 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/browserslist-to-esbuild": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserslist-to-esbuild/-/browserslist-to-esbuild-1.2.0.tgz", + "integrity": "sha512-ftrrbI/VHBgEnmnSyhkqvQVMp6jAKybfs0qMIlm7SLBrQTGMsdCIP4q3BoKeLsZTBQllIQtY9kbxgRYV2WU47g==", + "dev": true, + "dependencies": { + "browserslist": "^4.17.3" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/buffer": { "version": "4.9.2", "dev": true, @@ -11443,6 +11456,15 @@ "update-browserslist-db": "^1.0.11" } }, + "browserslist-to-esbuild": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserslist-to-esbuild/-/browserslist-to-esbuild-1.2.0.tgz", + "integrity": "sha512-ftrrbI/VHBgEnmnSyhkqvQVMp6jAKybfs0qMIlm7SLBrQTGMsdCIP4q3BoKeLsZTBQllIQtY9kbxgRYV2WU47g==", + "dev": true, + "requires": { + "browserslist": "^4.17.3" + } + }, "buffer": { "version": "4.9.2", "dev": true, diff --git a/package.json b/package.json index 7274326ad..7fe5f3a4c 100644 --- a/package.json +++ b/package.json @@ -81,6 +81,7 @@ "@rapideditor/temaki": "~5.4.0", "@transifex/api": "^5.4.0", "autoprefixer": "^10.4.15", + "browserslist-to-esbuild": "^1.2.0", "chai": "^4.3.7", "chalk": "^4.1.2", "cldr-core": "^43.0.0", @@ -126,6 +127,6 @@ "node": ">=16.14" }, "browserslist": [ - "> 0.2%, last 6 major versions, Firefox ESR, maintained node versions" + "> 0.3%, last 6 major versions, Firefox ESR, maintained node versions" ] }