์ฐธ์กฐ: https://github.com/nodejs/node/pull/11349
์ฌ์ฉ:
tedious-1.14.0.tgz/lib/message-io.js:117: this.securePair = tls.createSecurePair(credentials);
#135๋ ์ฐธ์กฐํ์ญ์์ค.
๊ธฐ๋ฅ ๊ฐ์ง ์๋ https://github.com/sidores/node-mysql2/pull/367 ์ ์ฐธ์กฐํ์ญ์์ค.
@ChALkeR ํฌ์ธํฐ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์ด ๋ฌธ์ ์ ์ ๊ทผํ ๋ ๋์์ด ๋ ๊ฒ์ ๋๋ค. ์๊ฐ์ ๋ฐ์๋ค๋ฉด ์์ ๋กญ๊ฒ PR์ ๋ณด๋ด์ฃผ์ธ์ :-)
@tvrprasad : @ChALkeR ๋ Node.js ํ์ ์ผ์์ด๋ฉฐ ์ด ๊ฒ์๋ฌผ์ ๋๋ถ๋ถ ์ด ๊ธฐ๋ฅ์ด ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋๋ค๋ ์ฌ์ค์ ์๋ฆฌ๊ธฐ ์ํ ๊ฒ์
๋๋ค. ๋๋ ๊ทธ๊ฐ ์ค์ ๋ก tedious
์ฌ์ฉํ๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ๐
@ChALkeR : ์ด ์ง์ ์ค๋จ์ ๋ํด ์ ์ ์๊ณ ์์์ง๋ง ์ด ์ง์ ์ค๋จ์ ๋ํ ๋ฌธ์๋ ์ ๋ง ํฌ๋ฐํฉ๋๋ค. ๋ด๊ฐ ์ง๊ธ๊น์ง ๋ณธ ์์ (์: node-mysql
๋ํ PR)๋ ์ฐ๊ฒฐ์ด ๋น TLS์์ TLS๋ก ์ ํ๋๋ "๋จ์ํ" TLS ์
๊ทธ๋ ์ด๋์ ์ค์ ์ ๋ก๋๋ค.
TDS์์๋ TLS ์
๊ทธ๋ ์ด๋๊ฐ ํจ์ฌ ๋ ๋ณต์กํ๊ณ ๋ชจ๋ ํธ๋์
ฐ์ดํน ํจํท์ TDS ๋ฉ์์ง๋ก ๋ํํด์ผ ํ๋ฉฐ ์ฐ๊ฒฐ์ด ์ค์ ๋๋ฉด ๋ ์ด์ ๋ชจ๋ TLS ํจํท์ ๋ํํ ํ์๊ฐ ์์ต๋๋ค. tls.createSecurePair
๋ฅผ ํตํด ์ด๊ฒ์ ๊ตฌํํ๋ ๊ฒ์ ๋งค์ฐ ๊ฐ๋จํ์ง๋ง TLSSocket
๋ฅผ ํตํด ์ด๊ฒ์ ๋ง์ง๋ง์ผ๋ก ์๋ํ์ ๋ ์๋ํ์ง ๋ชปํ์ต๋๋ค. ๐
์๊ฐ์ด ๋๋ฉด ๋ค์ ํด๋ด์ผ ๊ฒ ์ง๋ง ํฌ๊ฒ ๋ฌ๋ผ์ง ์ ์ ์๋ ๊ฒ ๊ฐ์์.
๋ด๊ฐ ์ฐ์ฐํ ๋ ๋ค๋ฅธ ๋ฌธ์ ๋์์ ์์ผ ํฌ์ฅ์ด๋ค readable-stream
๋ก ํจํค์ง๋ฅผ TLSSocket
์ธ๊ทธ๋จผํธ ํดํธ (!)๊ฐ Node.js๋ฅผ ํ๋ก์ธ์ค์ ์์ธ์ด๋ฉ๋๋ค. ๋ถํํ๋ ์ง๊ธ ๋น์ฅ์ ์ฌ์์ฐ ๋จ๊ณ๊ฐ ์์ต๋๋ค. ๐
@arthurschreiber ์ ๋ณด ๊ฐ์ฌํฉ๋๋ค :-)
๊ทธ๋ฌ๋ ๋ง์ง๋ง์ผ๋ก TLSSocket์ ํตํด ์ด๊ฒ์ ์๋ํ์ ๋ ์๋ํ์ง ๋ชปํ์ต๋๋ค.
์ด ์์ ์ด github์ ์๋ค๋ฉด ํฌ์ธํฐ๋ฅผ ๋ณด๋ด์ฃผ์ธ์. ๊ถ๊ธํด์ ํ์ธํฉ๋๋ค.
@tvrprasad @arthurschreiber tls.createSecurePair ๋ฅผ ๋์ฒดํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ ๋ณด์ ๋๋ค. https://nodejs.org/dist/latest-v6.x/docs/api/tls.html#tls_class_securepair
Node v8.0.1์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ด ์ฑ์ ์ํธํ๋ ์ฐ๊ฒฐ์ ์ค์ ํ๋ ค๊ณ ์๋ํ ํ ๋ค์ ์ค๋ฅ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค.
(node:6344) [DEP0064] DeprecationWarning: tls.createSecurePair() is deprecated. Please use tls.Socket instead.
์ ๋ patriksimek/node-mssql
๋ฐ tedious
๋๋ผ์ด๋ฒ( node-mssql
์ ๊ธฐ๋ณธ ๋๋ผ์ด๋ฒ)๋ฅผ ์ฌ์ฉํ์ฌ Microsoft SQL Server ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ก์ธ์คํ๊ณ ์์ต๋๋ค.
์ง๋ฃจํ ๋๋ผ์ด๋ฒ์ ํจ๊ป node-mssql์ ์ฌ์ฉํ๋ @olange ์ ๋์ผํ ๋ฌธ์ ์ ๋๋ค.
Listening on port 4000
(node:4402) [DEP0064] DeprecationWarning: tls.createSecurePair() is deprecated. Please use tls.Socket instead.
์ ๋ฅผ ์คํดํ์ง ๋ง์ธ์. ์ด ๋ชจ๋์ ๊ณ์ ์ ์งํ๋ ๋น์ ์ ๋ ธ๋ ฅ์ ์ ๋ง ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ํ์ง๋ง ์ธ์ ์์ ๋ ์ง ์์ธกํ ์ ์์ต๋๊น?
ํจํค์ง 'mssql' ์ฌ์ฉ ๋ฐ ์ต์
์ฌ์ฉ:
{
์ํธํ: ์ฐธ
}
(node:13508) [DEP0064] DeprecationWarning: tls.createSecurePair()๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ๋์ tls.Socket์ ์ฌ์ฉํ์ญ์์ค.
Node ํ์ด ์ด์ ๊ฐ์ ๊ฒ์ ๋ ์ด์ ์ฌ์ฉํ์ง ์์ ๋ Node์์ ์ ๊ฑฐํ๊ธฐ ์ํ ๊ธฐ๊ฐ์ ์ด๋ป๊ฒ ๋ฉ๋๊น? ๊ทธ๋ฅ ๊ถ๊ธํฉ๋๋ค.
์๋ง๋ ๋ ธ๋ 9 ๋๋ 10์์ ์ ๊ฑฐ๋ ๊ฒ์ ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ต์ 4๋ ๋์ ๋ฌธ์์์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. :-/ ์ด๊ฒ์ ์ฌ์ ํ โโ๊ทธ๊ฒ์ ์ฌ์ฉํ๋ ์ ์ผํ ์ธ๊ธฐ ์๋ NPM ํจํค์ง ์ค ํ๋์ ๋๋ค.
๊ณต๋ ์์ ์ ์ค ๋ณ๊ฒฝ ์ฌํญ์ด ์ถ์๋ ์ผ์ ์ด ์๋ ์ฌ๋์ด ์์ต๋๊น?
๋ฐฉ๊ธ ์์คํ ์ ๋ ธ๋ 8.9.0 lts๋ก ์ ๋ฐ์ดํธํ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ์ป์์ต๋๋ค. ์ง๊ธ ๋ ๊ฐ์ ๋ฌด๊ฑฐ์ด ํ๋ก์ ํธ๊ฐ ์์ง๋ง ๋ ๋ค ์ํ๋๋ฉด ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ์๊ฐ์ ํ ์ ํ ์ ์๋์ง ์์๋ณด๊ฒ ์ต๋๋ค.
@Iiridayn ๊ต์ฅ
๋๋ ๊ทธ๊ฒ์ ๋ณด์์ง๋ง TLSSocket์์ ํธ๋ ์
ฐ์ดํฌ ํจํท์ ์ป๋ ๋ฐฉ๋ฒ์ ์ ์ ์์์ต๋๋ค. https://github.com/tediousjs/tedious/issues/515#issuecomment -283191248 :confused:
๊ทธ๊ฒ์ ๋ํ ์์ด๋์ด๊ฐ ์๋ค๋ฉด ๋ฃ๊ณ ์ถ์ต๋๋ค.
์ด์ ๋ํ ์ง์ ์ด ์์ต๋๊น? ๋์์ด ๋๋ ๊ฒฝ์ฐ์๋ง Azure์ ์ฐ๊ฒฐํ๋ ค๊ณ ํ๋ ๊ฒ๊ณผ ๋์ผํ ๋ฌธ์ ์ ์ง๋ฉดํ๊ณ ์์ต๋๋ค.
๋๊ตฐ๊ฐ๊ฐ ์ด๊ฒ์ด ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ๋์ ์ฑ์ ์คํํ ๊ฒฐ๊ณผ๊ฐ ๋ฌด์์ธ์ง ์ ์ํ๊ฒ ์ค๋ช
ํ๊ณ ๋ด๊ฐ ์์ฒญํ SQL ์ฟผ๋ฆฌ๊ฐ ์คํ๋์ง ์๊ณ ์ด๊ฒ์ด ์์ธ์ธ์ง ์์์ผ ํ์ง๋ง ์ด์ ๋ํ ํ
์คํธ๋ฅผ ์๋ ค ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ve read๋ ๊ทธ๋ค์ง ์
๋ณ์ ์ด์ง ์์ต๋๋ค.
๋ฏธ๋ฆฌ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
@Jorgeee1 ์ด๊ฒ์ ๊ฒฝ๊ณ ์ผ ๋ฟ, ๋ฌธ์ ์ ์์ธ์ ์๋ ๊ฒ์ ๋๋ค. Azure DB์ ์ฐ๊ฒฐํ๋ ๋ฐ๋ ์ง๋ฃจํ ๊ฒ์ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ์ ์๋ํฉ๋๋ค.
createSecurePair
๋ฅผ TLSSocket
+ TCP ์๋ฒ๋ก ๋์ฒดํ์ฌ ์์ ํธ๋์
ฐ์ดํฌ ๋ฐ์ดํฐ๋ฅผ ์ป๋ ๊ฐ๋
์ ๋น ๋ฅธ ์ฆ๋ช
์ ์์ฑํ์ต๋๋ค. ์ฌ๊ธฐ์์ ์ดํด๋ณผ ์ ์์ต๋๋ค . ์คํํ ์ ์๋ ํตํฉ ํ
์คํธ๋ฅผ ํต๊ณผํ์ต๋๋ค.
์ด๊ฒ์ ๋ถ๋ช ํ ๋น๋ฉดํ ๋ฌธ์ ์ ๋ํ ์ค์ ์๋ฃจ์ ์ด ์๋๋๋ค(์ถ๊ฐ ์์ผ ๋ฑ์ ๋จน๋ ๊ฒ์ด ์ข์ง ์์ ๊ฒฝ์ฐ). ์ด๊ฒ์ ํ ๋ก ์ ์์ํ๋ ๊ฒ ์ด์์ ๋๋ค. https://github.com/nodejs/help/issues/1010 ์์ ์ค์ ์ ์๊ณผ ํ ๋ก ์ด ์์ผ๋ฉด ์ข์ ๊ฒ
@joux3 ๊ต์ฅํ๋ค์ ๐ PR ๋ง๋ค์ด์ฃผ์ค ์ ์๋์? ๊ทธ๊ณณ์์ ๊ฒํ ํ๊ณ ๋ ผ์ํ๋ ๊ฒ์ด ๋ ์ฌ์ธ ๊ฒ์ ๋๋ค.
๋ฌด๊ฑฐ์ด ํ๋ก์ ํธ๋ ์ํ๋์ง ์์๊ณ ์ธ ๋ฒ์งธ๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ MySQL๋ ๋ง์ด๊ทธ๋ ์ด์ ํ์ต๋๋ค. ์ฃ์กํฉ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค. ํ์ด์ ๋น๋๋ค :).
๊ณ ์ณ์ฃผ์ธ์ ์ค์ํ ๋ฌธ์ ์ ๋๋ค
์ฌ๋ฌ๋ถ,
์ฌ๊ธฐ์์ ํ์ฌ ์ํ์ ๋ํ ๋น ๋ฅธ ์
๋ฐ์ดํธ๋ฅผ ์ ๊ณตํ๊ฒ ์ต๋๋ค. ์ง์ ์ค๋จ ๋ฉ์์ง๊ฐ ๊ท์ฐฎ์ ์ ์๋ค๋ ๊ฒ์ ์ดํดํ์ง๋ง ์ค์ ๋ก ๋ฌธ์ ๊ฐ๋์ง๋ ์์ต๋๋ค. tls.createSecurePair
๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ ์ ์์ง๋ง ๋จ๊ธฐ ๋ฐ ์ค๊ธฐ ๋ฏธ๋์๋ ์๋ฌด๋ฐ๋ ๊ฐ์ง ์์ ๊ฒ์
๋๋ค. https://github.com/nodejs/node/pull/17882 ์ ๋ฐ๋ฅด๋ฉด ๊ณง ์ ๊ฑฐ๋์ง ์์ต๋๋ค.
๋ํ https://github.com/nodejs/node/pull/17882 ๋ ๊ณต๊ฐ node.js API ์ธก๋ฉด์์ tls.createSecurePair
์ ์ฌ๊ตฌํ์ ์ ์ํ์ฌ (ํ์ฌ) ๋ด๋ถ DuplexSocket
๋์
ํฉ๋๋ค tls.createSecurePair
์์ ๋ฒ์ด๋๋ ๋ฐ ํ์ํ ๊ฒ์
๋๋ค. ์ง๊ธ์ ์ฐ๋ฆฌ๋ง์ DuplexSocket
๋ฒ์ ์ ๋ง๋ค์ด์ผ ํ์ง๋ง ์ ์ด๋ tls.createSecurePair
๊ฐ ์ค์ ๋ก ์ ๊ฑฐ๋๋ ์์ ์ด ๋ช
ํํด์ง๋ฉด ์ด ๋ฌธ์ ๋ฅผ ์ง๋ฃจํ๊ฒ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ข์ ์์ด๋์ด๊ฐ ์์ต๋๋ค. .
๋น์ ์ ์๊ฐ์ ์๋ ค์ฃผ์ธ์! ๐
@arthurschreiber Fwiw, ์ ๋ ๋ฐฉ๊ธ DuplexPair
๊ตฌํ์ https://www.npmjs.com/package/duplexpair์ ๊ฒ์ํ์ต๋๋ค tls.createSecurePair()
์ ์ฌํ๊ฒ ๋ง๋๋ ๋ํผ๋ฅผ ๊ฝค ์ฝ๊ฒ ๋ง๋ค ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
@adddaleax ์ค์! โค๏ธ ์ด๊ฒ์ ํ๋ฅญํ๋ฉฐ ๋์ค์ ์ฐ๊ฒฐํ์ฌ ์ฐ๋ฆฌ๋ฅผ tls.createSecurePair
๋นจ๋ฆฌ ์ด๋ํ ์ ์๋์ง ํ์ธํ๊ฒ ์ต๋๋ค! ์ ๋ง ๊ณ ๋ง์ต๋๋ค! ๐
@arthurschreiber ์ด ํจ์น๊ฐ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ๋จํด ๋ณด์ผ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
diff --git a/package.json b/package.json
index bca5b266849d..8cc0ed957577 100644
--- a/package.json
+++ b/package.json
@@ -43,6 +43,7 @@
"babel-runtime": "^6.26.0",
"big-number": "0.3.1",
"bl": "^1.2.0",
+ "duplexpair": "^1.0.1",
"iconv-lite": "^0.4.11",
"readable-stream": "^2.2.6",
"sprintf": "0.1.5"
diff --git a/src/message-io.js b/src/message-io.js
index 6c2a15c32a9f..a1de3a1e91c0 100644
--- a/src/message-io.js
+++ b/src/message-io.js
@@ -1,7 +1,9 @@
+'use strict';
const tls = require('tls');
const crypto = require('crypto');
const EventEmitter = require('events').EventEmitter;
const Transform = require('readable-stream').Transform;
+const DuplexPair = require('duplexpair');
const Packet = require('./packet').Packet;
const TYPE = require('./packet').TYPE;
@@ -84,10 +86,14 @@ module.exports = class MessageIO extends EventEmitter {
startTls(credentialsDetails, hostname, trustServerCertificate) {
const credentials = tls.createSecureContext ? tls.createSecureContext(credentialsDetails) : crypto.createCredentials(credentialsDetails);
- this.securePair = tls.createSecurePair(credentials);
+ const duplexpair = new DuplexPair();
+ this.securePair = {
+ cleartext: new tls.TLSSocket(duplexpair.socket1),
+ encrypted: duplexpair.socket2
+ };
this.tlsNegotiationComplete = false;
- this.securePair.on('secure', () => {
+ this.securePair.cleartext.on('secure', () => {
const cipher = this.securePair.cleartext.getCipher();
if (!trustServerCertificate) {
๊ทธ๋ฌ๋ ์ด๊ฒ์ ์ผ๋ฐ ํ ์คํธ ๋ชจ์์ ์ผ๋ถ๋ก ํ ์คํธ๋์ง ์์ ๊ฒ ๊ฐ์ผ๋ฏ๋ก ์ด๋ป๊ฒ ํด์ผ ํ ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค...
๋๋ SecurePair๋ฅผ ๊ต์ฒดํ๋ ๋ ๋ค๋ฅธ ๊ธฐํ๋ฅผ ์ฃผ์๋ค. Node 9์์ ํ ์คํธํ ํตํฉ ํ ์คํธ๊ฐ ๊ด์ฐฎ์ ๊ฒ ๊ฐ์ต๋๋ค. https://github.com/joux3/tedious/commit/6d255fbdaa2f9afd388617e6e34815cae95292a0
๊ทธ๋ฌ๋ ๋ช ๊ฐ์ง ๊ด์ฐฐ ์ฌํญ์ด ์์ต๋๋ค(ํ์ง๋ง ํจ์น๊ฐ PR์ด ๋ฌธ์ ๋ฅผ ๋ ผ์ํ๊ธฐ์ ์ถฉ๋ถํ ์ ์์ต๋๊น?).
Assertion failed: (uv__stream_fd(stream) >= 0), function uv_read_start, file ../deps/uv/src/unix/stream.c, line 1517.
์์ ์์ ํ ์ถฉ๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.close
ํธ๋ค๋ฌ๊ฐ ์์)'์์ ์ ๋ํด @addaleax ์๊ฒ ํฐ ๊ฐ์ฌ๋ฅผ ๋๋ฆฝ๋๋ค!
@joux3 ํฌํฌ๋ ํ์ฌ LTS ๋ฆด๋ฆฌ์ค์ธ ๋ ธ๋ 8์์ ์ฌ์ฉํ ์ค๋น๊ฐ ๋์์ต๋๊น? ํ ๋ฆฌํ์คํธ๋ฅผ ์ฌ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๊น? https://github.com/patriksimek/node-mssql/ ๊ณผ ํจ๊ป ์ฌ์ฉํ๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋์ง ํ์ธํ๊ณ ์ถ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค!
์ฌ์๋ ์๊ฐ ์ด๊ณผ ํ ์คํธ์์ ๊ฐ์ง ํ์ด๋จธ๋ฅผ ์ ๊ฑฐํด์ผ ํ์ต๋๋ค. ๊ฐ์ง ํ์ด๋จธ๋ ๋ด๋ถ์ ์ผ๋ก DuplexPair๋ฅผ ์ค๋จ์ํค๋ ๊ฒ ๊ฐ์ต๋๋ค.
@joux3 ์ด๋ค ํ ์คํธ๊ฐ ๋ ๊น์? (์ฃ์กํฉ๋๋ค. ์ ๋ ์ด ๋ฌธ์ ์ ๋ํด ์ดํด๋ณธ ๊ฒ ์ธ์ ์ด ์ฝ๋ ๊ธฐ๋ฐ์ ๋ํด ํน๋ณํ ์ต์ํ์ง ์์ต๋๋ค.)
@addaleax , ์คํจํ ํ
์คํธ๋ https://github.com/tediousjs/tedious/blob/f5a0f95a5a522ad6a312170201b829e70c866976/test/integration/connection-retry-test.js#L73 -L104์
๋๋ค.
ํ์ด๋จธ ๋นํ์ฑํ: https://github.com/tediousjs/tedious/pull/689/files#diff -ed1dc3ba8a10a8fb4b18a528b35bad00.
ํธ์ง: setTimeout
https://github.com/tediousjs/tedious/pull/689/commits/ff5d5eb1a3603db05266306a823fa49a98b50209 ๋ง ๊ฐ์ง ํ์ด๋จธ ๊ฐ์ง๋ฅผ ๋ณต์ํ์ต๋๋ค
@jimmont , https://github.com/tediousjs/tedious/pull/689 ์์ pull request๋ฅผ ์ด์์ต๋๋ค(PR ์ด๋ฆ์ ๋ฌธ์ ID๋ฅผ ์ฐธ์กฐํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค...). ํตํฉ ํ ์คํธ๋ ๋ ธ๋ 8์ ํต๊ณผํ์ง๋ง ์์ง ํด์ผ ํ ์ผ์ด ์์ต๋๋ค.
๐ ์ด ๋ฌธ์ ๋ฅผ ์ต๋ํ ๋นจ๋ฆฌ ํด๊ฒฐํ๊ธฐ ์ํด!
์ด๊ฒ์ ์ง์ ์ด ์์ต๋๊น? ์ด ๋ฌธ์ ์ ๋ํ ์ ๋ฐ์ดํธ๋ฅผ ์ป์ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
์ถ์ ์ ์ํด PR #689๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค.
๊ฒฝ๊ณ ๊ฐ stdout ๋์ stderr๋ก ์ ์ก๋๋ ์ธ์์์. <fail/>
๋ชจ๋ ์ ๋ฐ์ดํธ?
์ค๋ ์๊ฐ์ด ์ง๋ ํ, ์ด๊ฒ์ https://github.com/tediousjs/tedious/pull/738์ ํตํด ๋ง์นจ๋ด (๊ทธ๋ฆฌ๊ณ ์ ์ ํ๊ฒ) ์์ ๋์์ต๋๋ค [email protected]
์(๋) ์ด์ npm์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ์ฌ next
๋ก ํ๊ทธ๊ฐ ์ง์ ๋์ด ์์ผ๋ฉฐ ๊ณง latest
๋ก ํ๊ทธ๊ฐ ์ง์ ๋๋๋ก ํ๊ฒ ์ต๋๋ค.
์ธ๋ด์ฌ์ ๊ฐ๊ณ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ ์ฃผ์ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค! ๐
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
738์๋ ์์ ์ฌํญ์ด ํฌํจ๋์ด ์์ผ๋ฉฐ @tediousjs/microsoft-contributors ํ์ ๋๊ตฐ๊ฐ๊ฐ ๊ฒํ ํ ํ ๋ณํฉ ๋ฐ ๋ฆด๋ฆฌ์ค๋ฉ๋๋ค.