Pdf.js: ์ปค๋ฒ„๋ฆฌ์ง€ ํ†ต๊ณ„ ์ƒ์„ฑ (ํ…Œ์ŠคํŠธ)

์— ๋งŒ๋“  2017๋…„ 07์›” 10์ผ  ยท  43์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: mozilla/pdf.js

ํ…Œ์ŠคํŠธ์—์„œ ๋‹ค๋ฃจ์ง€ ์•Š๋Š” ์ฝ”๋“œ ๋ถ€๋ถ„์ด๋‚˜ ์‹ค์ œ๋กœ๋Š” ์ฃฝ์€ ์ฝ”๋“œ๋ฅผ ์‹๋ณ„ํ•˜๋ ค๋ฉด ๋ฒ”์œ„ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ํŠน์ • PDF ํŒŒ์ผ์˜ ๋ฌธ์ œ๋ฅผ ๋ถ„์„ ํ•  ๋•Œ PDF.js์˜ ์–ด๋–ค ๋ถ€๋ถ„์ด ๊ด€๋ จ์ด ์žˆ๋Š”์ง€ ์‹ ์†ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค (ํŠนํžˆ ์ƒˆ๋กœ์šด ๊ธฐ์—ฌ์ž์—๊ฒŒ ์œ ์šฉ ํ•  ์ˆ˜ ์žˆ์Œ).

์—ฌ๋Ÿฌ ๋„๊ตฌ๊ฐ€ ์žˆ์ง€๋งŒ https://github.com/gotwarlost/istanbul์— ๋Œ€ํ•œ ์ข‹์€ ๊ฒฝํ—˜์„ํ–ˆ์Šต๋‹ˆ๋‹ค
Travis์™€ ํ†ตํ•ฉ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฒฐ๊ณผ๋Š” ์ž‘์—…๋ณต๊ณผ ๊ฐ™์€ ์™ธ๋ถ€ ์„œ๋น„์Šค์— ๊ฒŒ์‹œ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด https://coveralls.io/github/Rob--W/cors-anywhere?branch=master(https : //github.com/Rob--W/cors-anywhere/commit/f9af03e76249b4dd38722b459293773ccddb6c7d).

PDF.js์—๋Š” ๋‚ด๊ฐ€ ์•„๋Š” ๋‹ค๋ฅธ ์‹คํ–‰ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค (์ž์„ธํ•œ ๋‚ด์šฉ์€ gulpfile.js ์ฐธ์กฐ).

  • unittestcli-Node.js์—์„œ PDF.js์˜ ์ผ๋ถ€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค (์†Œ์Šค ๋ณ€๊ฒฝ์„ ์ตœ์†Œํ™”ํ•˜๊ณ  gulpfile.js์— ๊ตฌ์„ฑ๋œ babel์„ ์‚ฌ์šฉํ•œ ํŠธ๋žœ์Šค ํŒŒ์ผ ๋งŒ ์‚ฌ์šฉ).
  • unittest-๋ธŒ๋ผ์šฐ์ €์—์„œ PDF.js์˜ ์ผ๋ถ€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค (์†Œ์Šค ๋ณ€๊ฒฝ์„ ์ตœ์†Œํ™”ํ•˜๊ณ , systemjs.config.js์— ๊ตฌ์„ฑ๋œ babel์— ์˜ํ•œ ํŠธ๋žœ์Šค ํŒŒ์ผ ๋งŒ ์‚ฌ์šฉ).
  • browsertest-๋ธŒ๋ผ์šฐ์ €์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค (Chrome ๋ฐ Firefox ํ…Œ์ŠคํŠธ). ์ด๊ฒƒ์€ generic ๋นŒ๋“œ ํƒ€๊ฒŸ์— ์˜ํ•ด ์ƒ์„ฑ ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ์— ์˜์กดํ•˜๋ฉฐ, ์ด๋Š” babel๋กœ ํŠธ๋žœ์Šค ํŒŒ์ผ ๋œ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  webpack ( gulpfile.js์— ๊ตฌ์„ฑ๋จ )๊ณผ ํ•จ๊ป˜ ๋ฒˆ๋“ค๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • examples / node / pdf2svg.js -Node.js์—์„œ SVG ๋ Œ๋”๋ง ๋ฐฑ์—”๋“œ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ( generic ๋นŒ๋“œ ๋Œ€์ƒ์— ๋”ฐ๋ผ ๋‹ค๋ฆ„).
  • ๋ธŒ๋ผ์šฐ์ € ํ™•์žฅ (Firefox / Chromium)์œผ๋กœ, firefox / chromium ๋นŒ๋“œ ๋Œ€์ƒ ์‚ฌ์šฉ (๋‹ค๋ฅธ DEFINES๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๋ฐ˜ ๋Œ€์ƒ๊ณผ ์œ ์‚ฌํ•œ ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค ์‚ฌ์šฉ)

์ด์ƒ์ ์œผ๋กœ๋Š” ์›๋ž˜ ์†Œ์Šค์— ๋Œ€ํ•œ ์ปค๋ฒ„๋ฆฌ์ง€ ํ†ต๊ณ„๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๋จผ์ € ๋ธŒ๋ผ์šฐ์ € /Node.js์—์„œ ์ง์ ‘ ์‹คํ–‰๋˜๋Š” ์ƒ์„ฑ ๋œ JS ํŒŒ์ผ์— ๋Œ€ํ•œ ์ปค๋ฒ„๋ฆฌ์ง€ ํ†ต๊ณ„๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค (๋” ์‰ฌ์šด ๊ฒฝ์šฐ).

1-test 5-good-beginner-bug

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

unittestcli-Node.js์—์„œ PDF.js์˜ ์ผ๋ถ€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค (์ตœ์†Œํ•œ์˜ ์†Œ์Šค ๋ณ€๊ฒฝ, babel์„ ์‚ฌ์šฉํ•œ ํŠธ๋žœ์Šค ํŒŒ์ผ ๋งŒ ์‚ฌ์šฉ).
browsertest-๋ธŒ๋ผ์šฐ์ €์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค (Chrome ๋ฐ Firefox ํ…Œ์ŠคํŠธ). ์ด๋Š” generic ๋นŒ๋“œ ๋Œ€์ƒ์— ์˜ํ•ด ์ƒ์„ฑ ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค.์ด ๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” babel๋กœ ํŠธ๋žœ์Šค ํŒŒ์ผ ๋œ ๋‹ค์Œ ์›นํŒฉ๊ณผ ํ•จ๊ป˜ ๋ฒˆ๋“ค๋กœ ์ œ๊ณต๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

browsertest ๊ฐ€ ์ฐธ์กฐ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ „์ฒด ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ง‘ํ•ฉ์„ ์‹คํ–‰ํ•˜๋Š” unittest ๋ช…๋ น๋„ ์žˆ์Šต๋‹ˆ๋‹ค (ํ•˜์œ„ ์ง‘ํ•ฉ ๋งŒ ์‹คํ–‰ํ•˜๋Š” unittestcli ๊ณผ ๋ฐ˜๋Œ€) ๊ธฐ์กด ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์˜).

