Sentry-javascript: ES ๋ชจ๋“ˆ๋กœ ๋ณ€ํ™˜

์— ๋งŒ๋“  2017๋…„ 11์›” 14์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: getsentry/sentry-javascript

๊ธฐ๋Šฅ ์„ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ๋ฒ„๊ทธ๋ฅผ ๋ณด๊ณ  ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

ํŠน์ง•

ํ˜„์žฌ ํ–‰๋™์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” CommonJS ๋ชจ๋“ˆ๋กœ ๋…ธ์ถœ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ES6 ๋ชจ๋“ˆ๋กœ ๋…ธ์ถœ๋ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์™œ ์ด ํ–‰๋™์„ ์›ํ•˜๋Š”๊ฐ€?

์ƒˆ ๊ธฐ๋Šฅ์„ ์ถœ์‹œํ•œ ํ›„ ์ฒ˜์Œ ๋ฉฐ์น  ๋™์•ˆ๋งŒ raven-js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถœ์‹œํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‚ด ์•ฑ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด 20KB raven-js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

20KB raven-js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด webpack "es6-tree-shaking/uglify-js-dead-code-removal" ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

import { Raven, RavenVue } from './es6/raven';

if (FLAGS.SENTRY_ENABLE) {
    Raven.config(CONFIG.SENTRY_DSN).addPlugin(RavenVue, Vue).install();
}

์ด๊ฒƒ์€ ES6 ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•  ๋•Œ๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

es ๋ชจ๋“ˆ๋กœ ์ „ํ™˜ํ•  ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๊นŒ? PR์„ ์ˆ˜๋ฝํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

ํ”ผ๋“œ๋ฐฑ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

Help Wanted Improvement

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์กฐ๋งŒ๊ฐ„ ๊ผญ ํ•ด๋ณด๊ณ  ์‹ถ์€ ์ผ์ž…๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์›นํŒฉ/๋กค์—…์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ณ  ์šฐ๋ฆฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ฒˆ๋“ค์ด ์—ฌ์ „ํžˆ 10kb ์˜ˆ์‚ฐ์„ ์ดˆ๊ณผํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ž‘์—…๋„ ์ง„ํ–‰ ์ค‘์ด๊ธฐ ๋•Œ๋ฌธ์— ์–ธ์ œ ๋ฐฐ์†ก๋ ์ง€ ๋ง์”€๋“œ๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

์ œ์•ˆ๋œ ์†”๋ฃจ์…˜์— ํ•œ ๊ฐ€์ง€ ๊ฐœ์„  ์‚ฌํ•ญ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์†Œ์Šค ์ฝ”๋“œ ES6์˜ ์ˆ˜์ž…๊ณผ ์ˆ˜์ถœ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ module ์˜ ์ฃผ์š” package.json ํŒจํ‚ค์ง€์˜ ES6 ์ฃผ์š” ์ง„์ž… ์ ์„ ์ฐธ์กฐํ•˜๋Š” { "module": "src/raven.js" } . ์ฐธ์กฐ: https://github.com/rollup/rollup/wiki/pkg.module

๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด main ํ‚ค๋Š” { "main": "dist/raven.js" } ํŒจํ‚ค์ง€์˜ ๋ฒˆ๋“ค๋œ CommonJS ํ˜ธํ™˜ ๋ฒ„์ „์„ ๊ณ„์† ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ webpack ๋˜๋Š” ๋กค์—…๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. import Raven from 'raven-js' ํŒŒ์ผ์˜ ES6 ๋ฒ„์ „์œผ๋กœ ์ž๋™ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

์กฐ๋งŒ๊ฐ„ ๊ผญ ํ•ด๋ณด๊ณ  ์‹ถ์€ ์ผ์ž…๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์›นํŒฉ/๋กค์—…์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ณ  ์šฐ๋ฆฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ฒˆ๋“ค์ด ์—ฌ์ „ํžˆ 10kb ์˜ˆ์‚ฐ์„ ์ดˆ๊ณผํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ž‘์—…๋„ ์ง„ํ–‰ ์ค‘์ด๊ธฐ ๋•Œ๋ฌธ์— ์–ธ์ œ ๋ฐฐ์†ก๋ ์ง€ ๋ง์”€๋“œ๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

@kamilogorek ์ €๋Š” ํ•ญ์ƒ

์ด๊ฒƒ์€ ์†Œ์Šค๋ฅผ ES ๋ชจ๋“ˆ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.

์ด PR์„ ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋ฉ‹์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. :์˜ฅํ† ์บฃ:

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