From 5c3e6d108837c164c1ace5e1ab5fffc9ba41048f Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Fri, 26 Aug 2022 22:42:36 +0530 Subject: [PATCH] refactor: polyfill punycode (#1244) --- package.json | 1 + pnpm-lock.yaml | 7 +++++++ rollup.config.ts | 10 ++++++++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f23f46cd..0c303b80 100644 --- a/package.json +++ b/package.json @@ -151,6 +151,7 @@ "polka": "^0.5.2", "prettier": "^2.7.1", "prompts": "^2.4.2", + "punycode": "^2.1.1", "rimraf": "^3.0.2", "rollup": "^2.78.0", "rollup-plugin-dts": "^4.2.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 926f54b4..df3a5e45 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -69,6 +69,7 @@ importers: polka: ^0.5.2 prettier: ^2.7.1 prompts: ^2.4.2 + punycode: ^2.1.1 rimraf: ^3.0.2 rollup: ^2.78.0 rollup-plugin-dts: ^4.2.2 @@ -153,6 +154,7 @@ importers: polka: 0.5.2 prettier: 2.7.1 prompts: 2.4.2 + punycode: 2.1.1 rimraf: 3.0.2 rollup: 2.78.0 rollup-plugin-dts: 4.2.2_nm5mlcuxlwr6samvke7b2fz27i @@ -3246,6 +3248,11 @@ packages: sisteransi: 1.0.5 dev: true + /punycode/2.1.1: + resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} + engines: {node: '>=6'} + dev: true + /q/1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} engines: {node: '>=0.6.0', teleport: '>=0.2.0'} diff --git a/rollup.config.ts b/rollup.config.ts index e71ebc31..b81dc129 100644 --- a/rollup.config.ts +++ b/rollup.config.ts @@ -1,4 +1,5 @@ import { promises as fs } from 'fs' +import { builtinModules } from 'module' import { resolve } from 'path' import { fileURLToPath } from 'url' import { RollupOptions, defineConfig } from 'rollup' @@ -17,7 +18,12 @@ const PROD = !DEV const ROOT = fileURLToPath(import.meta.url) const r = (p: string) => resolve(ROOT, '..', p) -const external = [...Object.keys(pkg.dependencies)] +const external = [ + ...Object.keys(pkg.dependencies), + ...builtinModules.flatMap((m) => + m.includes('punycode') ? [] : [m, `node:${m}`] + ) +] const plugins = [ alias({ @@ -32,7 +38,7 @@ const plugins = [ preventAssignment: true }), commonjs(), - nodeResolve({ preferBuiltins: true }), + nodeResolve({ preferBuiltins: false }), esbuild({ target: 'node14' }), json() ]