Definitelytyped: ์˜ค๋ฅ˜: node_modules/@types/jasmine/index.d.ts(138,47): ์˜ค๋ฅ˜ TS1005: ';' ์˜ˆ์ƒ๋˜๋Š”.

์— ๋งŒ๋“  2018๋…„ 11์›” 06์ผ  ยท  60์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: DefinitelyTyped/DefinitelyTyped

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ๋Œ€์‹  pull ์š”์ฒญ์„ ํ•˜์„ธ์š”.

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

Error: node_modules/@types/jasmine/index.d.ts(138,47): error TS1005: ';' expected.
node_modules/@types/jasmine/index.d.ts(138,90): error TS1005: '(' expected.
node_modules/@types/jasmine/index.d.ts(138,104): error TS1005: ']' expected.
node_modules/@types/jasmine/index.d.ts(138,112): error TS1005: ',' expected.
node_modules/@types/jasmine/index.d.ts(138,113): error TS1136: Property assignment expected.
node_modules/@types/jasmine/index.d.ts(138,121): error TS1005: ')' expected.
node_modules/@types/jasmine/index.d.ts(138,147): error TS1005: '(' expected.
node_modules/@types/jasmine/index.d.ts(138,162): error TS1005: ']' expected.
node_modules/@types/jasmine/index.d.ts(138,163): error TS1005: ',' expected.
node_modules/@types/jasmine/index.d.ts(138,164): error TS1136: Property assignment expected.
node_modules/@types/jasmine/index.d.ts(138,165): error TS1136: Property assignment expected.
node_modules/@types/jasmine/index.d.ts(138,179): error TS1005: ',' expected.
node_modules/@types/jasmine/index.d.ts(138,183): error TS1005: ':' expected.
node_modules/@types/jasmine/index.d.ts(138,208): error TS1005: '{' expected.
node_modules/@types/jasmine/index.d.ts(138,217): error TS1005: ':' expected.
node_modules/@types/jasmine/index.d.ts(138,222): error TS1005: ',' expected.
node_modules/@types/jasmine/index.d.ts(138,227): error TS1005: ':' expected.
node_modules/@types/jasmine/index.d.ts(138,228): error TS1109: Expression expected.
node_modules/@types/jasmine/index.d.ts(138,230): error TS1005: ')' expected.

@armanio123

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

"@types/jasmine": "2.8.6" & "typescript": "2.7.2"๊ฐ€ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ฌธ์ œ๋Š” "@types/jasmine": "~2.8.6" - > 2.8.11๋กœ ์—…๋ฐ์ดํŠธ๋˜๊ณ  typescript๊ฐ€ 2.7.2๋กœ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(3.+ ํ•„์š”).

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

@stefdelec ์–ด๋–ค typescript ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ์ด ํƒ€์ดํ•‘ ํŒจํ‚ค์ง€๋Š” TS 2.8+์šฉ์ž…๋‹ˆ๋‹ค. ์ตœ์‹  TS์—์„œ ํ•ด๋‹น ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

[email protected]

์ด ๋ฒ„์ „์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์„ค๋งˆ. ํŒจํ‚ค์ง€ ์ž์ฒด ์—๋Š” TS 2.8+์šฉ์ด๋ผ๊ณ  ๋‚˜์™€ ์žˆ์œผ๋ฉฐ 138 ๋ผ์ธ์— ์‚ฌ์šฉ๋œ ๊ตฌ๋ฌธ์˜ ์ผ๋ถ€๋Š” TS 2.7(์ฆ‰, ์ƒ์ˆ˜ ์ด๋ฆ„ ์†์„ฑ ) ๋ฐ TS 2.8(์ฆ‰, ์กฐ๊ฑด๋ถ€ ์œ ํ˜• )์—์„œ ์ฒ˜์Œ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

TS 2.6.2๋Š” ๊ฝค ์˜ค๋ž˜๋˜์—ˆ์œผ๋ฉฐ ์ตœ์‹  ๋ฒ„์ „์˜ TS๋Š” 3.1.6์ž…๋‹ˆ๋‹ค.

๋‚˜๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋” ๋†’์€ ๋ฒ„์ „์˜ typescript๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋‹ค๋ฅธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

@saurabhsharmaui ์ •ํ™•ํžˆ ์–ด๋–ค TS ๋ฒ„์ „์„ ์‹œ๋„ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์–ด๋–ค ์ข…๋ฅ˜์˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๊นŒ?

ํ˜„์žฌ "typescript": "~2.3.4" ๋ฐ "@types/jasmine": "~2.8.1"์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด ์กฐํ•ฉ์„ ์‚ฌ์šฉํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€๋งŒ ์–ด์ œ๊นŒ์ง€ ๋™์ผํ•œ ์ž‘์—…์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.
์ด์ œ ๊ท€ํ•˜์˜ ์˜๊ฒฌ์— ๋”ฐ๋ผ ์ƒ์œ„ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ npm ์„ค์น˜์—์„œ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.
npm WARN optional ๊ฑด๋„ˆ๋›ฐ๊ธฐ ์‹คํŒจ ์„ ํƒ์  ์ข…์†์„ฑ /chokidar/fsevents:

npm WARN notsup ์šด์˜ ์ฒด์ œ ๋˜๋Š” ์•„ํ‚คํ…์ฒ˜์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š์Œ: [email protected]