๋˜ํ•œ PDFJS_NEXT ๋นŒ๋“œ ํ”Œ๋ž˜๊ทธ๊ฐ€ ์„ค์ •๋œ ๊ฒฝ์šฐ "Babel๋กœ ๋ณ€ํ™˜"๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ ๋›ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ( gulpfile.js ๋‹ค๋ฅธ ๋นŒ๋“œ ํ”Œ๋ž˜๊ทธ์ฒ˜๋Ÿผ ๋˜๋Š” ๋ช…๋ น ์ค„ ์ธ์ˆ˜๋กœ). ์ฝ”๋“œ๋Š” ์—ฌ์ „ํžˆ Webpack์— ๋ฒˆ๋“ค๋กœ ์ œ๊ณต๋˜์ง€๋งŒ ์ตœ์†Œํ•œ ํŠธ๋žœ์Šค ํŒŒ์ผ ๋‹จ๊ณ„๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@ Rob--WI๊ฐ€์ด ์ž‘์—…์„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋„ˆ์˜ ๊ฒƒ์ด ์•ผ! ์งˆ๋ฌธ์ด ์žˆ์œผ์‹œ๋ฉด ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค (๋ฐ”๋žŒ์งํ•˜๊ฒŒ๋Š” IRC์—์„œ).

@timvandermeij Karma ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด์Šคํƒ„๋ถˆ ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€ ์—”์ง„๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์‹คํ–‰์— ๋Œ€ํ•œ ํ†ต๊ณ„๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ HTML ๋ณด๊ณ ์„œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•˜๊ธฐ์— ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๊นŒ?

Karma๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ https://drive.google.com/file/d/0ByddvU1PKkWaWEZTWHFYT0Y0aTg/view?usp=sharing ํ…Œ์ŠคํŠธ ๋ณด๊ณ ์„œ๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ํ…Œ์ŠคํŠธ ๋ฒ”์œ„ ํ†ต๊ณ„๋Š” https://drive.google.com/file/d/0ByddvU1PKkWaS1ZiT1dobU1DQUk/view?usp=sharing ์— ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@ Divya063 ์˜ˆ๋ฅผ ๋“ค์–ด ํ˜„์žฌ ์ฝ”๋“œ๋ฅผ Github์˜ pdf.js ํฌํฌ์—์žˆ๋Š” ๋ธŒ๋žœ์น˜๋กœ ํ‘ธ์‹œํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๊ณต์œ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ํ•„์š”ํ•  ๋•Œ webpack์ด๋‚˜ babel์ด ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ๋ฒ„์ „์˜ Node.js๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

์‘๋‹ต ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. Node ๋ฒ„์ „์€ 6.11.1์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ https://github.com/Divya063/pdf.js/tree/dev ์ง€์ ์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€

์˜ค๋ฅ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Firefox 43.0.0
SyntaxError : import ์„ ์–ธ์€ ์ตœ์ƒ์œ„ ์ˆ˜์ค€์—์„œ๋งŒ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํฌ๋กฌ 60.0.3112
ํฌ์ฐฉ๋˜์ง€ ์•Š์€ ๊ตฌ๋ฌธ ์˜ค๋ฅ˜ : ์˜ˆ๊ธฐ์น˜ ์•Š์€ ํ† ํฐ ๊ฐ€์ ธ ์˜ค๊ธฐ

์ด๋Š” ์ฝ”๋“œ๊ฐ€ ์‚ฌ์šฉ ์ „์— ํŠธ๋žœ์Šค ํŒŒ์ผ๋˜์ง€ ์•Š์•˜ ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์€ ES ๋ชจ๋“ˆ์— ๋Œ€ํ•œ ์ง€์›์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ( ์ถ”๊ฐ€ ์ •๋ณด ) ๋จผ์ € ์ฝ”๋“œ๋ฅผ ํŠธ๋žœ์Šค ํŒŒ์ผํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

PDF.js์˜ ๋นŒ๋“œ ์‹œ์Šคํ…œ์—์„œ ํŠธ๋žœ์Šค ํŒŒ์ผ์ด ๊ตฌ์„ฑ๋˜๋Š” ์œ„์น˜๋ฅผ ์ง€์ ํ•˜๊ธฐ ์œ„ํ•ด ์ดˆ๊ธฐ ๊ฒŒ์‹œ๋ฌผ์„ ํŽธ์ง‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๊ธฐ์กด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์Šคํƒ„๋ถˆ๊ณผ ๋ฐ”๋ฒจ์„ ํ†ตํ•ฉ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น ๋ฅธ ๊ฒ€์ƒ‰์€ https://github.com/istanbuljs/babel-plugin-istanbul ์„ ํ‘œ์‹œํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ์˜ต์…˜๋„์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

(๊ทธ๋ฆฌ๊ณ  ํŒŒ์ด์–ด ํญ์Šค์˜ ํ˜„์žฌ ์•ˆ์ • ๋ฒ„์ „์€ 55์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์˜ค๋ž˜๋œ ํŒŒ์ด์–ด ํญ์Šค 43์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ์ด๋Š” ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์ „์— ์ตœ์‹  ๋ฒ„์ „์˜ ํŒŒ์ด์–ด ํญ์Šค๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค)

@ Rob--W ์˜ค๋ฅ˜๋ฅผ ์•Œ๋ ค ์ฃผ์…”์„œ ๊ฐ์‚ฌ ๋“œ๋ฆฌ๋ฉฐ ๊ณง ๊ฒฐ๊ณผ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

@ Rob--WI๋Š” karma-browserify ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ํŠธ๋žœ์Šค ํŒŒ์ผํ•˜๊ณ  ํŒŒ์ด์–ด ํญ์Šค ๋ฒ„์ „์„ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๋งŽ์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. / dev

์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ๊ณต์œ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ทธ๋ฆฌ๊ณ  ๊ฐ€๋Šฅํ•˜๋ฉด browserify ๋Œ€์‹  webpack์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. webpack์€ ์ด๋ฏธ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹ค์ œ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ฝ”๋“œ๋ฅผ ๊ณ„์ธก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

.idea ๋ฐ ๊ธฐํƒ€ ์‚ฌ์šฉ์ž ๋ณ„ ํ”„๋กœ์ ํŠธ / IDE ํŒŒ์ผ๋„ ํ™•์ธํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ•  ๋•Œ ๊ด€๋ จ์—†๋Š” ํŒŒ์ผ์„ ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ €์žฅ์†Œ๋ฅผ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ๋ณ‘ํ•ฉ ์ถฉ๋Œ์„ ์œ ๋ฐœํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ตœ์ข… ํ’€ ์š”์ฒญ์—์„œ ์ด๋Ÿฌํ•œ ํŒŒ์ผ์€ ํฌํ•จ๋˜์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ์—ฌ์ „ํžˆ ๋ฐœ์ƒํ•ฉ๋‹ˆ๊นŒ? ๊ทธ๋ ‡๋‹ค๋ฉด ์ž‘์—…ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์˜ˆ, ์ž์œ ๋กญ๊ฒŒ ์ž‘์—…ํ•˜์‹ญ์‹œ์˜ค.

์•ˆ๋…•ํ•˜์„ธ์š”.
๋‚˜๋Š”์ด ์ผ์„ํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ๋‚˜๋Š” ์ด์Šคํƒ„๋ถˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ๋‹ค๋ฃจ๊ณ  ์ž‘์—…๋ณต์„ ๋ณด๊ณ ์„œ๋ฅผ ํ‘œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ณณ์— ํ•„์š”ํ•œ ์‚ฌํ•ญ์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ž‘์—…๋ณต์„ ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค

npm run coveralls

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

npm run coveralls

> [email protected] coveralls /home/shikhar/Desktop/mozillaPdfJs/pdf.js
> npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls


> [email protected] cover /home/shikhar/Desktop/mozillaPdfJs/pdf.js
> istanbul cover test/**/*.js "--report" "lcovonly"

Running test 1/16: test_first_run
Running test 2/16: test_first_run_incognito
Running test 3/16: test_storage_managed_unavailable
Running test 4/16: test_managed_pref
Running test 5/16: test_local_pref
Running test 6/16: test_managed_pref_is_overridden
Running test 7/16: test_run_extension_again
Running test 8/16: test_running_for_a_while
Running test 9/16: test_browser_update
Running test 10/16: test_browser_update_between_pref_toggle
Running test 11/16: test_extension_update
Running test 12/16: test_unofficial_build
Running test 13/16: test_fetch_is_supported
Running test 14/16: test_fetch_not_supported
Running test 15/16: test_fetch_mode_not_supported
Running test 16/16: test_network_offline
All tests completed.
No coverage information was collected, exit without writing coverage information
[error] "2017-12-17T11:00:06.112Z"  'error from lcovParse: ' 'Failed to parse string'
[error] "2017-12-17T11:00:06.116Z"  'input: ' ''
[error] "2017-12-17T11:00:06.116Z"  'error from convertLcovToCoveralls'

/home/shikhar/Desktop/mozillaPdfJs/pdf.js/node_modules/coveralls/bin/coveralls.js:18
        throw err;
        ^
