Less.js: λ…Έλ“œ v6.0.0μ—μ„œ 손상됨

에 λ§Œλ“  2016λ…„ 04μ›” 27일  Β·  41μ½”λ©˜νŠΈ  Β·  좜처: less/less.js

달리기

lessc main.less build.css

였λ₯˜ 및 λΉŒλ“œ νŒŒμΌμ„ 좜λ ₯ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

nodemon 둜 μ‹€ν–‰ν•˜λ©΄ 더 λ§Žμ€ 정보λ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

β€Ί nodemon -e less --exec 'lessc src/main.less build.css'
(node) v8::ObjectTemplate::Set() with non-primitive values is deprecated
(node) and will stop working in the next major release.

==== JS stack trace =========================================

Security context: 0x36610d2c9fa9 <JS Object>#0#
    1: .node [module.js:568] [pc=0x1aa0081d0f64] (this=0x225da61d89b9 <an Object with map 0x7af7e117be1>#1#,module=0x2666c00042f1 <a Module with map 0x7af7e1181b9>#2#,filename=0x2666c0004251 <String[136]: /Users/zigomir/.nvm/versions/node/v6.0.0/lib/node_modules/nodemon/node_modules/fsevents/lib/binding/Release/node-v48-darwin-x64/fse.node>)
    2: load [module.js:456] [pc=0x1aa008138e72] (this=0x2666c00042f1 <a Module with map 0x7af7e1181b9>#2#,filename=0x2666c0004251 <String[136]: /Users/zigomir/.nvm/versions/node/v6.0.0/lib/node_modules/nodemon/node_modules/fsevents/lib/binding/Release/node-v48-darwin-x64/fse.node>)
    3: tryModuleLoad(aka tryModuleLoad) [module.js:415] [pc=0x1aa00813899d] (this=0x36610d204189 <undefined>,module=0x2666c00042f1 <a Module with map 0x7af7e1181b9>#2#,filename=0x2666c0004251 <String[136]: /Users/zigomir/.nvm/versions/node/v6.0.0/lib/node_modules/nodemon/node_mo 1: v8::Template::Set(v8::Local<v8::Name>, v8::Local<v8::Data>, v8::PropertyAttribute)
 2: fse::FSEvents::Initialize(v8::Local<v8::Object>)
 3: node::DLOpen(v8::FunctionCallbackInfo<v8::Value> const&)
 4: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&))
 5: v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::(anonymous namespace)::BuiltinArguments<(v8::internal::BuiltinExtraArguments)1>)
 6: v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*)
 7: 0x1aa00800961b
 8: 0x1aa0081d0f64
(node) v8::ObjectTemplate::Set() with non-primitive values is deprecated
(node) and will stop working in the next major release.

==== JS stack trace =========================================

Security context: 0x36610d2c9fa9 <JS Object>#0#
    1: .node [module.js:568] [pc=0x1aa0081d0f64] (this=0x225da61d89b9 <an Object with map 0x7af7e117be1>#1#,module=0x2666c00042f1 <a Module with map 0x7af7e1181b9>#2#,filename=0x2666c0004251 <String[136]: /Users/zigomir/.nvm/versions/node/v6.0.0/lib/node_modules/nodemon/node_modules/fsevents/lib/binding/Release/node-v48-darwin-x64/fse.node>)
    2: load [module.js:456] [pc=0x1aa008138e72] (this=0x2666c00042f1 <a Module with map 0x7af7e1181b9>#2#,filename=0x2666c0004251 <String[136]: /Users/zigomir/.nvm/versions/node/v6.0.0/lib/node_modules/nodemon/node_modules/fsevents/lib/binding/Release/node-v48-darwin-x64/fse.node>)
    3: tryModuleLoad(aka tryModuleLoad) [module.js:415] [pc=0x1aa00813899d] (this=0x36610d204189 <undefined>,module=0x2666c00042f1 <a Module with map 0x7af7e1181b9>#2#,filename=0x2666c0004251 <String[136]: /Users/zigomir/.nvm/versions/node/v6.0.0/lib/node_modules/nodemon/node_mo 1: v8::Template::Set(v8::Local<v8::Name>, v8::Local<v8::Data>, v8::PropertyAttribute)
 2: fse::FSEvents::Initialize(v8::Local<v8::Object>)
 3: node::DLOpen(v8::FunctionCallbackInfo<v8::Value> const&)
 4: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&))
 5: v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::(anonymous namespace)::BuiltinArguments<(v8::internal::BuiltinExtraArguments)1>)
 6: v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*)
 7: 0x1aa00800961b
 8: 0x1aa0081d0f64