npm WARN optional ๊ฑด๋„ˆ๋›ฐ๊ธฐ ์‹คํŒจ ์„ ํƒ์  ์ข…์†์„ฑ /live-server/chokidar/fsevents:

npm WARN notsup ์šด์˜ ์ฒด์ œ ๋˜๋Š” ์•„ํ‚คํ…์ฒ˜์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š์Œ: [email protected]

npm WARN optional ๊ฑด๋„ˆ๋›ฐ๊ธฐ ์‹คํŒจ ์„ ํƒ์  ์ข…์†์„ฑ /browser-sync/chokidar/fsevents:

npm WARN notsup ์šด์˜ ์ฒด์ œ ๋˜๋Š” ์•„ํ‚คํ…์ฒ˜์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š์Œ: [email protected]

npm WARN optional ๊ฑด๋„ˆ๋›ฐ๊ธฐ ์‹คํŒจ ์„ ํƒ์  ์ข…์†์„ฑ /gulp-watch/chokidar/fsevents:

npm WARN notsup ์šด์˜ ์ฒด์ œ ๋˜๋Š” ์•„ํ‚คํ…์ฒ˜์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š์Œ: [email protected]

npm WARN optional ๊ฑด๋„ˆ๋›ฐ๊ธฐ ์‹คํŒจ ์„ ํƒ์  ์ข…์†์„ฑ /karma/chokidar/fsevents:

npm WARN notsup ์šด์˜ ์ฒด์ œ ๋˜๋Š” ์•„ํ‚คํ…์ฒ˜์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š์Œ: [email protected]

npm ๊ฒฝ๊ณ  [email protected] ์—๋Š” @angular/common@^2.3.0์˜ ํ”ผ์–ด๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ ์•„๋ฌด ๊ฒƒ๋„ ์„ค์น˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

npm ๊ฒฝ๊ณ  [email protected] ์—๋Š” @angular/core@^2.3.0์˜ ํ”ผ์–ด๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ ์•„๋ฌด ๊ฒƒ๋„ ์„ค์น˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

npm WARN @angular/ [email protected] ์—๋Š”

npm ์˜ค๋ฅ˜! ๋ฆฌ๋ˆ…์Šค 4.4.121-92.85-๊ธฐ๋ณธ

npm ์˜ค๋ฅ˜! argv "/opt/JE2A1/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS6.5.0/bin/node" "/opt/JE2A1/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS6 .5.0/bin/npm" "์„ค์น˜"

npm ์˜ค๋ฅ˜! ๋…ธ๋“œ v6.5.0

npm ์˜ค๋ฅ˜! npm v3.10.3

npm ์˜ค๋ฅ˜! ๊ฒฝ๋กœ /home/je2adm/.npm/content-type/1.0.4/package.tgz.1017518879

npm ์˜ค๋ฅ˜! ์ฝ”๋“œ ENOENT

npm ์˜ค๋ฅ˜! ์˜ค๋ฅ˜ ๋ฒˆํ˜ธ -2

npm ์˜ค๋ฅ˜! ์‹œ์Šคํ…œ ํ˜ธ์ถœ ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ

npm ์˜ค๋ฅ˜! enoent ENOENT: ํ•ด๋‹น ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋ฆ„์„ '/home/je2adm/.npm/content-type/1.0.4/package.tgz.1017518879' -> '/home/je2adm/.npm/content-type/1.0์œผ๋กœ ๋ฐ”๊พธ์„ธ์š”. 4/ํŒจํ‚ค์ง€.tgz'

npm ์˜ค๋ฅ˜! enoent ENOENT: ํ•ด๋‹น ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋ฆ„์„ '/home/je2adm/.npm/content-type/1.0.4/package.tgz.1017518879' -> '/home/je2adm/.npm/content-type/1.0์œผ๋กœ ๋ฐ”๊พธ์„ธ์š”. 4/ํŒจํ‚ค์ง€.tgz'

npm ์˜ค๋ฅ˜! enoent ์ด๊ฒƒ์€ npm ์ž์ฒด์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ ๊ฐ€๋Šฅ์„ฑ์ด ํฝ๋‹ˆ๋‹ค.

npm ์˜ค๋ฅ˜! enoent ๋ฐ npm์ด ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

npm ์˜ค๋ฅ˜! ์—๋…ธ์—”ํŠธ

jenkins์˜ npm ์„ค์น˜์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ์ด์ „์—(์˜ˆ: here ๋˜๋Š” here ) ๋ณด๊ณ ๋˜์—ˆ์œผ๋ฉฐ typescript์— ์ง์ ‘ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์•˜์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ์•ˆ๋œ ์ˆ˜์ • ์‚ฌํ•ญ ์ค‘ ํ•˜๋‚˜๋Š” npm์„ ์™„์ „ํžˆ ๋‹ค์‹œ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด TS๋ฅผ ์ „์—ญ์œผ๋กœ ์„ค์น˜ํ•ฉ๋‹ˆ๊นŒ ์•„๋‹ˆ๋ฉด ๋กœ์ปฌ๋กœ ์„ค์น˜ํ•ฉ๋‹ˆ๊นŒ? node_modules ๋ฐ package-lock.json , npm ์บ์‹œ ์ง€์šฐ๊ธฐ( npm cache clean --force ) ๋ฐ ์ข…์†์„ฑ ์žฌ์„ค์น˜๋ฅผ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š” @burtek ์ง€์›ํ•ด ์ฃผ์…”์„œ ๋Œ€๋‹จํžˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋ฒ„์ „ ๊ธฐ๋ก์„ ํ™•์ธํ–ˆ๋Š”๋ฐ ์–ด์ œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ ์ธํ•ด ์ƒˆ ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ๋œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹ค์‹œ ๋Œ์•„๊ฐ€์„œ 2.8.9๋กœ ์ž˜ ์ž‘๋™ํ•˜๋„๋ก ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

