From fb74e5230d15459b5574e1747ff26a4187374e91 Mon Sep 17 00:00:00 2001 From: hyunseok-kim-f Date: Wed, 26 Feb 2025 20:21:49 +0900 Subject: [PATCH 1/7] =?UTF-8?q?[#26]=20browserslist=EC=97=90=EC=84=9C=20ca?= =?UTF-8?q?niuse-lite=20=EB=B2=84=EC=A0=84=EC=9D=84=20=EA=B0=80=EC=A0=B8?= =?UTF-8?q?=EC=98=A4=EB=8A=94=20=EC=9C=A0=ED=8B=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/caniuse.ts | 18 ++++++++++++++++++ src/index.ts | 3 +++ 2 files changed, 21 insertions(+) create mode 100644 src/caniuse.ts diff --git a/src/caniuse.ts b/src/caniuse.ts new file mode 100644 index 0000000..6198189 --- /dev/null +++ b/src/caniuse.ts @@ -0,0 +1,18 @@ +/* eslint-disable no-console */ +import {readFile} from 'fs/promises' + +export async function getCaniuseLiteVersion() { + try { + const packageJsonUrl = import.meta.resolve('browserslist/package.json') + const packageJsonPath = new URL(packageJsonUrl).pathname + const packageJsonContent = await readFile(packageJsonPath, 'utf-8') + const browserslistInfo = JSON.parse(packageJsonContent) + const caniuseVersion = browserslistInfo.dependencies['caniuse-lite'].replace('^', '') + const caniuseUrl = `https://unpkg.com/browse/caniuse-lite@${caniuseVersion}/` + + console.log('\n\x1b[35mpite에서 사용중인 caniuse-lite 버전 : ', caniuseVersion) + console.log(`\n\x1b[35m${caniuseUrl}`, '\n') + } catch { + console.error('browserslist 패키지를 찾을 수 없습니다.') + } +} diff --git a/src/index.ts b/src/index.ts index f8d9014..83d28d3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -5,6 +5,7 @@ import preserveDirectives from 'rollup-plugin-preserve-directives' import {BuildOptions, defineConfig, Plugin} from 'vite' import {getBrowserslistConfig} from './browserslist' +import {getCaniuseLiteVersion} from './caniuse' import {getExternalDependencies} from './dependencies' import {getViteEntry} from './getViteEntry' import publint from './plugins/rollup-plugin-publint' @@ -59,6 +60,8 @@ export function createViteConfig({ const browserslist = isValidBrowserslistConfig(browserslistConfig) ? browserslistConfig : defaultBrowserslist + getCaniuseLiteVersion() + const build: BuildOptions = { target: browserslistToEsbuild(browserslist), lib: { From d9909bc690a470381e0daf93011991ec9f64b882 Mon Sep 17 00:00:00 2001 From: hyunseok-kim-f Date: Wed, 26 Feb 2025 20:22:05 +0900 Subject: [PATCH 2/7] =?UTF-8?q?[#26]=20=EB=B8=8C=EB=9D=BC=EC=9A=B0?= =?UTF-8?q?=EC=A0=80=20=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=EC=B5=9C=EC=8B=A0?= =?UTF-8?q?=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- pnpm-lock.yaml | 91 +++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 87 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 645f194..14289ea 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "@naverpay/publint": "^0.0.5", "@rollup/plugin-babel": "^6.0.4", "babel-plugin-polyfill-corejs3": "^0.11.0", - "browserslist": "^4.24.2", + "browserslist": "4.24.4", "browserslist-to-esbuild": "^2.1.1", "chalk": "^5.4.1", "cosmiconfig": "^9.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0bfad8f..cdf1b1c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,11 +24,11 @@ importers: specifier: ^0.11.0 version: 0.11.0(@babel/core@7.26.0) browserslist: - specifier: ^4.24.2 - version: 4.24.2 + specifier: 4.24.4 + version: 4.24.4 browserslist-to-esbuild: specifier: ^2.1.1 - version: 2.1.1(browserslist@4.24.2) + version: 2.1.1(browserslist@4.24.4) chalk: specifier: ^5.4.1 version: 5.4.1 @@ -85,6 +85,49 @@ importers: specifier: ^5.6.3 version: 5.6.3 + packages/pite/dist: + dependencies: + '@babel/plugin-transform-runtime': + specifier: ^7.25.9 + version: 7.25.9(@babel/core@7.26.0) + '@naverpay/browserslist-config': + specifier: ^2.0.0 + version: 2.0.0 + '@rollup/plugin-babel': + specifier: ^6.0.4 + version: 6.0.4(@babel/core@7.26.0)(rollup@4.27.4) + babel-plugin-polyfill-corejs3: + specifier: ^0.11.0 + version: 0.11.0(@babel/core@7.26.0) + browserslist: + specifier: ^4.24.2 + version: 4.24.2 + browserslist-to-esbuild: + specifier: ^2.1.1 + version: 2.1.1(browserslist@4.24.2) + cosmiconfig: + specifier: ^9.0.0 + version: 9.0.0(typescript@5.6.3) + glob: + specifier: ^11.0.1 + version: 11.0.1 + sass-embedded: + specifier: ^1.83.4 + version: 1.83.4 + tsup: + specifier: '>=8.3.5' + version: 8.3.5(@microsoft/api-extractor@7.48.0(@types/node@22.10.2))(postcss@8.5.1)(typescript@5.6.3)(yaml@2.5.1) + vite: + specifier: '>=6.0.10' + version: 6.0.11(@types/node@22.10.2)(sass-embedded@1.83.4)(yaml@2.5.1) + devDependencies: + '@types/node': + specifier: ^22.10.2 + version: 22.10.2 + builtins: + specifier: ^5.1.0 + version: 5.1.0 + packages: '@ampproject/remapping@2.3.0': @@ -1015,6 +1058,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.24.4: + resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + buffer-builder@0.2.0: resolution: {integrity: sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==} @@ -1046,6 +1094,9 @@ packages: caniuse-lite@1.0.30001680: resolution: {integrity: sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==} + caniuse-lite@1.0.30001701: + resolution: {integrity: sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw==} + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -1245,6 +1296,9 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + electron-to-chromium@1.5.105: + resolution: {integrity: sha512-ccp7LocdXx3yBhwiG0qTQ7XFrK48Ua2pxIxBdJO8cbddp/MvbBtPFzvnTchtyHQTsgqqczO8cdmAIbpMa0u2+g==} + electron-to-chromium@1.5.58: resolution: {integrity: sha512-al2l4r+24ZFL7WzyPTlyD0fC33LLzvxqLCwurtBibVPghRGO9hSTl+tis8t1kD7biPiH/en4U0I7o/nQbYeoVA==} @@ -2247,6 +2301,9 @@ packages: node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -3241,7 +3298,7 @@ snapshots: dependencies: '@babel/compat-data': 7.26.2 '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.2 + browserslist: 4.24.4 lru-cache: 5.1.1 semver: 6.3.1 @@ -4262,6 +4319,11 @@ snapshots: browserslist: 4.24.2 meow: 13.2.0 + browserslist-to-esbuild@2.1.1(browserslist@4.24.4): + dependencies: + browserslist: 4.24.4 + meow: 13.2.0 + browserslist@4.24.2: dependencies: caniuse-lite: 1.0.30001680 @@ -4269,6 +4331,13 @@ snapshots: node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) + browserslist@4.24.4: + dependencies: + caniuse-lite: 1.0.30001701 + electron-to-chromium: 1.5.105 + node-releases: 2.0.19 + update-browserslist-db: 1.1.1(browserslist@4.24.4) + buffer-builder@0.2.0: {} builtin-modules@3.3.0: {} @@ -4296,6 +4365,8 @@ snapshots: caniuse-lite@1.0.30001680: {} + caniuse-lite@1.0.30001701: {} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -4354,7 +4425,7 @@ snapshots: core-js-compat@3.39.0: dependencies: - browserslist: 4.24.2 + browserslist: 4.24.4 cosmiconfig@9.0.0(typescript@5.6.3): dependencies: @@ -4481,6 +4552,8 @@ snapshots: eastasianwidth@0.2.0: {} + electron-to-chromium@1.5.105: {} + electron-to-chromium@1.5.58: {} emoji-regex@10.4.0: {} @@ -5655,6 +5728,8 @@ snapshots: node-releases@2.0.18: {} + node-releases@2.0.19: {} + normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 @@ -6464,6 +6539,12 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + update-browserslist-db@1.1.1(browserslist@4.24.4): + dependencies: + browserslist: 4.24.4 + escalade: 3.2.0 + picocolors: 1.1.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 From dc6ff8d32fc8c23575d2a8ca569d44103952a885 Mon Sep 17 00:00:00 2001 From: hyunseok-kim-f Date: Thu, 27 Feb 2025 16:33:56 +0900 Subject: [PATCH 3/7] =?UTF-8?q?[#26]=20chalk=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/caniuse.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/caniuse.ts b/src/caniuse.ts index 6198189..b4c2ebf 100644 --- a/src/caniuse.ts +++ b/src/caniuse.ts @@ -1,6 +1,8 @@ /* eslint-disable no-console */ import {readFile} from 'fs/promises' +import chalk from 'chalk' + export async function getCaniuseLiteVersion() { try { const packageJsonUrl = import.meta.resolve('browserslist/package.json') @@ -10,9 +12,8 @@ export async function getCaniuseLiteVersion() { const caniuseVersion = browserslistInfo.dependencies['caniuse-lite'].replace('^', '') const caniuseUrl = `https://unpkg.com/browse/caniuse-lite@${caniuseVersion}/` - console.log('\n\x1b[35mpite에서 사용중인 caniuse-lite 버전 : ', caniuseVersion) - console.log(`\n\x1b[35m${caniuseUrl}`, '\n') - } catch { - console.error('browserslist 패키지를 찾을 수 없습니다.') + console.log(chalk.magenta(`\ncurrent caniuse-lite version : ${caniuseVersion}\n${caniuseUrl}\n`)) + } catch (error) { + console.error('cannot found browserslist version', error) } } From a0eec6c147036cd15adf507f118d3ff455cf6e2e Mon Sep 17 00:00:00 2001 From: hyunseok-kim-f Date: Thu, 27 Feb 2025 16:37:38 +0900 Subject: [PATCH 4/7] =?UTF-8?q?[#26]=20=ED=8C=8C=EC=9D=BC=EB=AA=85=20print?= =?UTF-8?q?CaniuseLiteVersion=20=EB=B3=80=EA=B2=BD,=20browserslistConfig?= =?UTF-8?q?=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/{browserslist.ts => browserslistConfig.ts} | 0 src/caniuse.ts | 2 +- src/index.ts | 6 +++--- 3 files changed, 4 insertions(+), 4 deletions(-) rename src/{browserslist.ts => browserslistConfig.ts} (100%) diff --git a/src/browserslist.ts b/src/browserslistConfig.ts similarity index 100% rename from src/browserslist.ts rename to src/browserslistConfig.ts diff --git a/src/caniuse.ts b/src/caniuse.ts index b4c2ebf..33fc6b6 100644 --- a/src/caniuse.ts +++ b/src/caniuse.ts @@ -3,7 +3,7 @@ import {readFile} from 'fs/promises' import chalk from 'chalk' -export async function getCaniuseLiteVersion() { +export async function printCaniuseLiteVersion() { try { const packageJsonUrl = import.meta.resolve('browserslist/package.json') const packageJsonPath = new URL(packageJsonUrl).pathname diff --git a/src/index.ts b/src/index.ts index 83d28d3..a94f2d8 100644 --- a/src/index.ts +++ b/src/index.ts @@ -4,8 +4,8 @@ import browserslistToEsbuild from 'browserslist-to-esbuild' import preserveDirectives from 'rollup-plugin-preserve-directives' import {BuildOptions, defineConfig, Plugin} from 'vite' -import {getBrowserslistConfig} from './browserslist' -import {getCaniuseLiteVersion} from './caniuse' +import {getBrowserslistConfig} from './browserslistConfig' +import {printCaniuseLiteVersion} from './caniuse' import {getExternalDependencies} from './dependencies' import {getViteEntry} from './getViteEntry' import publint from './plugins/rollup-plugin-publint' @@ -60,7 +60,7 @@ export function createViteConfig({ const browserslist = isValidBrowserslistConfig(browserslistConfig) ? browserslistConfig : defaultBrowserslist - getCaniuseLiteVersion() + printCaniuseLiteVersion() const build: BuildOptions = { target: browserslistToEsbuild(browserslist), From 9658fa95b47ff6ac7d960970c25ef1c9251dc346 Mon Sep 17 00:00:00 2001 From: hyunseok-kim-f Date: Thu, 27 Feb 2025 16:49:21 +0900 Subject: [PATCH 5/7] =?UTF-8?q?[#26]=20import=20=EB=B0=A9=EC=8B=9D=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/caniuse.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/caniuse.ts b/src/caniuse.ts index 33fc6b6..e160c09 100644 --- a/src/caniuse.ts +++ b/src/caniuse.ts @@ -1,15 +1,10 @@ /* eslint-disable no-console */ -import {readFile} from 'fs/promises' - +import packageJsonContent from 'browserslist/package.json' with {type: 'json'} import chalk from 'chalk' export async function printCaniuseLiteVersion() { try { - const packageJsonUrl = import.meta.resolve('browserslist/package.json') - const packageJsonPath = new URL(packageJsonUrl).pathname - const packageJsonContent = await readFile(packageJsonPath, 'utf-8') - const browserslistInfo = JSON.parse(packageJsonContent) - const caniuseVersion = browserslistInfo.dependencies['caniuse-lite'].replace('^', '') + const caniuseVersion = packageJsonContent.dependencies['caniuse-lite'].replace('^', '') const caniuseUrl = `https://unpkg.com/browse/caniuse-lite@${caniuseVersion}/` console.log(chalk.magenta(`\ncurrent caniuse-lite version : ${caniuseVersion}\n${caniuseUrl}\n`)) From 8a61b4a692dfa0e1df9d5d18a9c4fb336d9e5511 Mon Sep 17 00:00:00 2001 From: hyunseok-kim-f Date: Thu, 27 Feb 2025 17:12:04 +0900 Subject: [PATCH 6/7] =?UTF-8?q?[#26]=20@babel/plugin-syntax-import-attribu?= =?UTF-8?q?tes=20=EC=84=A4=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + pnpm-lock.yaml | 14 ++++++++++++++ src/index.ts | 6 ++++++ 3 files changed, 21 insertions(+) diff --git a/package.json b/package.json index 14289ea..d0d19c4 100644 --- a/package.json +++ b/package.json @@ -52,6 +52,7 @@ "**/*.{ts,tsx,js,jsx}": "eslint" }, "dependencies": { + "@babel/plugin-syntax-import-attributes": "^7.26.0", "@babel/plugin-transform-runtime": "^7.25.9", "@naverpay/browserslist-config": "^2.0.0", "@naverpay/publint": "^0.0.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cdf1b1c..cd80946 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: dependencies: + '@babel/plugin-syntax-import-attributes': + specifier: ^7.26.0 + version: 7.26.0(@babel/core@7.26.0) '@babel/plugin-transform-runtime': specifier: ^7.25.9 version: 7.25.9(@babel/core@7.26.0) @@ -236,6 +239,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-import-attributes@7.26.0': + resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-jsx@7.25.9': resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} engines: {node: '>=6.9.0'} @@ -3394,6 +3403,11 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 diff --git a/src/index.ts b/src/index.ts index a94f2d8..da8bb94 100644 --- a/src/index.ts +++ b/src/index.ts @@ -106,6 +106,7 @@ export function createViteConfig({ babel({ babelHelpers: 'runtime', plugins: [ + ['@babel/plugin-syntax-import-attributes'], ['@babel/plugin-transform-runtime'], [ 'babel-plugin-polyfill-corejs3', @@ -146,6 +147,11 @@ export function createViteConfig({ ] return defineConfig({ + esbuild: { + supported: { + 'import-assertions': true, + }, + }, build, plugins, }) From 63bfb2a044cadba60745371dfff20b264393242e Mon Sep 17 00:00:00 2001 From: keemhyunseok Date: Thu, 27 Feb 2025 17:13:12 +0900 Subject: [PATCH 7/7] Create mighty-buckets-throw.md --- .changeset/mighty-buckets-throw.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/mighty-buckets-throw.md diff --git a/.changeset/mighty-buckets-throw.md b/.changeset/mighty-buckets-throw.md new file mode 100644 index 0000000..babf686 --- /dev/null +++ b/.changeset/mighty-buckets-throw.md @@ -0,0 +1,7 @@ +--- +"@naverpay/pite": patch +--- + +pite에서 사용중인 caniuse-lite버전을 빌드시 로그에 보여주도록 수정 + +PR: [pite에서 사용중인 caniuse-lite버전을 빌드시 로그에 보여주도록 수정](https://github.com/NaverPayDev/pite/pull/50)