needs decision needs info

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

같은 것을보고. μ‚¬μ†Œν•œ .less νŒŒμΌμ—μ„œ lesscλ₯Ό μ‹€ν–‰ν•˜λ©΄ 상세 λͺ¨λ“œμ—μ„œλ„ Node.js v6μ—μ„œ λΉŒλ“œ 파일과 였λ₯˜κ°€ 좜λ ₯λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  41 λŒ“κΈ€

Less μžμ²΄λŠ” ObjectTemplate.Set ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ 쒅속성 쀑 ν•˜λ‚˜μΌ 수 μžˆμŠ΅λ‹ˆλ‹€. ν˜„μž¬ λ§ˆμŠ€ν„°μ—λŠ” κΈ΄ 쒅속성 μ—…λ°μ΄νŠΈ 체인이 μžˆμœΌλ―€λ‘œ v6 ν˜Έν™˜ 릴리슀λ₯Ό μ–»λŠ” 것이 μ–Όλ§ˆλ‚˜ μ–΄λ €μš΄μ§€ 아직 λ§ν•˜κΈ° μ–΄λ ΅μŠ΅λ‹ˆλ‹€. 슀슀둜 더 깊이 μ‘°μ‚¬ν•˜κ³  패치/PR을 μ œμ•ˆν•˜μ‹­μ‹œμ˜€.

그것은 nodemon의 문제처럼 λ³΄μž…λ‹ˆλ‹€.

같은 것을보고. μ‚¬μ†Œν•œ .less νŒŒμΌμ—μ„œ lesscλ₯Ό μ‹€ν–‰ν•˜λ©΄ 상세 λͺ¨λ“œμ—μ„œλ„ Node.js v6μ—μ„œ λΉŒλ“œ 파일과 였λ₯˜κ°€ 좜λ ₯λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

원인을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€.

ν˜„μž¬ κ²Œμ‹œλœ Less 버전은 undefined path.dirname() λ₯Ό ν˜ΈμΆœν•˜μ—¬ λ…Έλ“œ v6μ—μ„œ 였λ₯˜λ₯Ό λ°œμƒμ‹œν‚΅λ‹ˆλ‹€. 이것은 이미 ec04a03f1cba3a092d5cd7f7c5d8e28bb43c1932에 μ˜ν•΄ ν•΄κ²°λ˜μ—ˆμ§€λ§Œ 아직 κ²Œμ‹œλ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. lessc 의 ν˜„μž¬ κ΅¬ν˜„μ΄ Less 자체둜 인해 λ°œμƒν•˜λŠ” λͺ¨λ“  였λ₯˜λ₯Ό μ‚Όν‚€κΈ° λ•Œλ¬Έμ— 였λ₯˜κ°€ λ°œμƒν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ PR을 λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€.

자, μ–΄λŠ μͺ½μ„ λ³‘ν•©ν• κΉŒμš”? #2882 λ˜λŠ” #2884? :)

그듀은 두 가지 λ‹€λ₯Έ 문제λ₯Ό ν•΄κ²°ν•©λ‹ˆλ‹€.

κ·Έλž˜μ„œ λ‘˜ λ‹€? (λ‘˜ λ‹€ μ•½κ°„ 겹치고 λ³‘ν•©ν•˜λ €λ©΄ μΆ”κ°€ νŽΈμ§‘μ΄ ν•„μš”ν•˜κΈ° λ•Œλ¬Έμ— λ¬»μŠ΅λ‹ˆλ‹€.)