@saurabhsharmaui ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์–ด์„œ ๊ธฐ์ฉ๋‹ˆ๋‹ค.

@stefdelec ์ด ์ž‘๋™ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š”. ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. typescript: 2.9.2 ๋ฐ @types/jasmine: 2.8.9. ๊ทธ๊ฒƒ์„ ๊ณ ์น  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค. ์œ„์˜ ๋ชจ๋“  ๊ฒƒ์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์•„๋ฌด ๊ฒƒ๋„ ๋„์›€์ด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ง์žฅ์—์„œ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ๋ณธ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ์ƒ์„ฑ๋œ ํ…œํ”Œ๋ฆฟ์„ ์ž‘์—… ์ค‘์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๊ฐ€ ์˜ค๋Š˜ ๊นจ์ง€๊ณ  ์žˆ์ง€๋งŒ ์–ด์ œ๋Š” ์•„๋‹™๋‹ˆ๋‹ค.

๋‚ด package.json์˜ ์ถ”์ถœ

...
    "devDependencies": {
        "@angular-devkit/build-angular": "~0.6.8",
        "@angular/cli": "~6.0.8",
        "@angular/compiler-cli": "^6.0.3",
        "@angular/language-service": "^6.0.3",
        "@types/jasmine": "~2.8.6",
        "@types/jasminewd2": "~2.0.3",
        "@types/node": "~8.9.4",
...
        "jasmine-core": "~2.99.1",
        "jasmine-spec-reporter": "~4.2.1",
        "karma": "^3.0.0",
        "karma-chrome-launcher": "~2.2.0",
        "karma-coverage-istanbul-reporter": "~2.0.0",
        "karma-jasmine": "~1.1.1",
        "karma-jasmine-html-reporter": "^0.2.2",
...
        "ts-node": "~5.0.1",
        "tslint": "~5.9.1",
        "typescript": "~2.7.2"
    },
...

@vnazarchukmob ๊ธ€๋กœ๋ฒŒ ๋ฐ ๋กœ์ปฌ๋กœ typescript๋ฅผ ์„ค์น˜ํ–ˆ๊ณ  ๊ทธ ์ค‘ ํ•˜๋‚˜๊ฐ€ 2.8 ๋ฏธ๋งŒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@mowgliLab ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด @types/jasmine ๋Š” TS 2.8+์šฉ์ด๊ณ  ์•„์ง TS 2.7.x๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. typescript ๋ฅผ 2.8.0 ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

@mowgliLab ๋ฌธ์ œ๋Š” TS 2.8์ด ํ•„์š”ํ•œ ํ˜„์žฌ ๋ฒ„์ „ 2.8.11 ์ด ~2.8.6 semver๋ฅผ ์ถฉ์กฑํ•˜๋ฏ€๋กœ ~2.8.6 ์ข…์†์„ฑ์ด ์žˆ๋Š” ํ…œํ”Œ๋ฆฟ์—์„œ npm install ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ , ๋ฒ„์ „ 2.8.11 ์ด ์„ค์น˜๋ฉ๋‹ˆ๋‹ค. ์ด์ „ ํ”„๋กœ์ ํŠธ( @types/jasmine ์˜ ๋‚ฎ์€ ๋ฒ„์ „์ด ์„ค์น˜๋จ)์—์„œ ์ž‘๋™ํ–ˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ TS 2.7๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” 2.8.11 ๋ฒ„์ „์„ ๊ฐ€์ ธ์˜ค๊ธฐ ๋•Œ๋ฌธ์— ํ…œํ”Œ๋ฆฟ์œผ๋กœ ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์ด์ œ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 2. ์ตœ์†Œํ•œ 2.8.x ๋ถ„๊ธฐ์˜ TS๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์‚ฌ์šฉํ•˜๋Š” ํ…œํ”Œ๋ฆฟ์„ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(2.7.x์— ๋น„ํ•ด ๋งŽ์€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ, ๊ฐœ์„  ์‚ฌํ•ญ ๋ฐ ์ˆ˜์ • ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ 3.1.x ๋ถ„๊ธฐ์˜ ์ตœ์‹  TS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค)

@burtek ์˜ˆ, ๋‚ฎ์€ ๋ฒ„์ „ 2.3.4๋กœ ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ์„ค์น˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 3.1.6์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋„์›€์ด ๋˜์ง€ ์•Š๋Š”๋‹ค

@vnazarchukmob ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ „ ์„ธ๊ณ„์ ์œผ๋กœ TS 3.1.6์„, TS 2.9.2๋ฅผ ๋กœ์ปฌ๋กœ, @types/jasmine 2.8.9๋ฅผ ๋กœ์ปฌ๋กœ ์„ค์น˜ํ–ˆ์œผ๋ฉฐ ์ฒซ ๋ฒˆ์งธ ๊ฒŒ์‹œ๋ฌผ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋งž์Šต๋‹ˆ๊นŒ?

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ƒˆ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ๊ดœ์ฐฎ์€์ง€ ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
typescript 3.1.6์œผ๋กœ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