Failed to parse string
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] coveralls: `npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] coveralls script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/shikhar/.npm/_logs/2017-12-17T11_00_06_136Z-debug.log

๋‚˜๋Š” ์ด๊ฒƒ์„ ์—ฌ๊ธฐ ์™€ ์—ฌ๊ธฐ์—์„œ ์ฐพ์•„ ๋ณด์•˜์ง€๋งŒ ์†Œ์šฉ์ด ์—†์—ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•œ ๋„์›€์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ฝ”๋“œ๋ฅผ ๋ณด์ง€ ์•Š๊ณ ๋Š” ๋งํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ๊ธฐ์—ฌํ•œ ์‚ฌ๋žŒ๋“ค์ด ๋‹น์‹ ๊ณผ ํ•จ๊ป˜ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์ฝ”๋“œ๋ฅผ ๋ธŒ๋žœ์น˜์— ํ‘ธ์‹œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@timvandermeij ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค. gem ํŒŒ์ผ์„ ๋ฌด์‹œํ•˜์‹ญ์‹œ์˜ค. ๋‚˜๋Š” ์ด๋ฏธ ๊ทธ๊ฒƒ์„ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ์ฝ”๋ฉ˜ํŠธ @timvandermeij

์•ฝ๊ฐ„์˜ ์ธํ„ฐ๋„ท ๊ฒ€์ƒ‰์—์„œ์ด ์˜ค๋ฅ˜๋Š” coveralls ์ด lcov ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ ์˜ค์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls ์˜ ๊ฐœ๋ณ„ ๋ช…๋ น์ด ์‹ค์ œ๋กœ ์˜ˆ์ƒ ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”.
ํ˜„์žฌ ์ฃผ์š” ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
No coverage information was collected, exit without writing coverage information
์ด ๋•Œ๋ฌธ์— lcov ํŒŒ์ผ์€ ํ•ญ์ƒ ๋นˆ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋ฏ€๋กœ ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

[error] "2017-12-17T11:00:06.112Z"  'error from lcovParse: ' 'Failed to parse string'
[error] "2017-12-17T11:00:06.116Z"  'input: ' ''
[error] "2017-12-17T11:00:06.116Z"  'error from convertLcovToCoveralls'

์ธํ„ฐ๋„ท ๊ฒ€์ƒ‰์—์„œ ์ด๊ฒƒ์€ ๋งค์šฐ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด์Šคํƒ„๋ถˆ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋ฒ„์ „์˜ ๋‹ค๋ฅธ ๋ฒ„์ „์œผ๋กœ ์ „ํ™˜์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์˜ค๋ฅ˜๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋“  ์žฅ์†Œ์—์„œ ํ…Œ์ŠคํŠธ๋Š” ๋ฆฐํŠธ ๋‚˜ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๋“ฑ์ด ์•„๋‹Œ ๋ชจ์นด๋กœ ์ˆ˜ํ–‰๋˜์—ˆ์œผ๋ฏ€๋กœ ๋Œ€๋ถ€๋ถ„์˜ (๊ฑฐ์˜) ํ•ด์ƒ๋„๋„ ๋ชจ์นด ์ „์šฉ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ๋“ค์€ ๋‚ด๊ฐ€ ์ฐพ์€ ๋ช‡ ๊ฐ€์ง€ ์†Œ์Šค์˜€์Šต๋‹ˆ๋‹ค.

https://github.com/gotwarlost/istanbul/issues/262
https://github.com/coryhouse/react-slingshot/issues/245
https://github.com/gotwarlost/istanbul/issues/496
๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋„ ์‹ค์ œ๋กœ ๋„์›€์ด๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋นŒ๋“œ๋Š” travis ( https://travis-ci.org/shikhar-scs/pdf.js/jobs/318422621 )์—์„œ ์ „๋‹ฌ๋˜์ง€๋งŒ ์ปค๋ฒ„๋ฆฌ์ง€๋Š” ์ƒ์„ฑ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์™œ ๊ทธ๋Ÿฐ ์ผ์ด ์ผ์–ด๋‚˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ, Jasmine์œผ๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ์„ฑ๊ณตํ•œ ์‚ฌ๋žŒ๋“ค๋„ ๋งŽ์ด ๋ฐœ๊ฒฌํ•˜๋ฏ€๋กœ ๊ฐ€๋Šฅํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. https://bryce.fisher-fleig.org/blog/setting-up-istanbul-with-jasmine/index.html์ด ํšจ๊ณผ๊ฐ€ ์žˆ๋‹ค๋ฉด ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋จผ์ € ์ •ํ™•ํ•œ ๋‹จ๊ณ„๋ฅผ ์‹œ๋„ํ•˜์—ฌ ๋…๋ฆฝ ์‹คํ–‰ ํ˜•์œผ๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•œ ๋‹ค์Œ PDF.js์— ํ†ตํ•ฉ ํ•ด๋ณด์‹ญ์‹œ์˜ค.

@timvandermeij on it
๋งˆ์นจ๋‚ด ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด๊ณ ์„œ๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ€์ ธ ์˜ค๊ธฐ ๋ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ํŠธ๋žœ์Šค ํŒŒ์ผ ํ•œ ๋‹ค์Œ ํ…Œ์ŠคํŠธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
Transformation error for /home/shikhar/Desktop/mozillaPdfJs/pdf.js/web/ui_utils.js ; return original code 'import' and 'export' may appear only with 'sourceType: "module"' (16:0)
์ด ์˜ค๋ฅ˜๋Š” ๋ชจ๋“  js ํŒŒ์ผ์—์„œ ๋ฐœ์ƒํ•˜๋ฉฐ ๊ณง ์ž‘์—…ํ•˜๊ณ  PR์„ ์ œ์ถœํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”.

์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค : ๋นŒ๋“œ ํ†ต๊ณผ ๋ฐ ์ปค๋ฒ„๋ฆฌ์ง€ ์š”์ฒญ .

์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด๊ณ ์„œ

๊ทธ๋Ÿฌ๋‚˜ ๊ฐ€์ ธ ์˜ค๊ธฐ ๋ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ๋ฌธ์ด ์กด์žฌํ•˜๋ฏ€๋กœ ํ•ด๋‹น ํŒŒ์ผ์— ๋„๋‹ฌ ํ•œ ํ›„์—๋„ ์™„์ „ํžˆ ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ 0 % ๋ฒ”์œ„ ๋ณด๊ณ ์„œ๋ฅผ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์•„๋Š” ํ•œ ์žฌ์Šค๋ฏผ ํ…Œ์ŠคํŠธ ์ „์— ์ด๋Ÿฌํ•œ ํŒŒ์ผ์„ ES6์— ๋ฐ” ๋ฒจ๋ฆฌ ํ™”ํ•ด์•ผํ•˜๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ์ด ์ž…์ฆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. jasmine์— ES6 ์ฝ”๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ์ œ๊ณตํ•ฉ๋‹ˆ๊นŒ?
http://jpsierens.com/use-es6-right-now/์— ์–ธ๊ธ‰ ๋œ๋Œ€๋กœ gulp ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์‹ค์ œ๋กœ ์†”๋ฃจ์…˜์— ๊ฐ€๊นŒ์›Œ์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด๊ณ ์„œ์—์„œ ์ด๋ฏธ ES6๋กœ ํŠธ๋žœ์Šค ํŒŒ์ผ ๋œ lib ํŒŒ์ผ์— ๋Œ€ํ•œ ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค (https://github.com/mozilla/pdf.js/blob/6ac9e1c5ed0d5f067872b8482724c171c79566b2/gulpfile ์ฐธ์กฐ). js # L965 ๋ฐ https://github.com/mozilla/pdf.js/blob/6ac9e1c5ed0d5f067872b8482724c171c79566b2/gulpfile.js#L985). ์•„๋‹ˆ๋ฉด ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž์ฒด๊ฐ€ ํŠธ๋žœ์Šค ํŒŒ์ผ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๊นŒ? ์ •ํ™•ํžˆ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ, ๊ทธ๋ ‡๋‹ค๋ฉด ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด Gulpfile์„ ์•ฝ๊ฐ„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”.

์•„๋‹ˆ๋ฉด ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž์ฒด๊ฐ€ ํŠธ๋žœ์Šค ํŒŒ์ผ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๊นŒ? ์ •ํ™•ํžˆ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ, ๊ทธ๋ ‡๋‹ค๋ฉด ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด Gulpfile์„ ์•ฝ๊ฐ„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” ์ž˜๋ชป๋œ ํด๋”์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. build>lib ํด๋”์—๋Š” ์ด๋ฏธ ES6 ํ˜•์‹์˜ ์ „์ฒด ํ”„๋กœ์ ํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ์ด์ œ ์ „์ฒด ๋‚ด์šฉ, ์ฆ‰ ์žฌ์Šค๋ฏผ๊ณผ ์ž‘์—…๋ณต์˜ ๊ฒฝ๋กœ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๋Š” --report lcovonly ๋ฌธ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์„ ์ž‘์—…๋ณต ๋ผ์ธ์—์„œ ์ œ๊ฑฐํ–ˆ์„ ๋•Œ ๋งˆ์ˆ ์ฒ˜๋Ÿผ (์ •๋ง ์ด์œ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค) ๋ณด๊ณ ์„œ๊ฐ€ ์ƒ์„ฑ๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

npm์˜ ๊ฐœ๋ณ„ ๋ช…๋ น์ด ์ปค๋ฒ„๋ฅผ ์‹คํ–‰ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. --report lcovonly && cat ./coverage/lcov.info | ์ž‘์—…๋ณต์€ ์‹ค์ œ๋กœ ์˜ˆ์ƒ ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ง€์  ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค : tada : ์•ฝ๊ฐ„ ์Šฌํ”„๊ฒŒ ๋ณด์ด์ง€๋งŒ ์ •ํ™•ํ•œ ํŒŒ์ผ์„ ์ฝ์œผ๋ฉด ๊ทธ ์ด์œ ๋ฅผ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์‹คํ–‰๋˜์ง€ ์•Š์€ ๋ชจ๋“  ์กฐ๊ฑด๋ฌธ์€ '์ ์šฉ๋˜์ง€ ์•Š์Œ'์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.
  2. ์‹คํ–‰๋˜์ง€ ์•Š์€ ๋ชจ๋“  ํ• ๋‹น ๋ฌธ๋„ '๋ฏธ์ ์šฉ'์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋ถ„๋ช…ํžˆ ์ƒ์„ฑ ๋œ ๋ณด๊ณ ์„œ๋ฅผ ์ง์ ‘ ์—…๋กœ๋“œํ•˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ http://pdfjscoveragereport.bitballoon.com ๋งํฌ์—์„œ ํ˜ธ์ŠคํŒ…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋งํฌ๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ฉด ์˜ˆ์ƒ๋˜๋Š” ์ •ํ™•ํ•œ ๋ณด๊ณ ์„œ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๊ฒฐ๊ณผ๋Š” coveralls.io ์— ๋ฐ˜์˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. : cry : ์ด์œ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์—ฌ๋Ÿฌ ๋ฒˆ ์ปค๋ฐ‹ ํ•œ ํ›„์—๋„ coveralls ์€ (๋Š”) ์ตœ๊ทผ ์ปค๋ฐ‹์ด ์•„๋‹Œ ์•„์ฃผ ์˜ค๋ž˜๋œ ์ปค๋ฐ‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‚ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ์•„ ๋ƒˆ์Šต๋‹ˆ๋‹ค

๊ทธ๋Ÿฌ๋‚˜ ์—ฌ์ „ํžˆ npm run coveralls ๋Š” build/lib/coverage/lcov-report ํด๋”์—์žˆ๋Š” ์ด ํ˜•์‹์œผ๋กœ ์ „์ฒด ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด๊ณ ์„œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ชจ๋“  ๊ฒƒ์ด ๋งˆ์นจ๋‚ด ๋„์›€์ด๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ๋Š” ์ด๋Ÿฌํ•œ ๋ณด๊ณ ์„œ๋ฅผ ์ž‘์—…๋ณต์— ์–ด๋–ป๊ฒŒ ๋“  ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‚ด ์ตœ์‹  ๋นŒ๋“œ์— ๋Œ€ํ•œ ๋งํฌ์ž…๋‹ˆ๋‹ค. https://travis-ci.org/shikhar-scs/pdf.js
์ด๊ฒƒ์€ ๋‚ด ์ตœ๊ทผ ์ปค๋ฐ‹์— ๋Œ€ํ•œ ๋งํฌ์ž…๋‹ˆ๋‹ค.

coveralls.io์—์„œ ์ƒ์„ฑ๋˜์ง€ ์•Š๋Š” ๋ณด๊ณ ์„œ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์˜ ๊ด€์‹ฌ์„ ๋Œ๊ณ  ๋Œ€์‹ ์ด ๋ฌธ์ œ๋ฅผ ๋” ์ผ์ฐ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ PR์„ ์ƒ์„ฑํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

์ž˜ ํ–ˆ์–ด! ์ปค๋ฒ„๋ฆฌ์ง€์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๋ฅผ ๊ฐ–๋Š” ๊ฒƒ์ด ์ •๋ง ์ข‹์œผ๋ฉฐ ๋ณด๊ณ ์„œ๋Š” ๋งˆ์นจ๋‚ด ์šฐ๋ฆฌ์—๊ฒŒ ๊ทธ๊ฒƒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ํ›จ์”ฌ ๋” ๋งŽ์€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋ถ„๋ช…ํžˆ ๋ณด์—ฌ ์ฃผ์ง€๋งŒ, ์ตœ๊ทผ์— ์ถ”๊ฐ€ ํ•œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ๋ชจ๋“  ๋ฐฉ๋ฒ•์€ ์‹ค์ œ๋กœ ๋ณด๊ณ ์„œ์— ํฌํ•จ ๋œ๋Œ€๋กœ ํ‘œ์‹œ๋˜๋ฏ€๋กœ ์™„๋ฒฝํ•˜๊ฒŒ ๋ณด์ž…๋‹ˆ๋‹ค.

๋นŒ๋“œ ๋œ ํŒŒ์ผ ๋Œ€์‹  ์†Œ์Šค ํŒŒ์ผ์— ๋Œ€ํ•ด ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ http://pdfjscoveragereport.bitballoon.com/lib/display/metadata.js.html ์—์„œ 28 ํ–‰์ด ์šฐ๋ฆฌ ์ฝ”๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ ์ž๋™์œผ๋กœ ์ƒ์„ฑ ๋œ ์ฝ”๋“œ๊ฐ€ ๋‹ค๋ฃจ์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ดํ•ดํ•˜๊ธฐ ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค. ์–ด๋ ต๋‹ค๊ณ  ํŒ๋ช…๋˜๋ฉด ํ˜„์žฌ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ฒซ ๋ฒˆ์งธ ๋ฒ„์ „์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๊ณ  ํ›„์† ๋ฌธ์ œ์—์„œ์ด๋ฅผ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์˜ ๊ด€์‹ฌ์„ ๋Œ๊ณ  ๋Œ€์‹ ์ด ๋ฌธ์ œ๋ฅผ ๋” ์ผ์ฐ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ PR์„ ์ƒ์„ฑํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

๋„ค, ์ข‹์€ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ฒ€ํ†  ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๋ฌธ์ œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ปค๋ฒ„๋ฆฌ์ง€์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๋ฅผ ๊ฐ–๋Š” ๊ฒƒ์ด ์ •๋ง ์ข‹์œผ๋ฉฐ ๋ณด๊ณ ์„œ๋Š” ๋งˆ์นจ๋‚ด ์šฐ๋ฆฌ์—๊ฒŒ ๊ทธ๊ฒƒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ํ›จ์”ฌ ๋” ๋งŽ์€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋ถ„๋ช…ํžˆ ๋ณด์—ฌ ์ฃผ์ง€๋งŒ, ์ตœ๊ทผ์— ์ถ”๊ฐ€ ํ•œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ๋ชจ๋“  ๋ฐฉ๋ฒ•์€ ์‹ค์ œ๋กœ ๋ณด๊ณ ์„œ์— ํฌํ•จ ๋œ๋Œ€๋กœ ํ‘œ์‹œ๋˜๋ฏ€๋กœ ์™„๋ฒฝํ•˜๊ฒŒ ๋ณด์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ๋” ๋งŽ์€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋กœ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ํ™•์‹คํžˆ ์‚ฌ์‹ค์ด์ง€๋งŒ, ์Šฌํ”„๊ฒŒ๋„ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋งŒ์œผ๋กœ๋Š” ์ถฉ๋ถ„ํžˆ "์ข‹์€"ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ์–ป์„ ์ˆ˜์—†๋Š” ์ฝ”๋“œ ๊ธฐ๋ฐ˜์˜ ์ƒ๋‹น ๋ถ€๋ถ„์ด ์žˆ์Šต๋‹ˆ๋‹ค.

https://github.com/mozilla/pdf.js/issues/8632#issue -241690851์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ๋ช‡ ๊ฐ€์ง€ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๊ฐ€ ์žˆ์œผ๋ฉฐ gulp browsertest ์—์„œ๋„ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ฒฐ๊ณผ๋ฅผ๋ฐ›๋Š” ๊ฒƒ์ด ์ž˜๋ชป๋˜์ง€ ์•Š๋Š” ํ•œ ์‹ค์ œ ํ…Œ์ŠคํŠธ ๋ฒ”์œ„๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฑฐ์˜ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.

ํŠธ์œ— ๋‹ด์•„ ๊ฐ€๊ธฐ

์˜ค๋Š˜ ์•„์นจ ์ €๋Š” cd build && cd lib && istanbul cover --include-all-sources jasmine-node test ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ํด๋”์—์„œ ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด๊ณ ์„œ๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ์ฐพ๊ณ , cd <directory name> ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  jasmine-node <directory names and js files> ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์‹œ๋„ํ–ˆ์ง€๋งŒ ํ—›๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ๋ณด๊ณ ์„œ๊ฐ€ ๊ฐ€๋” ์ƒ์„ฑ๋˜์ง€๋งŒ (ํ•ญ์ƒ ๊ทธ๋Ÿฐ ๊ฒƒ์€ ์•„๋‹˜) ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ์—์žˆ๋Š” ํ•˜๋‚˜ ๋˜๋Š” ๋‘ ๊ฐœ์˜ ES6 ํ˜•์‹ js ํŒŒ์ผ (๋ฒ”์œ„ ๋ณด๊ณ ์„œ์˜ 2 ~ 3 % ๋ฏธ๋งŒ ๋งŒ ๊ฐ€์ ธ์˜ด) ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์Šฌํ”„๊ฒŒ๋„ import or export statements ๊ฐ€ ํฌํ•จ ๋œ js ํŒŒ์ผ์€์ด ํ˜•์‹์œผ๋กœ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Transformation error for /home/shikhar/Desktop/mozillaPdfJs/pdf.js/src/core/arithmetic_decoder.js ; return original code 'import' and 'export' may appear only with 'sourceType: "module"' (183:0) Unable to post-instrument: /home/shikhar/Desktop/mozillaPdfJs/pdf.js/src/core/arithmetic_decoder.js

๊ทธ๋ฆฌ๊ณ ์ด ์˜ค๋ฅ˜๋กœ ์ธํ•ด ํŒŒ์ผ์˜ ์ ์šฉ ๋ฒ”์œ„๋ฅผ ์ „ํ˜€ ํ™•์ธํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ 0 % ๋ณด๊ณ ์„œ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋นŒ๋“œ ๋œ ํŒŒ์ผ ๋Œ€์‹  ์†Œ์Šค ํŒŒ์ผ์— ๋Œ€ํ•ด ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์‹œ ๋งํ•˜์ง€๋งŒ, ์†Œ์Šค ํด๋”์—๋Š” import ๋ฐ export ๋ฌธ์ด์žˆ๋Š” ํŒŒ์ผ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ๊ด€๋ จ ํŒŒ์ผ์„ ์ „ํ˜€ ํ™•์ธํ•˜์ง€ ์•Š์•„ ์œ„์˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์ ์šฉ ๋ฒ”์œ„๊ฐ€ 0 %์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋นŒ๋“œ ํด๋” ์ž์ฒด์—์„œ ํ…Œ์ŠคํŠธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

gulp browsertest์—์„œ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š” ๊ฒƒ์€ ์‹ค์ œ ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”์ง€ ์‹ค์ œ๋กœ ์•„๋Š” ๋ฐ ๊ฑฐ์˜ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.

@Snuffleupagus ์ด๋Ÿฌํ•œ ํŠน์ • ํ…Œ์ŠคํŠธ๋Š” ์–ด๋””์— ์žˆ์Šต๋‹ˆ๊นŒ? ์œ„์—์„œ ์–ธ๊ธ‰ ํ•œ jasmine-node ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง์ ‘ ํ…Œ์ŠคํŠธ ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์–ด๋ ต๋‹ค๊ณ  ํŒ๋ช…๋˜๋ฉด ํ˜„์žฌ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ฒซ ๋ฒˆ์งธ ๋ฒ„์ „์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๊ณ  ํ›„์† ๋ฌธ์ œ์—์„œ์ด๋ฅผ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋„ค, ์ฐจ๋ผ๋ฆฌ ๊ทธ๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋„ค, ์ข‹์€ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ฒ€ํ†  ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๋ฌธ์ œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌผ๋ก ์ž…๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

# 9308์˜ PR์€ ๋‹จ์œ„ โ€‹โ€‹ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด์„œ๋งŒ ํ…Œ์ŠคํŠธ ๋ฒ”์œ„์˜ ์˜ˆ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ƒ์„ฑ ๋œ ๋ณด๊ณ ์„œ๋Š” ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์„ธํŠธ๊ฐ€ ๋งค์šฐ ์ž‘๊ธฐ ๋•Œ๋ฌธ์— ๊ฑฐ์˜ ๊ฐ€์น˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ https://github.com/mozilla/pdf.js/pull/9308#issuecomment -353588039๋ฅผ ์ฐธ์กฐ

๋”ฐ๋ผ์„œ ๋ธŒ๋ผ์šฐ์ € ํ…Œ์ŠคํŠธ๋ฅผ ๋ฐ›์œผ๋ ค๋ฉด ๋‹ค์Œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  1. ์ปค๋ฒ„๋ฆฌ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•.
  2. ์ปค๋ฒ„๋ฆฌ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์ž‘์—…๋ณต์— ์—…๋กœ๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์ฃผ์†Œ 1)์„ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด gulpfile.js ๋ฅผ ํŽธ์ง‘ํ•˜์—ฌ ์„ ํƒ์ ์œผ๋กœ ์ฝ”๋“œ ๊ณ„์ธก์„ ์ถ”๊ฐ€ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ window.__coverage__ ๊ฐœ์ฒด๋กœ ๋‚ด๋ณด๋‚ด์ง‘๋‹ˆ๋‹ค. gulp-istanbul ๊ฐ€ ์œ ์šฉ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์„œ๊ฐ€ ๋“œ๋ฌผ๊ฒŒ ๋ณด์ด์ง€๋งŒ https://stackoverflow.com/questions/38208735/no-window-coverage-object-is-created-by-istanbul-phantomjs ์—์„œ ์˜ˆ์ œ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค

1 ๋‹จ๊ณ„๋ฅผ ๋งˆ์น˜๋ฉด ๋ธŒ๋ผ์šฐ์ € ํ…Œ์ŠคํŠธ์— window.__coverage__ ๋ณ€์ˆ˜ (๋˜๋Š” coverageVariable ๊ตฌ์„ฑ ๋งค๊ฐœ ๋ณ€์ˆ˜์— ์ž…๋ ฅ ํ•œ ๋ณ€์ˆ˜)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด๊ณ ์„œ๋ฅผ ๋ฐ›์œผ๋ ค๋ฉด :

  1. ํ…Œ์ŠคํŠธ ์‹คํ–‰๊ธฐ (https://github.com/mozilla/pdf.js/blob/e081a708c36cb2aacff7889048863723fcf23671/test/driver.js)๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ XMLHttpRequest ๊ฐ€ ํฌํ•จ ๋œ ์ปค๋ฒ„๋ฆฌ์ง€ ๊ฒฐ๊ณผ๋ฅผ ํ…Œ์ŠคํŠธ ์„œ๋ฒ„์— ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค.
  2. ํ…Œ์ŠคํŠธ ์„œ๋ฒ„ (https://github.com/mozilla/pdf.js/blob/e081a708c36cb2aacff7889048863723fcf23671/test/test.js)์—์„œ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ๋ฐ›์„ ์ƒˆ ํ›„ํฌ๋ฅผ ๋“ฑ๋กํ•˜๊ณ  fs ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์— ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ณด๊ณ ์„œ๋ฅผ ์ž‘์—…๋ณต์— ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค (์˜ˆ : # 9308์— ํ‘œ์‹œ๋œ "coveralls"๋ช…๋ น ์‚ฌ์šฉ).

@ Rob--W ์ž์„ธํ•œ ๊ฒ€ํ† ๋ฅผ ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ›„์† ์กฐ์น˜๋ฅผ ์ทจํ•˜๊ณ  ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ๋˜๋Œ๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ์˜๊ฒฌ์€ ๊ตฌํ˜„์— ๋Œ€ํ•œ ํŒ์„ ์ œ๊ณตํ•˜๊ณ  https://github.com/mozilla/pdf.js/pull/9308#issuecomment-353710595์˜ ์งˆ๋ฌธ์— ๋‹ตํ•ฉ๋‹ˆ๋‹ค.

istanbul ๋Š” ์ฝ”๋“œ์— ๊ณ„์ธก ๋งŒ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. "๊ณ„์ธก"์€ ์‹คํ–‰์ด ํ•ด๋‹น ํ–‰, ๋ช…๋ น๋ฌธ ๋“ฑ์„ ํ†ต๊ณผ ํ•  ๋•Œ๋ฅผ ๊ฐ์ง€ํ•˜๋Š” ์ถ”๊ฐ€ JavaScript ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ์—์ด ์ž…๋ ฅ์€ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ๊ณ„์ธก์„ ์ถ”๊ฐ€ ํ•œ ํ›„ ์ฝ”๋“œ๊ฐ€ ํฌ๊ฒŒ ๋ณ€๊ฒฝ๋˜๋ฉด ๊ฒฐ๊ณผ ๋ฒ”์œ„ ๋ณด๊ณ ์„œ๋Š” ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์ด ๊ณ„์ธก์€ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ์ฆ‰์„์—์„œ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ˆ : ๋ช…๋ น ์ค„์—์„œ istanbul cover ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด istanbul ๊ฐ€ Node.js์˜ require ํ˜ธ์ถœ์„ ๊ฐ€๋กœ ์ฑ•๋‹ˆ๋‹ค). ๋ชจ๋“ˆ์ด๋กœ๋“œ๋˜๊ธฐ ์ „์— ์ธ์Šค ํŠธ๋ฃจ๋จผ ํ…Œ์ด์…˜์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๋ณ€ํ™˜ ํ•˜๊ฑฐ๋‚˜ ์‹คํ–‰๊ณผ ๋ณ„๋„๋กœ (์˜ˆ : ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ์—์„œ ์„ค๋ช…ํ•˜๋Š”๋Œ€๋กœ : ์ธ์ŠคํŠธ๋ฃจ๋จผํŠธ ๋œ ์ฝ”๋“œ๊ฐ€ ๋ช…๋ น ์ค„์—์„œ ์ƒ์„ฑ๋˜๊ณ  ์‹คํ–‰์€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค).

# 9308์˜ ํ˜„์žฌ PR์—์„œ ์‹คํ–‰ํ•  ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ jasmine ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ istanbul cover ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ์•ž์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด์ด ํšจ๊ณผ๋Š” gulp unittestcli ์‹คํ–‰๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, build/lib ๋””๋ ‰ํ† ๋ฆฌ์—์žˆ๋Š” ์‚ฌ์ „ ๋นŒ๋“œ ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค ( test/unit/clitests.json ์—์„œ ๊ตฌ์„ฑ๋จ). . build/lib/ ์ œ์™ธํ•œ ๋ชจ๋“  ํ•ญ๋ชฉ์— ๋Œ€ํ•ด ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด๊ณ ์„œ๊ฐ€ 0 ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ด์œ ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค ( require -d (Node.js) ๋ชจ๋“ˆ ๋งŒ build/lib ๋ฐ build/streams/ ์žˆ๊ธฐ ๋•Œ๋ฌธ) gulp unittestcli ์ž‘์—… ์ •์˜ ๋ ์ฐธ์กฐ).

์œ ์šฉํ•œ ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด๊ณ ์„œ๋ฅผ ์–ป์œผ๋ ค๋ฉด ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด๊ณ ์„œ๊ฐ€ ๋ชจ๋“ˆ ์ˆ˜์ค€์—์žˆ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํ•œ ๋‹จ๊ณ„ ์•ž์„œ ์žˆ์Šต๋‹ˆ๋‹ค. ๋นŒ๋“œ ํŒŒ์ดํ”„ ๋ผ์ธ์— istanbul ๋ฅผ ํ†ตํ•ฉํ•ด์•ผ ์ฝ”๋“œ๊ฐ€ ES6์—์„œ ํŠธ๋žœ์Šค ํŒŒ์ผ ๋  ๋•Œ ๊ณ„์ธก์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ๊ทธ ํ›„์—๋Š” ๋ชจ๋“ˆ ๋ณ„ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋” ์–ด๋ ค์›Œ์ง‘๋‹ˆ๋‹ค (์ด๋ก ์ ์œผ๋กœ ์†Œ์Šค ๋งต์€ ๋ฐ์ดํ„ฐ๋ฅผ ์›๋ณธ ํŒŒ์ผ์— ๋งคํ•‘ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜์ง€๋งŒ ๋ถˆ๊ฐ€๋Šฅํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค).
์ด๊ฒƒ์€ ๋„์ „์ด๋ฉฐ Babel, gulp, istanbul ๋ฐ ์†Œ์Šค ๋งต / ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž˜ ์ดํ•ดํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค (PDF.js๊ฐ€ ๋ชจ๋“  ๋ชจ๋“ˆ์„ ๋ชจ์•„ PDF.js๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์†Œ์Šค ์ฝ”๋“œ์˜ ๊ด€๋ จ ์œ„์น˜๋ฅผ ์ด๋ฏธ ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋„์„œ๊ด€-# 8632 ์ฐธ์กฐ). ์ด ์ง€์‹์€ ๋งค์šฐ ์œ ์šฉํ•˜๋ฏ€๋กœ ๋„์ „์„ ๋‘๋ ค์›Œํ•˜์ง€ ์•Š์œผ์‹œ๋ฉด ์ €์˜ ์•ˆ๋‚ด์— ๋”ฐ๋ผ ํƒ์ƒ‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๊นŠ์ด ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด๊ณ ์„œ๋ฅผ ๊ฐ€์ ธ ์˜ค๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” unittest ๋ฐ browsertest ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Node.js์—์„œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋น„๊ต์  ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด ์ด๋ฏธ ์žˆ์œผ๋ฏ€๋กœ browsertest ์— ์ง‘์ค‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ํ…Œ์ŠคํŠธ๋Š” ๊ฐœ๋ณ„ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ generic gulp GENERIC_DIR , ์ผ๋ช… build/generic/ ์˜ํ•ด ์ƒ์„ฑ ๋œ PDF.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ build/generic ์— ์ฝ”๋“œ ๊ณ„์ธก์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. build/generic/ ๋ฅผ ์ž…๋ ฅ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ coverage/build/generic ์ข‹์Šต๋‹ˆ๋‹ค.

๊ทธ ์ผ์„ ํ•œ ํ›„์—๋Š” ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ test/test_slave.html ๋ฌด์กฐ๊ฑด๋กœ๋“œํ•˜์ง€์— ../build/generic/build/pdf.js A์˜ <script> ํƒœ๊ทธ ๋งŒ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๋กœ๋“œ ../build/generic/build/pdf.js ๋˜๋Š” ../coverage/build/generic/build/pdf.js ์ผ๋ถ€ ๊ตฌ์„ฑ ๋งค๊ฐœ ๋ณ€์ˆ˜์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค (ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ํ›„์ž์˜ URL์„ ํ•˜๋“œ ์ฝ”๋”ฉ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด๊ณ ์„œ๋ฅผ ํ…Œ์ŠคํŠธ ์„œ๋ฒ„๋กœ ๋‹ค์‹œ ๋ณด๋‚ด๋Š” ๋” ์–ด๋ ค์šด ์ž‘์—…์„ ์™„๋ฃŒ ํ•œ ํ›„ ๋‚˜์ค‘์—์ด ํ•˜๋“œ ์ฝ”๋”ฉ ๋œ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค) .

์ผ๋ฐ˜ pdf.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ธ์ŠคํŠธ๋ฃจ๋จผํŠธ ๋œ pdf.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๊ต์ฒดํ•˜๋ฉด ํ…Œ์ŠคํŠธ ์‹คํ–‰์œผ๋กœ ์ปค๋ฒ„๋ฆฌ์ง€ ํ†ต๊ณ„๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ์ „์—ญ window.__coverage__ ๋ณ€์ˆ˜์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ๋‚ด ํ…Œ์ŠคํŠธ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ( test / driver.js์˜ _quit ๋ฉ”์„œ๋“œ )์ด ๋ณด๊ณ ์„œ๋ฅผ ์ง๋ ฌํ™” (์˜ˆ : JSON.stringify(window.__coverage__) )ํ•˜๊ณ  XMLHttpRequest ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. driver.js ํŒŒ์ผ์˜ ๋‹ค๋ฅธ ์œ„์น˜ ์ฐธ์กฐ- /tellMeToQuit ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ธฐ ์ „์— ๋ณด๊ณ ์„œ๋ฅผ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ฒ”์œ„ ๋ณด๊ณ ์„œ๊ฐ€ ์ „์†ก๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋ฅด๊ฒŒ).
https://github.com/mozilla/pdf.js/blob/ba5dbc96326518ad716158ef040f61794cc72202/test/test.js์—์„œ ์ƒˆ ์‚ฌ์šฉ์ž ์ง€์ • API ํ˜ธ์ถœ์— ๋Œ€ํ•œ ์ƒˆ ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ์˜ˆ์ œ๋ฅผ ๋ณด๋ ค๋ฉด driver.js ์—์„œ XMLHttpRequest ํ˜ธ์ถœ (์˜ˆ : /tellMeToQuit ๋ฉ”์‹œ์ง€)์„๋ณด๊ณ  test.js ์—์„œ ํ•ด๋‹น ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์ฐพ์œผ์‹ญ์‹œ์˜ค. ์„œ๋ฒ„ ์ธก์—์„œ ์ง๋ ฌํ™” ๋œ JSON์„ ๋ฐ›์œผ๋ฉด fs.writeFileSync API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด๊ณ ์„œ๋ฅผ ํŒŒ์ผ์— ์”๋‹ˆ๋‹ค (๋‹ค์‹œ test.js ์— ํŒŒ์ผ ์ž‘์„ฑ ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ๋Š” ๋‹ค๋ฅธ ์˜ˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค). .

@ Rob--W ๋‚˜๋Š” ํ˜„์žฌ ์ƒˆํ•ด๊นŒ์ง€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค ... ๋‚˜๋Š” ๊ทธ ํ›„์— ํ™•์‹คํžˆ ์žก์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค

๊ทธ๋Ÿฐ ๋‹ค์Œ test / test_slave.html์„ ๋ณ€๊ฒฝํ•˜์—ฌ ../build/generic/build/pdf.js๋ฅผ

๊ทธ๋Ÿฐ ๋‹ค์Œ test / test_slave.html์„ ๋ณ€๊ฒฝํ•˜์—ฌ ../build/generic/build/pdf.js๋ฅผ

@ Rob--WI๋Š” (testFilter ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋ชจ๋ฐฉํ•˜์—ฌ) tests.js ์—์„œ ์œ ์‚ฌํ•œ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ test/test_slave.html ํ†ตํ•ฉํ•˜๋Š” ๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๋ฌธ์ œ๊ฐ€๋ฉ๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ PR์„ ๋‹ค์‹œ ๋ฐฉ๋ฌธํ•˜์‹ญ์‹œ์˜ค. ์ƒˆ๋กœ์šด ์ปค๋ฐ‹์„ ํ‘ธ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. # 9308

๋˜ํ•œ IRC ์ฑ„๋„ ๋˜๋Š” pdf.js ๊ด€๋ จ slack / gitter / mailing list์— ์ฐธ์—ฌํ•˜๊ธฐ์œ„ํ•œ ๋งํฌ๋ฅผ ์ œ๊ณต ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด.

@ Rob--W ์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡๋‹ค๋ฉด ์ž‘์—…ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์‹œ๋„๋Š” # 9308์ด๋ฏ€๋กœ ์˜๊ฐ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘๋™ํ•˜๋Š” ์ตœ์†Œํ•œ์˜ ๋ฒ„์ „, ์ฆ‰ ๋กœ์ปฌ์—์„œ๋งŒ ์ž‘๋™ํ•˜๋Š” ๋ฒ„์ „์— ์ดˆ์ ์„ ๋งž์ถ”๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ด‡์ด๋‚˜ Travis CI์—์„œ ์ž‘๋™ ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ง€์—ญ์ ์œผ๋กœ ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด๊ณ ์„œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ทธ๊ฒƒ์€ ์ด๋ฏธ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ์˜ ๊ฒฝ์šฐ ๊ณ„์ธก ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” gulp coverage ๋ผ๋Š” ๋ช…๋ น์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ž‘๋™ํ•˜๊ณ  ๋ณ‘ํ•ฉ๋˜๋Š” ๊ฒƒ์€ ํ•ญ์ƒ ๋ฐ˜๋ณต ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@timvandermeij ์—ฌ์ „ํžˆ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋‚˜๋„ ํ•  ์ˆ˜์žˆ์–ด

์˜ˆ, ์ž์œ ๋กญ๊ฒŒ ์ž‘์—…ํ•˜์‹ญ์‹œ์˜ค! ์šฐ๋ฆฌ๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ์‹œ์ž‘ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์€ https://github.com/mozilla/pdf.js/issues/8632#issuecomment -455868037์„ ์ฐธ์กฐ

@timvandermeij ๋‚ด๊ฐ€์ด ๊ธฐํšŒ๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ด? ๋” ํฐ ์งˆ๋ฌธ ์ค‘ ํ•˜๋‚˜๋Š” npm ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•„๋‹ˆ๋ฉด gulp ์ž‘์—…์ด์–ด์•ผํ•˜๋Š”์ง€ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค.

gulp ๋„ˆ๋ฌด ์ต์ˆ™ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ์ด๊ฒƒ์ด ์š”๊ตฌ ์‚ฌํ•ญ์ธ์ง€ ๋ฐฐ์šฐ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์•„๋ฌด๋„ ์ด๊ฒƒ์— ๋Œ€ํ•ด ์ž‘์—…ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ณ„์†ํ•˜์‹ญ์‹œ์˜ค! ์ดˆ๊ธฐ ํŒจ์น˜๋ฅผ ์œ„ํ•ด ๋‹จ์ˆœํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Gulp๋ฅผ ์ฃผ์š” ๋„๊ตฌ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์„ ํ˜ธ๋˜์ง€๋งŒ ๋‹ค๋ฅธ ์ œ์•ˆ๋„ ์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌํ˜„ ์•„์ด๋””์–ด๋Š” https://github.com/mozilla/pdf.js/issues/8632#issuecomment -455868037์„ ์ฐธ์กฐ

์ด ์ž‘์—…์„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์—ฌ์ „ํžˆ ์—ด๋ ค ์žˆ์Šต๋‹ˆ๊นŒ? ๋ฒ„๊ทธ์— ๋Œ€ํ•ด ๋” ์ž˜ ์ดํ•ดํ•  ์ˆ˜์žˆ๋Š” ๊ณณ์€ ์–ด๋””์ž…๋‹ˆ๊นŒ?

@jezhou ๋Š”์ด ์ž‘์—…์„ ์ง„ํ–‰ ์ค‘์ด๋ฉฐ # 11580์—์„œ ์•ฝ๊ฐ„์˜ ์ง„์ „์„ ์ด๋ฃจ์—ˆ์Šต๋‹ˆ๋‹ค. PR์€ ์ตœ๊ทผ์— ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ์–ด๋””
๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋ฌธ์ œ ๋ฐ ๋‚˜๋จธ์ง€์— ๋Œ€ํ•ด ??

2020 ๋…„ 5 ์›” 16 ์ผ ํ† ์š”์ผ ์˜คํ›„ 5:56 Rob Wu, [email protected] ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

@jezhou https://github.com/jezhou ์ด ์ž‘์—… ์ค‘์ด ์—ˆ๊ณ  ์ผ๋ถ€๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
์ง„ํ–‰ # 11580 https://github.com/mozilla/pdf.js/pull/11580 . PR
๊ทธ๋ž˜๋„ ์ตœ๊ทผ์— ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

โ€”
๋Œ“๊ธ€์„ ๋‹ฌ์•˜ ๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์‹  ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/mozilla/pdf.js/issues/8632#issuecomment-629637879 ,
๋˜๋Š” ๊ตฌ๋… ์ทจ์†Œ
https://github.com/notifications/unsubscribe-auth/AKUZ65CGSIZF6OMFZWENWF3RR2A77ANCNFSM4DSK7SGQ
.

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