λ‹€λ₯Έ ν•˜λ‚˜λŠ” process.exit() λ₯Ό 직접 μ‚¬μš©ν•©λ‹ˆλ‹€. μ΄λŠ” stdout/stderr이 ν”ŒλŸ¬μ‹œλ˜μ§€ μ•Šλ„λ‘ 방지해야 ν•©λ‹ˆλ‹€.

@evanlucas process.exit() λ₯Ό 직접 ν˜ΈμΆœν•  λ•Œ λ°œμƒν•˜λŠ” 이 문제λ₯Ό μ–΄λ–»κ²Œ μž¬ν˜„ν•  수 μžˆλŠ”μ§€ μ„€λͺ…ν•΄ μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ? process.exit() λŠ” λ“œλ¬Έ κ²½μš°μ— μ‚¬μš©ν•΄μ•Ό ν•œλ‹€λŠ” 데 λ™μ˜ν•©λ‹ˆλ‹€. 일반적으둜 μ •κΈ°μ μœΌλ‘œ μ’…λ£Œν•˜κ±°λ‚˜ 였λ₯˜λ₯Ό λ°œμƒμ‹œμΌœ μ’…λ£Œν•˜λŠ” 것이 더 λ‚«κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이 경우 μ˜ˆμƒλ˜λŠ” 였λ₯˜μ— λŒ€ν•œ μŠ€νƒ 좔적을 ν‘œμ‹œν•˜κ³  싢지 μ•ŠκΈ° λ•Œλ¬Έμ— 였λ₯˜ μ½”λ“œκ°€ μžˆλŠ” process.exit() κ°€ 더 μ μ ˆν•˜λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. 그리고 싀행을 κ³„μ†ν•˜μ§€λ§Œ ν”Œλž˜κ·Έλ‘œ μΆ”κ°€ 처리λ₯Ό λ°©μ§€ν•˜λŠ” 것도 μ΄μƒν•˜κ²Œ λ³΄μž…λ‹ˆλ‹€(ν˜„μž¬ κ΅¬ν˜„λœ κ²ƒμ²˜λŸΌ).

process.exitCode 섀정은 μŠ€νƒ 좔적을 ν‘œμ‹œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. process.exit() λŠ” μ‹€μ œλ‘œ process.stdout λ˜λŠ” process.stderr λ₯Ό ν”ŒλŸ¬μ‹œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€(λ‘˜ λ‹€ μ°¨λ‹¨λ˜μ§€ μ•ŠμŒ). λ“œλ¬Έ κ²½μš°μ—λ§Œ λͺ…μ‹œμ μœΌλ‘œ ν˜ΈμΆœν•΄μ•Ό ν•©λ‹ˆλ‹€. 그렇지 μ•ŠμœΌλ©΄ λͺ¨λ“  핸듀을 λ‹«μœΌλ©΄ 이벀트 루프가 μ €μ ˆλ‘œ λ‹«ν˜€ ν”„λ‘œμ„ΈμŠ€κ°€ μ’…λ£Œλ©λ‹ˆλ‹€.

κ΄€λ ¨: https://github.com/nodejs/node/issues/6409

이λ₯Ό λͺ…ν™•νžˆ ν•΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. process.exit() κ°€ 비차단인지 λͺ°λžμŠ΅λ‹ˆλ‹€. μ΅œλŒ€ν•œ 빨리 PR을 μ—…λ°μ΄νŠΈν•˜κ² μŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ ν•œ 가지: process.exit() κ°€ process.stdout λ₯Ό ν”ŒλŸ¬μ‹œν•˜μ§€ μ•Šμ€ 경우 – λ‚΄ μ½˜μ†”μ— 좜λ ₯이 μžˆλŠ” μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ? :이λ₯Ό λ“œλŸ¬λ‚΄κ³  웃닀:

슀트림이 λ‹«νž λ•Œ 이미 ν”ŒλŸ¬μ‹œλ˜μ—ˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. 그것은 단지 보증이 μ•„λ‹™λ‹ˆλ‹€. 이것이 μ½˜μ†”μ— λ•Œλ•Œλ‘œ (λΆ€λΆ„) 좜λ ₯이 μžˆλŠ” μ΄μœ μž…λ‹ˆλ‹€.