@burtek ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

@mowgliLab ๋„์™€๋“œ๋ฆด ์ˆ˜ ์žˆ์–ด์„œ ๊ธฐ์ฉ๋‹ˆ๋‹ค

@burtek ๋„ต

๋งˆ์ง€๋ง‰์œผ๋กœ ์ƒ๊ฐ๋‚˜๋Š” ๊ฒƒ์€ node_modules ๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ ๋„์›€์ด ๋ ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ƒ๊ฐ์ด ๋‚˜๋„ค์š” ๐Ÿ˜ข

@armanio123 ,

๊ฐ™์€ ๋ฌธ์ œ, ์–ด์ œ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@r3hxn ๋Œ€ํ™”

@r3hxn ๋Œ€ํ™”

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์ค‘์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” Jenkins ํŒŒ์ดํ”„๋ผ์ธ์—๋งŒ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

@r3hxn typescript ๋ฒ„์ „์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด @type/jasmine ๋ฒ„์ „์„ 2.8.9๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๋Š” ๋” ๋†’์€ ๋ฒ„์ „์˜ typescript๊ฐ€ ํ•„์š”ํ•œ @type/jasmine์˜ ์ƒˆ ๋ฆด๋ฆฌ์Šค์— ์žˆ์Šต๋‹ˆ๋‹ค.

๋„์›€์ด ๋˜๋Š” @saurabhsharmaui ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

@r3hxn ๋„์™€๋“œ๋ฆด ์ˆ˜ ์žˆ์–ด์„œ ๊ธฐ์ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๊ณ  typescript๋ฅผ ์ตœ์‹  ๋„์›€๋ง๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ฌธ์ œ๋Š” TS 2.7.2 AFAIK๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Angular 6์ด๋ฏ€๋กœ ng new ๋ฒ„์ „ ~6.0.0์—์„œ ๋งŒ๋“  ๋ชจ๋“  ์ƒˆ ์•ฑ์— ์ด ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

@r3hxn ๋Œ€ํ™”

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์ค‘์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” Jenkins ํŒŒ์ดํ”„๋ผ์ธ์—๋งŒ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋˜‘๊ฐ™์€ ์ผ์„ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ๋จธ์‹ ์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€๋งŒ Jenkins์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ตœ์‹  TS๋กœ ์ด๋™ํ•˜๋ ค๋Š” ๋‹น์‹ ์˜ ๋ฐ”๋žŒ์„ ์ดํ•ดํ•˜์ง€๋งŒ, ๋งˆ์ด๋„ˆ ๋ฆด๋ฆฌ์Šค์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์€ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์„ ๋ง์น  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ ์ด๋Ÿฌํ•œ ์œ ํ˜•์„ _require_ TS 2.8+๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์€ ๋ถ€ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์ด์ œ ์ด์ „ ์œ ํ˜•/์žฌ์Šค๋ฏผ ๋ฒ„์ „์— ๊ณ ์ •ํ•ด์•ผ ํ•˜๋Š” ๋งŽ์€ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์ด๊ฒƒ์€ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด๋ฉฐ ์ƒˆ๋กœ์šด ์ฃผ์š” ๋ฒ„์ „ ๋ฒˆํ˜ธ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค ๐Ÿ˜ข

2.8.3 ๊ณ ์ •ํ•˜๊ณ  2.5.3์„ ๋„˜์„ ์ˆ˜ ์—†๋Š” ํ”„๋กœ์ ํŠธ์— TS๋ฅผ ๋‚จ๊ฒจ๋‘๋Š” ๊ฒƒ์ด ํšจ๊ณผ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

@types/jasmine์„ 2.8.8๋กœ, typescript๋ฅผ 2.6.2๋กœ ํ•˜๋ฉด ํšจ๊ณผ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

"@types/jasmine": "2.8.3" ์ด์ „๊ณผ ๋™์ผํ•œ ์œ ํ˜• ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋‚˜๋ฅผ ์œ„ํ•ด ํŠธ๋ฆญ์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
@MarkPieszak ๊ฐ์‚ฌ

"@types/jasmine": "2.8.6" & "typescript": "2.7.2"๊ฐ€ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ฌธ์ œ๋Š” "@types/jasmine": "~2.8.6" - > 2.8.11๋กœ ์—…๋ฐ์ดํŠธ๋˜๊ณ  typescript๊ฐ€ 2.7.2๋กœ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(3.+ ํ•„์š”).

"typescript": "^3.1.6" ๋ฐ "@types/jasmine": "^2.8.11" ์—…๋ฐ์ดํŠธ ํ›„ ๋นŒ๋“œ๊ฐ€ tfs ๋นŒ๋“œ ์„œ๋ฒ„์—์„œ ์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋˜ํ•œ ์ง€๋‚œ ๋ฉฐ์น  ๋™์•ˆ ์ด๊ฒƒ์— ๋Œ€ํ•ด ๋ฌผ์—ˆ์Šต๋‹ˆ๋‹ค.

"@types/jasmine": "^2.8.8",
"typescript": "~2.7.2",

2.8.8๊ณผ 2.8.9๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ TS ๋ฒ„์ „์„ ์ง€์›ํ•˜๋ฉด ๋งค์šฐ ํ˜ผ๋ž€์Šค๋Ÿฌ์›Œ์ง‘๋‹ˆ๋‹ค... ๋งž์•„์š”?!

