Protractor: ts-node 5.0.1๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š์Œ

์— ๋งŒ๋“  2018๋…„ 03์›” 17์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: angular/protractor

ts-node 5.0.1 ๊ฐ๋„๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

chunk {inline} inline.bundle.js, inline.bundle.js.map (inline) 3.89 kB [entry] [rendered]
chunk {main} main.bundle.js, main.bundle.js.map (main) 175 kB [initial] [rendered]
chunk {polyfills} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 338 kB [initial] [rendered]
chunk {styles} styles.bundle.js, styles.bundle.js.map (styles) 73.3 kB [initial] [rendered]
chunk {vendor} vendor.bundle.js, vendor.bundle.js.map (vendor) 8.4 MB [initial] [rendered]
(node:17999) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.

webpack: Compiled successfully.
[12:17:53] I/update - chromedriver: file exists /Users/et2448/projects/tac/jfr/tac-jfr-js-client/node_modules/webdriver-manager/selenium/chromedriver_2.37.zip
[12:17:53] I/update - chromedriver: unzipping chromedriver_2.37.zip
[12:17:53] I/update - chromedriver: setting permissions to 0755 for /Users/et2448/projects/tac/jfr/tac-jfr-js-client/node_modules/webdriver-manager/selenium/chromedriver_2.37
[12:17:53] I/update - chromedriver: chromedriver_2.37 up to date

/Users/et2448/projects/tac/jfr/tac-jfr-js-client/node_modules/ts-node/src/index.ts:453
        throw new TSError([formatDiagnostic(result.error, cwd, ts, 0)])
              ^
TSError: โจฏ Unable to compile TypeScript
The specified path does not exist: '/Users/et2448/projects/tac/jfr/tac-jfr-js-client/e2e'. (5058)
    at readConfig (/Users/et2448/projects/tac/jfr/tac-jfr-js-client/node_modules/ts-node/src/index.ts:453:15)
    at Object.register (/Users/et2448/projects/tac/jfr/tac-jfr-js-client/node_modules/ts-node/src/index.ts:209:18)
    at beforeLaunch (/Users/et2448/projects/tac/jfr/tac-jfr-js-client/protractor.conf.js:32:24)
    at q_1.Promise (/Users/et2448/projects/tac/jfr/tac-jfr-js-client/node_modules/protractor/built/util.js:46:49)
    at Function.promise (/Users/et2448/projects/tac/jfr/tac-jfr-js-client/node_modules/protractor/node_modules/q/q.js:682:9)
    at Object.runFilenameOrFn_ (/Users/et2448/projects/tac/jfr/tac-jfr-js-client/node_modules/protractor/built/util.js:38:16)
    at Object.initFn [as init] (/Users/et2448/projects/tac/jfr/tac-jfr-js-client/node_modules/protractor/built/launcher.js:104:12)
    at promise.then (/Users/et2448/projects/tac/jfr/tac-jfr-js-client/node_modules/@angular/cli/tasks/e2e.js:89:58)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:118:7)
error An unexpected error occurred: "Command failed.
Exit code: 1
Command: sh
Arguments: -c ng e2e
Directory: /Users/et2448/projects/tac/jfr/tac-jfr-js-client
Output:
".

/Users/et2448/projects/tac/jfr/tac-jfr-js-client/e2e๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์ง€๋งŒ ์กด์žฌํ•œ๋‹ค๊ณ  ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

ls -ld /Users/et2448/projects/tac/jfr/tac-jfr-js-client/e2e
drwxr-xr-x  5 et2448  staff  160 Mar 12 19:16 /Users/et2448/projects/tac/jfr/tac-jfr-js-client/e2e
Davids-Work-MacBook-Pro:tac-jfr-js-client et2448$ 

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

์‚ฌ์šฉํ•˜์—ฌ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

...
require('ts-node').register({
    project: 'e2e/tsconfig.json'
});
...

๋Œ€์‹  protractor.conf.js

...
require('ts-node').register({
    project: 'e2e'
});
...

๋‚˜๋ฅผ ์œ„ํ•ด ๊ทธ๊ฒƒ์„ ํ•ด๊ฒฐํ–ˆ๋‹ค.

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

๊ฐ™์€ ๋ฌธ์ œ

์‚ฌ์šฉํ•˜์—ฌ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

...
require('ts-node').register({
    project: 'e2e/tsconfig.json'
});
...

๋Œ€์‹  protractor.conf.js

...
require('ts-node').register({
    project: 'e2e'
});
...

๋‚˜๋ฅผ ์œ„ํ•ด ๊ทธ๊ฒƒ์„ ํ•ด๊ฒฐํ–ˆ๋‹ค.

ํ™•์ธ, ng new ๋กœ ์ƒˆ _Angular 7_ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด protractor.conf.js ํŒŒ์ผ์— ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

exports.config = {
  ...
  onPrepare() {
    require('ts-node').register({
      project: require('path').join(__dirname, './tsconfig.e2e.json')
    });
  ...
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