적어도 우리의 경우 ν—€λ“œ(https://github.com/less/less.js/commit/ec04a03f1cba3a092d5cd7f7c5d8e28bb43c1932 포함)μ—μ„œ μ‹€ν–‰λ˜λ©΄ 이것이 ν•΄κ²°λœλ‹€λŠ” 것을 ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€.

"--source-map"을 μ‚¬μš©ν•˜λ©΄ μ—¬μ „νžˆ 빈 CSS 파일이 μƒμ„±λ©λ‹ˆλ‹€. (그렇지 μ•ŠμœΌλ©΄ μ €μ—κ²Œ νš¨κ³Όμ μž…λ‹ˆλ‹€). node.js v6.0.0(Windows 8 64λΉ„νŠΈ)

@ewebdev λ„€, 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. #2891을 μ‚¬μš©ν•˜λ©΄ λ‹€μŒμ΄ λ°œμƒν•©λ‹ˆλ‹€.

lessc --source-map-map-inline styles/main.less
path.js:7
    throw new TypeError('Path must be a string. Received ' + inspect(path));
    ^

TypeError: Path must be a string. Received undefined
    at assertPath (path.js:7:11)
    at Object.basename (path.js:1355:5)
    at /Users/jhnns/dev/jhnns/less.js/bin/lessc:292:61
    at Object.<anonymous> (/Users/jhnns/dev/jhnns/less.js/bin/lessc:486:3)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:456:32)
    at tryModuleLoad (module.js:415:12)
    at Function.Module._load (module.js:407:3)
    at Function.Module.runMain (module.js:575:10)

이 문제λ₯Ό ν•΄κ²°ν•˜λŠ” PR을 열어도 λ˜μ§€λ§Œ 좜λ ₯이 process.stdout 인 κ²½μš°μ™€ 같이 μ–΄λ–€ μƒν™©μ—μ„œ μ–΄λ–€ μ†ŒμŠ€ 맡 μ˜΅μ…˜μ΄ μ§€μ›λ˜λŠ”μ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. 이 μ½”λ“œλŠ” μ•½κ°„ λ³΅μž‘ν•˜κ³  μ•„λ§ˆλ„ μ•½κ°„μ˜ λ¦¬νŒ©ν† λ§μ΄ ν•„μš”ν•  κ²ƒμž…λ‹ˆλ‹€...