screen shot 2018-11-08 at 10 22 54 am

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

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

์–ด์ œ๋ถ€ํ„ฐ ์ด ๋ฌธ์ œ์— ๋ถ€๋”ช์ณค๊ณ  ์ด ์Šค๋ ˆ๋“œ๊ฐ€ ์ตœ๊ทผ์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ๋ช‡ ๊ฐ€์ง€ ๋ฒ„์ „ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ€์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๋Ÿฌ๋‚˜, ๋‚˜๋Š” ์ตœ๊ทผ์— TS ๋˜๋Š” ์žฌ์Šค๋ฏผ ์œ ํ˜•์˜ ํŒจํ‚ค์ง€๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด, ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ๊ด‘์‚ฐ์€ ๋กœ์ปฌ์—์„œ npm๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ์˜€์œผ๋ฏ€๋กœ ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜์—ฌ ์ •๋ ฌํ•˜๊ณ  ์˜ค๋ฅ˜๊ฐ€ ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.

npm cache verify

typescript๋ฅผ 3.1.6์œผ๋กœ, jasmine์„ 3.3.0์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์„ค๋งˆ. ํŒจํ‚ค์ง€ ์ž์ฒด ์—๋Š” TS 2.8+์šฉ์ด๋ผ๊ณ  ๋‚˜์™€ ์žˆ์œผ๋ฉฐ 138 ๋ผ์ธ์— ์‚ฌ์šฉ๋œ ๊ตฌ๋ฌธ์˜ ์ผ๋ถ€๋Š” TS 2.7(์ฆ‰, ์ƒ์ˆ˜ ์ด๋ฆ„ ์†์„ฑ ) ๋ฐ TS 2.8(์ฆ‰, ์กฐ๊ฑด๋ถ€ ์œ ํ˜• )์—์„œ ์ฒ˜์Œ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

TS 2.6.2๋Š” ๊ฝค ์˜ค๋ž˜๋˜์—ˆ์œผ๋ฉฐ ์ตœ์‹  ๋ฒ„์ „์˜ TS๋Š” 3.1.6์ž…๋‹ˆ๋‹ค.

@burtek ์‹œ๊ฐ„์„ ๋‚ด์–ด ๋ฌธ์ œ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ๊ฐ์‚ฌํ•  ์ˆ˜ ์—†๋Š” ์ผ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์™€ ๊ฐ™์€ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํŒจ์น˜ ๋ฆด๋ฆฌ์Šค ๋ฒ„์ „์— ๊ฒŒ์‹œ๋œ ๊ฒƒ์ด ์กฐ๊ธˆ ๊ฑฑ์ •๋ฉ๋‹ˆ๋‹ค. TS 2.5+๋Š” ์‹ค์ œ๋กœ ๊ทธ๋ ‡๊ฒŒ ์˜ค๋ž˜๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ ๋งŽ์€ ํ”„๋กœ์ ํŠธ์—์„œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋งŽ์€ ํ”„๋กœ์ ํŠธ์—์„œ "typescript ์—…๊ทธ๋ ˆ์ด๋“œ"์— ๋Œ€ํ•œ ์œ ํšจํ•œ ๊ฒฝ๋กœ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ข…์ข… ์šฐ๋ฆฌ์˜ ์ž‘์—…์— ์˜ํ•ด ์ œ์•ฝ์„ ๋ฐ›๊ณ  ๊ทธ์™€ ๊ฐ™์€ ๊ฒƒ์€ ๋ฌด๊ฑฐ์šด ํšŒ๊ท€ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝ๊ณ  ์—†์ด ๊ฐ‘์ž๊ธฐ ๋นŒ๋“œ๊ฐ€ ์ค‘๋‹จ๋˜๋Š” ๊ฒƒ์€ ๋‹นํ˜น์Šค๋Ÿฌ์šด ์ผ์ž…๋‹ˆ๋‹ค.

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

๋ชจ๋“  ๋„์›€์— ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

@jeffskelton3 ์ด ๋ณ€๊ฒฝ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ ์‚ฌ๋žŒ๋„ ์ œ๊ฐ€ ์•„๋‹ˆ๊ณ  ๋ณ‘ํ•ฉํ•˜์—ฌ ๊ฒŒ์‹œํ•œ ๊ฒƒ๋„ ์•„๋‹™๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋ฐฉ๊ธˆ ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ ์ฐพ์•„ ์™€์„œ ์ด๊ฒƒ์— ๋Œ€ํ•œ ๊ฐ€๋Šฅํ•œ ์ด์œ ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋˜ํ•œ์ด ํŒจํ‚ค์ง€ ์ž์ฒด์™€ ์•„๋ฌด ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์งˆ๋ฌธ๊ณผ ๋ฉ”๋ชจ๋Š” ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋„์ž…ํ•œ ์‚ฌ๋žŒ๊ณผ ํ™•์‹คํžˆ ์œ ํ˜•์ด ์ง€์ •๋œ ์œ ์ง€ ๊ด€๋ฆฌ์ž์—๊ฒŒ ๋ฌธ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, ๋‚˜๋Š” ์ด ์Šค๋ ˆ๋“œ์—์„œ ๋งํ•œ ๋ชจ๋“  ๊ฒƒ์— ์ „์ ์œผ๋กœ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์ž˜๋ชป๋„ ๋‚ด ์ฑ…์ž„๋„ ์•„๋‹™๋‹ˆ๋‹ค. ์ตœ๋Œ€ํ•œ JS ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋„์›€์ด ๋˜๋„๋ก ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค.

@burtek ์€ ์งˆ๋ฌธ์„ ์ž˜๋ชป๋œ ์‚ฌ๋žŒ์—๊ฒŒ ์ง€์‹œํ•œ ๊ฒƒ์— ๋Œ€ํ•ด ์‚ฌ๊ณผ๋“œ๋ฆฝ๋‹ˆ๋‹ค(๋‹น์‹ ์ด ์ด ์ฝ”๋“œ ๊ธฐ๋ฐ˜์˜ ๊ธฐ์—ฌ์ž๋ผ๋Š” ๊ฒƒ์„ ์ž˜๋ชป ์ฝ์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค!). ๋‚ด ๊ฐ์ •์— ๋™์˜ํ•˜๊ณ  ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์ด ๋ฌธ์ œ์˜ ์›์ธ์„ ์ถ”์ ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

@jeffskelton3 ๊ฑฑ์ •๋งˆ

์ดํ‹€ ์ „์— ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ํ”„๋กœ์ ํŠธ package.json์—์„œ ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ‘์ž๊ธฐ ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ํŒจํ‚ค์ง€์— ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

์œ ํ˜• 'ArrayLikeMatchers'์— 'toContainEqual' ์†์„ฑ์ด ์—†์Šต๋‹ˆ๋‹ค.
์œ ํ˜• 'ArrayLikeMatchers'์— 'toContainEqual' ์†์„ฑ์ด ์—†์Šต๋‹ˆ๋‹ค.

์ดํ‹€ ๋™์•ˆ ๊ตฌ๊ธ€๋งํ•œ ๋‹ค์Œ ์—ฌ๊ธฐ์— ์™”์ง€๋งŒ ์—ฌ์ „ํžˆ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์ฐธ์กฐ ์ง€์ ์œผ๋กœ, NativeScript๋Š” ํ˜„์žฌ TypeScript ~2.7.2๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. NativeScript-CLI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ค์ •ํ•˜๋ฉด Jasmine์ด ๊ธฐ๋ณธ ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๊ธฐ๋ณธ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ถ€ ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋„ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ ์œ„ํ•œ ๋˜ ๋‹ค๋ฅธ ํˆฌํ‘œ์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ํ•ด์š”!

๋‚˜๋Š” travis ํ™˜๊ฒฝ์—์„œ ์ด ๋ฌธ์ œ๋ฅผ ๊ฒช์—ˆ๊ณ  2.5.38๋กœ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค!

https://travis-ci.org/mariohmol/ng-gantt/builds/459888259

"ng test"๋ฅผ ์‹คํ–‰ํ•  ๋•Œ๋„ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. node_modules/@types/jasmine/index.d.ts๋กœ ์ด๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.
11ํ–‰์— "// TypeScript ๋ฒ„์ „: 2.8"์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋‚˜๋Š”
C:\my-project-directory> npm install [email protected]
๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ €๋„ ์œ„์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋‚ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ CI ์ถœ๋ ฅ์ž…๋‹ˆ๋‹ค.

๋กœ์ปฌ์—์„œ๋Š” ์ž˜ ์ž‘๋™ํ•˜์ง€๋งŒ(์œ„์˜ ์ผ๋ถ€ ๋ฉ”์‹œ์ง€์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด) GitLab CI์—์„œ๋Š” ํ™•์‹คํžˆ ๊ณ ์žฅ๋‚ฌ์Šต๋‹ˆ๋‹ค... ๐Ÿค•