확인, 이것은 λ…Έλ“œ 6κ³Ό μ€‘λ‹¨λ©λ‹ˆλ‹€. 였λ₯˜κ°€ 좜λ ₯λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ :(

이 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μ—¬μ „νžˆ PR을 기닀리고 μžˆμŠ΅λ‹ˆκΉŒ?

AFAICT, 이것은 ν—€λ“œμ— κ³ μ •λ˜μ–΄ μžˆμœΌλ―€λ‘œ npm νŒ¨ν‚€μ§€ κ²Œμ‹œλ₯Ό κΈ°λ‹€λ¦½λ‹ˆλ‹€.

(λ‹€λ₯Έ μ‚¬λžŒλ“€μ€ 확인해야 ν•©λ‹ˆλ‹€.)

@lmeyerov μ»€λ°‹μ—μ„œ λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€. 그리고 PR #2882 λ˜λŠ” #2884κ°€ μ—°κ²°λ˜μ–΄ μžˆμ§€λ§Œ 아무도 이것이 Node 6에 λŒ€ν•œ μˆ˜μ •μ΄λΌκ³  λ§ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ λ‚΄κ°€ μ•ŒκΈ°λ‘œλŠ” @jhnns κ°€ 원인을 μ°Ύμ•˜λŠ”λ°λ„ 아직 PR이 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” κ±΄κ°€μš”? λ˜λŠ” ν•΄λ‹Ή PR 쀑 ν•˜λ‚˜κ°€ λ…Έλ“œ 6 ν˜Έν™˜μ„±μ„ μˆ˜μ •ν•˜μ§€λ§Œ 아직 μˆ˜μ •λ˜μ§€ μ•Šμ€ λ‹€λ₯Έ 버그(μ†ŒμŠ€ 맡)λ₯Ό λ„μž…ν•©λ‹ˆκΉŒ? λˆ„κ΅°κ°€ 이것을 λͺ…ν™•νžˆ ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

@matthew-dean lessc 아무 것도 λ°©μΆœν•˜μ§€ μ•ŠλŠ” κ²ƒμœΌλ‘œ ν‘œλ©΄ν™”λœ 문제의 경우 _생각_ ν•˜μ—¬ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€. https://github.com/less/less.js/commit/ec04a03f1cba3a092d5cd7f7c5d8e28bb43c1932 . ν˜„μž¬ npm에 κ²Œμ‹œλœ 버전과 4μ›” 22일 메인라인 사이에 λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

ec04a03f1cba3a092d5cd7f7c5d8e28bb43c193을 μ‚¬μš©ν•˜λŠ” @matthew-dean이 μ €μ—κ²Œ νš¨κ³Όμ μž…λ‹ˆλ‹€.

@lmeyerov @matthew-dean _source map_ 머리와 https://github.com/less/less.js/commit/ec04a03f1cba3a092d5cd7f7c5d8e28bb43c1932 =/

Btw, 였λ₯˜ 보고 버그 μˆ˜μ •μ΄ 없더라도 λ‚΄ ec04a03 νŒ¨μΉ˜κ°€ ν¬ν•¨λœ 버전을 μΆœμ‹œν•˜λŠ” 것에 λ°˜λŒ€ν•˜λŠ” 것은 μ—†μ–΄μ•Ό ν•©λ‹ˆλ‹€. κ·Έλž˜μ•Ό lesscκ°€ 적어도 이전과 같이 Node.js v6μ—μ„œ μž‘λ™ν•©λ‹ˆλ‹€.

@addaleax Less 2.7.0이 μΆœμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€(μ§€κΈˆ 막). 아직 ν•΄κ²°λ˜μ§€ μ•Šμ€ λ²„κ·ΈλŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ? 이 λ¦΄λ¦¬μŠ€μ— "μ•Œλ €μ§„ 버그"둜 μΆ”κ°€ν•΄μ•Ό ν•©λ‹ˆλ‹€.

그것은 _I_κ°€ λ§ˆμ£Όν•œ μœ μΌν•œ κ²ƒμž…λ‹ˆλ‹€. κ²Œλ‹€κ°€ μ‹€νŒ¨ μ‹œ μ‹€μ œ 였λ₯˜ 좜λ ₯이 μ—†λŠ” "버그"도 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λ‹€λ₯Έ μ‚¬λžŒμ„ μœ„ν•΄ 말할 수 μ—†μŠ΅λ‹ˆλ‹€.

μ–΄λ–€ μ΄μœ μ—μ„œμΈμ§€ μ†ŒμŠ€ 맡은 λͺ¨λ“  Less ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όν–ˆμ§€λ§Œ μ—…κ·Έλ ˆμ΄λ“œ ν›„ Node 6.0 ν™˜κ²½μ΄ μ•„λ‹Œ μ†ŒμŠ€ 맡 였λ₯˜λ„ λ°œμƒν•©λ‹ˆλ‹€. (λ…Έλ“œ 4μ—μ„œ λ°œμƒ) κ·Έλž˜μ„œ μ†ŒμŠ€ 맡을 깨뜨린 λͺ‡ 가지 λ³€κ²½ 사항이 μžˆμŠ΅λ‹ˆλ‹€.

PR #2834κ°€ μ†ŒμŠ€ 맡 버그λ₯Ό λ„μž…ν–ˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. λ‚΄ μ‹œμŠ€ν…œμ—μ„œ 컀밋 470af20을 되돌리면 μ†ŒμŠ€ 맡 λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λˆ„κ΅°κ°€(@ewebdev)κ°€ λΉ λ₯΄κ²Œ 확인할 수 μžˆμŠ΅λ‹ˆκΉŒ? κ·Έλ ‡λ‹€λ©΄ 되돌리기λ₯Ό μ»€λ°‹ν•˜κ³  2.7.1 ν•«ν”½μŠ€λ₯Ό 내놓을 κ²ƒμž…λ‹ˆλ‹€.

//cc @λ‹‰λ„€μž„

@matthew-dean 컀밋 되돌리기 https://github.com/less/less.js/commit/470af20f641c9b5389475733dfe341aa4c180fba λ‚΄ ν™˜κ²½μ—μ„œ μ†ŒμŠ€ 맡 문제λ₯Ό ν•΄κ²° ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ .

@matthew-dean μ£„μ†‘ν•©λ‹ˆλ‹€! μ„±λŠ₯ μ΅œμ ν™”μΌ λΏμž…λ‹ˆλ‹€. λ¬Έμ œκ°€ λ°œμƒν•˜λ©΄ μ–Έμ œλ“ μ§€ 되돌릴 수 있으며 λ‚˜μ€‘μ— λ‹€μ‹œ μ‹œλ„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ„ˆλ¬΄ ν˜Όλž€μŠ€λŸ¬μ›Œ... 😁

쑰사λ₯Ό μœ„ν•΄ 이미 μ‹œκ°„μ„ λ“€μ˜€κΈ° λ•Œλ¬Έμ— λͺ…ν™•νžˆ ν•΄λ‘κ² μŠ΅λ‹ˆλ‹€.

  • ec04a03f1cba3a092d5cd7f7c5d8e28bb43c1932λŠ” μ •μ˜λ˜μ§€ μ•Šμ€ κ²½λ‘œκ°€ dirname 둜 μ „λ‹¬λœ bin/lessc 의 버그λ₯Ό μˆ˜μ •ν•©λ‹ˆλ‹€. 이것은 이제 κ²Œμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€, λͺ¨λ“  것이 μ’‹μŠ΅λ‹ˆλ‹€ πŸ‘
  • bin/lessc μ—λŠ” μ—¬μ „νžˆ 버그가 μžˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ„œ μ •μ˜λ˜μ§€ μ•Šμ€ κ²½λ‘œλŠ” basename 둜 μ „λ‹¬λ©λ‹ˆλ‹€ . lessc --source-map-map-inline some-file.less λ₯Ό μ‹€ν–‰ν•˜λ©΄ lessλŠ” stdout에 아무 것도 내보내지 μ•ŠμŠ΅λ‹ˆλ‹€. 이 버그에 λŒ€ν•œ PR은 아직 μ—†μŠ΅λ‹ˆλ‹€. 이거 고치렀고 ν–ˆλŠ”λ° lessc 에 λŒ€ν•œ ν…ŒμŠ€νŠΈλ„ μ—†κ³  μ˜΅μ…˜λ„ λ„ˆλ¬΄ λ‹€μ–‘ν•΄μ„œ λ‹€λ₯Έκ±΄ 깨지지 μ•Šμ„λ§ŒνΌ μžμ‹ μ΄ μ—†μ—ˆμŠ΅λ‹ˆλ‹€... 😞
  • 두 버그 λͺ¨λ‘ μ‚¬μš©μžμ—κ²Œ λ³΄κ³ λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€(예: μŠ€νƒ 좔적 λ˜λŠ” 0이 μ•„λ‹Œ μ’…λ£Œ μ½”λ“œ ν‘œμ‹œ). 이것은 아직 보λ₯˜ 쀑인 λ‚΄ PR 에 μ˜ν•΄ μˆ˜μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

@jhnns 였, λ©‹μ§€λ„€μš”. μ €λŠ” κ·Έ μ†ŒμŠ€ 맡을 보지 λͺ»ν–ˆμŠ΅λ‹ˆλ‹€.

λ‹€λ₯Έ 방법이 μ—†λ‹€λ©΄ path.basename(output) λ₯Ό path.basename(output || 'undefined'); 둜 λ³€κ²½ν•˜μ—¬ 이전 Node v5 λ™μž‘μ„ _볡원__ν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ output === undefined 에 λŒ€ν•΄ 전체 블둝을 κ±΄λ„ˆλ›Έ 수 μžˆμŠ΅λ‹ˆλ‹€.

@jhnns bin/lessc λ²„κ·Έμ˜ 영ν–₯은 λ¬΄μ—‡μž…λ‹ˆκΉŒ? 크리티컬 λ²„κ·ΈμΈκ°€μš”? LessλŠ” μ—¬μ „νžˆ μ™„λ£Œλ©λ‹ˆκΉŒ? κ²°κ³ΌλŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ? 이 버그에 λŒ€ν•œ νŠΉμ • 문제λ₯Ό 더 μžμ„Έν•œ 정보와 ν•¨κ»˜ μ‹ κ³ ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

였λ₯˜ 보고λ₯Ό μœ„ν•΄ κ·€ν•˜μ˜ PR을 λ³‘ν•©ν–ˆμŠ΅λ‹ˆλ‹€.

@matthew-dean μ°Έμ‘° https://github.com/less/less.js/issues/2896

[νŽΈμ§‘: μ‹ κ²½ 쓰지 λ§ˆμ„Έμš”, κ°μ‚¬ν•©λ‹ˆλ‹€ @matthew-dean]

@ewebdev Less 2.7.1μ—μ„œ μ—¬μ „νžˆ λ¬Έμ œκ°€ μžˆλŠ” 경우 μžμ„Έν•œ λ‚΄μš©μ„ ν¬ν•¨ν•˜μ—¬ λ³„λ„μ˜ 문제λ₯Ό μ œμΆœν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

@claar 그것은 ν•΄κ²°λœ λ³„λ„μ˜ 문제( @jhnns λͺ©λ‘μ˜ 첫 번째 문제)μž…λ‹ˆλ‹€. 두 번째 ν•­λͺ©μ€ λ³„λ„μ˜ 버그이고 @ewebdev λŠ” λ³„λ„μ˜ λ²„κ·Έμž…λ‹ˆλ‹€. λͺ…확성을 μœ„ν•΄ 이 λ¬Έμ œμ™€ 뢄리해야 ν•©λ‹ˆλ‹€.

@nicks 그것은 λ°œμƒν•©λ‹ˆλ‹€. 당신이 첫 λ²ˆμ§ΈλŠ” 아닐 κ²ƒμž…λ‹ˆλ‹€. μ•žμœΌλ‘œ μž‘λ™ν•˜μ§€ μ•ŠλŠ” μ†ŒμŠ€ 맡을 감지할 수 μžˆλ„λ‘ ν…ŒμŠ€νŠΈλ₯Ό μΆ”κ°€ν•˜λŠ” 데 도움을 μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€.

Btw, 일반적인 참고둜, Less의 개발 지원은 ν˜„μž¬ μ•½κ°„ ν¬λ°•ν•©λ‹ˆλ‹€(우리의 μ£Όμš” κΈ°μ—¬μž 쀑 ν•œ λͺ…이 κ°€μ‘± μ±…μž„ λ•Œλ¬Έμ— λ¬ΌλŸ¬λ‚˜μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€). λ”°λΌμ„œ μš°λ¦¬λŠ” Less κ°œλ°œμžκ°€ 쑰직 μˆ˜μ€€μ—μ„œ μ°Έμ—¬ν•˜λŠ” 것을 ν™•μ‹€νžˆ ν™˜μ˜ν•  κ²ƒμž…λ‹ˆλ‹€. 질문이 μžˆλŠ” 경우 μ €μ—κ²Œ λ³„λ„λ‘œ 연락할 수 μžˆμŠ΅λ‹ˆλ‹€.

λ³„λ„μ˜ 문제λ₯Ό λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. μ›λž˜ λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆμœΌλ―€λ‘œ 이 문제λ₯Ό 닫을 수 μžˆμŠ΅λ‹ˆλ‹€.

@jhnns 쒋은 것 κ°™μŠ΅λ‹ˆλ‹€. νŒ”λ‘œμš°ν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.

λ…Έλ“œ v6.9.2 LTSμ—μ„œ μ—¬μ „νžˆ μ€‘λ‹¨λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
lessc λ₯Ό μ‹€ν–‰ν•  λ•Œ 아무 일도 μΌμ–΄λ‚˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