06 12 2018 15:34:42.681:ERROR [karma]: Error: node_modules/@types/jasmine/index.d.ts(138,47): error TS1005: ';' expected.
node_modules/@types/jasmine/index.d.ts(138,90): error TS1005: '(' expected.
node_modules/@types/jasmine/index.d.ts(138,104): error TS1005: ']' expected.
node_modules/@types/jasmine/index.d.ts(138,112): error TS1005: ',' expected.
node_modules/@types/jasmine/index.d.ts(138,113): error TS1136: Property assignment expected.
node_modules/@types/jasmine/index.d.ts(138,121): error TS1005: ')' expected.
node_modules/@types/jasmine/index.d.ts(138,147): error TS1005: '(' expected.
node_modules/@types/jasmine/index.d.ts(138,162): error TS1005: ']' expected.
node_modules/@types/jasmine/index.d.ts(138,163): error TS1005: ',' expected.
node_modules/@types/jasmine/index.d.ts(138,164): error TS1136: Property assignment expected.
node_modules/@types/jasmine/index.d.ts(138,165): error TS1136: Property assignment expected.
node_modules/@types/jasmine/index.d.ts(138,179): error TS1005: ',' expected.
node_modules/@types/jasmine/index.d.ts(138,183): error TS1005: ':' expected.
node_modules/@types/jasmine/index.d.ts(138,208): error TS1005: '{' expected.
node_modules/@types/jasmine/index.d.ts(138,217): error TS1005: ':' expected.
node_modules/@types/jasmine/index.d.ts(138,222): error TS1005: ',' expected.
node_modules/@types/jasmine/index.d.ts(138,227): error TS1005: ':' expected.
node_modules/@types/jasmine/index.d.ts(138,228): error TS1109: Expression expected.
node_modules/@types/jasmine/index.d.ts(138,230): error TS1005: ')' expected.

    at Compiler.compiler.plugin (/var/www/cadi-front/node_modules/@angular/cli/plugins/karma-webpack-throw-error.js:10:23)
    at Compiler.applyPlugins (/var/www/cadi-front/node_modules/tapable/lib/Tapable.js:61:14)
    at Watching._done (/var/www/cadi-front/node_modules/webpack/lib/Compiler.js:105:17)
    at onCompiled (/var/www/cadi-front/node_modules/webpack/lib/Compiler.js:55:18)
    at applyPluginsAsync.err (/var/www/cadi-front/node_modules/webpack/lib/Compiler.js:510:14)
    at next (/var/www/cadi-front/node_modules/tapable/lib/Tapable.js:202:11)
    at Compiler.<anonymous> (/var/www/cadi-front/node_modules/webpack/lib/CachePlugin.js:78:5)
    at Compiler.applyPluginsAsyncSeries (/var/www/cadi-front/node_modules/tapable/lib/Tapable.js:206:13)
    at compilation.seal.err (/var/www/cadi-front/node_modules/webpack/lib/Compiler.js:507:11)
    at Compilation.applyPluginsAsyncSeries (/var/www/cadi-front/node_modules/tapable/lib/Tapable.js:195:46)
    at applyPluginsAsync.err (/var/www/cadi-front/node_modules/webpack/lib/Compilation.js:677:19)
    at Compilation.applyPluginsAsyncSeries (/var/www/cadi-front/node_modules/tapable/lib/Tapable.js:195:46)
    at applyPluginsAsync.err (/var/www/cadi-front/node_modules/webpack/lib/Compilation.js:668:11)
    at Compilation.applyPluginsAsyncSeries (/var/www/cadi-front/node_modules/tapable/lib/Tapable.js:195:46)
    at applyPluginsAsync.err (/var/www/cadi-front/node_modules/webpack/lib/Compilation.js:663:10)
    at Compilation.applyPluginsAsyncSeries (/var/www/cadi-front/node_modules/tapable/lib/Tapable.js:195:46)
(node:88) [DEP0079] DeprecationWarning: Custom inspection function on Objects via .inspect() is deprecated
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.

ํŽธ์ง‘ํ•˜๋‹ค:
@types/jasmine ๋ฒ„์ „์„ 2.8.4 ๋กœ ๊ณ ์ •ํ–ˆ๋Š”๋ฐ ๋ชจ๋‘ ๊ดœ์ฐฎ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๐Ÿ‘Œ ํƒ€์ดํ”„์Šคํฌ๋ฆฝํŠธ ๋ฒ„์ „์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

"@types/jasmine": "2.8.6" & "typescript": "2.7.2"๊ฐ€ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ฌธ์ œ๋Š” "@types/jasmine": "~2.8.6" - > 2.8.11๋กœ ์—…๋ฐ์ดํŠธ๋˜๊ณ  typescript๊ฐ€ 2.7.2๋กœ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(3.+ ํ•„์š”).

์•„๋‹ˆ์š”... @angular/[email protected]์—๋Š” typescript@>=2.4.2 <2.7์˜ ํ”ผ์–ด๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ ์•„๋ฌด ๊ฒƒ๋„ ์„ค์น˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ”ผ์–ด ์ข…์†์„ฑ์„ ์ง์ ‘ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํƒ€์ดํ”„์Šคํฌ๋ฆฝํŠธ๊ฐ€ 2.7๋ณด๋‹ค ๋†’์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค...

"@types/jasmine": "2.8.6" & "typescript": "2.7.2"๊ฐ€ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ฌธ์ œ๋Š” "@types/jasmine": "~2.8.6" - > 2.8.11๋กœ ์—…๋ฐ์ดํŠธ๋˜๊ณ  typescript๊ฐ€ 2.7.2๋กœ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(3.+ ํ•„์š”).

๋‚ด Angular 5 ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ typescript 2.6.x์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก 2.8.9์— ๊ณ ์ •ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

@vnazarchukmob ๊ธ€๋กœ๋ฒŒ ๋ฐ ๋กœ์ปฌ๋กœ typescript๋ฅผ ์„ค์น˜ํ–ˆ๊ณ  ๊ทธ ์ค‘ ํ•˜๋‚˜๊ฐ€ 2.8 ๋ฏธ๋งŒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@mowgliLab ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด @types/jasmine ๋Š” TS 2.8+์šฉ์ด๊ณ  ์•„์ง TS 2.7.x๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. typescript ๋ฅผ 2.8.0 ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

LGTM~

๋ฒ„์ „ 2.8.8์€ [email protected] ์—์„œ ์ž˜ ์ž‘๋™ํ•˜์ง€๋งŒ 2.8.12์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํŒจ์น˜ ๋ฒ„์ „์ด ์–ด๋–ป๊ฒŒ ์ด๋Ÿฐ ๋ธŒ๋ ˆ์ดํ‚น ์ฒด์ธ์ง€๋ฅผ ๋„์ž…ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค ๐Ÿ˜ž

"@types/jasmine": "~2.8.6" ๋ฐ "typescript": "^2.8.4"๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ƒˆ๋กœ์šด Angular ์•ฑ์—์„œ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„์ง ํ•ด๊ฒฐํ•˜์‹  ๋ถ„ ๊ณ„์‹ ๊ฐ€์š”?

์•„์ง ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์—†๋‚˜์š”? ๋ˆ„๊ตฐ๊ฐ€ ์ตœ์ข… ์†”๋ฃจ์…˜์„ ์š”์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ƒˆ๋กœ์šด ์„ค์น˜์—์„œ ๋ฌด์—‡์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ๋‚˜๋Š” ์•ฝ๊ฐ„ ๊ธธ์„ ์žƒ์—ˆ๋‹ค.

Mac์—์„œ ์ด ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ํ™•์ธํ•˜๊ณ  Yarn์„ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋กœ ์‹คํ–‰ํ•  ๋•Œ ๋ชจ๋“  ์˜ค๋ฅ˜๊ฐ€ ์‚ฌ๋ผ์กŒ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค.

@wluijk ์ถ”๊ฐ€

{
  "typeRoots": [
    "./node_modules/@types"
  ],
  "types": ["node"]
}

compilerOptions @types/node ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ ์ด๋Ÿฌํ•œ ์œ ํ˜•์„ _require_ TS 2.8+๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์€ _๋ถ€_ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์ด์ œ ์ด์ „ ์œ ํ˜•/์žฌ์Šค๋ฏผ ๋ฒ„์ „์— ๊ณ ์ •ํ•ด์•ผ ํ•˜๋Š” ๋งŽ์€ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์ด๊ฒƒ์€ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด๋ฉฐ ์ƒˆ๋กœ์šด ์ฃผ์š” ๋ฒ„์ „ ๋ฒˆํ˜ธ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค ๐Ÿ˜ข

2.8.3 ๊ณ ์ •ํ•˜๊ณ  2.5.3์„ ๋„˜์„ ์ˆ˜ ์—†๋Š” ํ”„๋กœ์ ํŠธ์— TS๋ฅผ ๋‚จ๊ฒจ๋‘๋Š” ๊ฒƒ์ด ํšจ๊ณผ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋งค๋ ฅ์ฒ˜๋Ÿผ ์ผํ–ˆ์Šต๋‹ˆ๋‹ค! ๋ฌด๋ฆฌ์นœ๊ตฌ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

์ฐธ๊ณ ๋กœ ์ด๋Ÿฌํ•œ ์œ ํ˜•์„ _require_ TS 2.8+๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์€ _๋ถ€_ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์ด์ œ ์ด์ „ ์œ ํ˜•/์žฌ์Šค๋ฏผ ๋ฒ„์ „์— ๊ณ ์ •ํ•ด์•ผ ํ•˜๋Š” ๋งŽ์€ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์ด๊ฒƒ์€ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด๋ฉฐ ์ƒˆ๋กœ์šด ์ฃผ์š” ๋ฒ„์ „ ๋ฒˆํ˜ธ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

2.8.3 ๊ณ ์ •ํ•˜๊ณ  2.5.3์„ ๋„˜์„ ์ˆ˜ ์—†๋Š” ํ”„๋กœ์ ํŠธ์— TS๋ฅผ ๋‚จ๊ฒจ๋‘๋Š” ๊ฒƒ์ด ํšจ๊ณผ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

ํŒจํ‚ค์ง€ json์— "@types/jasmine": "~2.8.3" ํ•ญ๋ชฉ์ด ์žˆ์—ˆ๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์šธ๊ธฐ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  "@types/jasmine": "2.8.3"์œผ๋กœ ๋งŒ๋“ค์—ˆ๊ณ  ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ : "~2.8.3"์€ 2.8.11๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@jayvdb

๋‚ด Angular 5 ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ typescript 2.6.x์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก 2.8.9์— ๊ณ ์ •ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ, ์ž‘๋™ํ•˜์ง€๋งŒ ์ด์ œ ์ฝ˜์†”์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

angular/[email protected]์—๋Š” typescript@'>=2.4.2 <2.5.0'์ด ํ•„์š”ํ•˜์ง€๋งŒ ๋Œ€์‹  2.6.2๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์ด ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋ฉด ์ •์˜๋˜์ง€ ์•Š์€ ๋™์ž‘์ด ๋ฐœ์ƒํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ๋””๋ฒ„๊ทธํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@mieszczans , ์ €๋Š” typescript 2.6์ด Angular 5 ์•ฑ์—์„œ ์ƒ๋‹นํžˆ ์•ˆ์ •์ ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ์•˜์œผ๋ฏ€๋กœ ๊ทธ ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด https://github.com/DefinitelyTyped/DefinitelyTyped/issues/30310#issuecomment -444916003์— ์–ธ๊ธ‰๋œ ๋Œ€๋กœ @types/jasmine ๋ฅผ 2.8.4 ์— ๊ณ ์ • ํ•˜์‹ญ์‹œ์˜ค .

์ •๋ง๋กœ, ์ด๊ฒƒ์€ SemVer์˜ ๊ฐ€ํ˜นํ•œ ์œ„๋ฐ˜์œผ๋กœ ๋˜๋Œ๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…• ๋ชจ๋‘,

[email protected] ๋ฐ @types/ jasmine @ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ข‹๋‹ค

  1. npm install typescript/2.8.4 --save-dev
  2. npm install @types/ jasmine @

100% ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”,

Jasmine 2.8.9์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋Š” typescript 2.80

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