socketsupply / socket-api Goto Github PK
View Code? Open in Web Editor NEWA Node.js / Posix-like JavaScript front-end API for the Socket Runtime
Home Page: https://sockets.sh
A Node.js / Posix-like JavaScript front-end API for the Socket Runtime
Home Page: https://sockets.sh
Here are all the tests that fail (except for the fs test, still investigating those).
IPC TESTS
not ok 25 should be equal
---
operator: equal
expected: "NotFoundError: Not found"
actual: undefined
stack: |-
Error: should be equal
at Test._assert (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:217:23)
at Test.equal (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:124:14)
at Test.fn (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4726:7)
at Test.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:252:29)
at TestRunner.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:340:38)
...
not ok 26 should be equal
---
operator: equal
expected: "NotFoundError"
actual: undefined
stack: |-
Error: should be equal
at Test._assert (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:217:23)
at Test.equal (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:124:14)
at Test.fn (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4727:7)
at Test.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:252:29)
at TestRunner.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:340:38)
...
not ok 27 should be equal
---
operator: equal
expected: "Not found"
actual: undefined
stack: |-
Error: should be equal
at Test._assert (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:217:23)
at Test.equal (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:124:14)
at Test.fn (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4728:7)
at Test.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:252:29)
at TestRunner.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:340:38)
...
not ok 28 should be truthy
---
operator: ok
expected: "truthy value"
actual: undefined
stack: |-
Error: should be truthy
at Test._assert (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:217:23)
at Test.ok (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:157:14)
at Test.fn (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4729:7)
at Test.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:252:29)
at TestRunner.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:340:38)
...
not ok 29 should be equal
---
operator: equal
expected: "NOT_FOUND_ERR"
actual: undefined
stack: |-
Error: should be equal
at Test._assert (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:217:23)
at Test.equal (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:124:14)
at Test.fn (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4730:7)
at Test.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:252:29)
at TestRunner.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:340:38)
...
ipc.send: (resolved) platform.event Result { err: null, data: {}, source: 'platform.event' }
NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'http://test/?foo=bar&index=0&seq=R2'.
at Error: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'http://test/?foo=bar&index=0&seq=R2'.
at XMLHttpRequest.send (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:3852:20)
at sendSync (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4268:12)
at Test.fn (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4723:22)
at Test.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:252:29)
at TestRunner.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:340:38) {
stack: 'Error: Failed to execute \'send\' on \'XMLHttpRequest\': Failed to load \'http://test/?foo=bar&index=0&seq=R2\'.\n at XMLHttpRequest.send (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:3852:20)\n at sendSync (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4268:12)\n at Test.fn (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4723:22)\n at Test.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:252:29)\n at TestRunner.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:340:38)',
code: 19
}
ipc.send: (resolved) test Result {
err:
Error: unsupported IPC message: test
at resolve-to-render-process.js:24:11
at resolve-to-render-process.js:36:3,
data: null,
source: 'test'
}
OS TESTS
# os.type()
not ok 3 os.type()
---
operator: ok
expected: "truthy value"
actual: false
stack: |-
Error: os.type()
at Test._assert (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:217:23)
at Test.ok (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:157:14)
at Test.fn (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4811:5)
at Test.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:252:29)
at TestRunner.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:340:38)
...
# os.networkInterfaces()
ipc.sendSync: http://os.networkInterfaces?index=0&seq=R3
ipc.sendSync: (resolved) os.networkInterfaces Result {
err: null,
data:
{
ipv4: { Loopback Pseudo-Interface 1: [Object], Wi-Fi: [Object] },
ipv6: { Loopback Pseudo-Interface 1: [Object], Wi-Fi: [Object] }
},
source: 'os.networkinterfaces'
}
not ok 4 iterface is "lo"
---
operator: ok
expected: "truthy value"
actual: false
stack: |-
Error: iterface is "lo"
at Test._assert (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:217:23)
at Test.ok (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:157:14)
at Test.fn (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4819:5)
at Test.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:252:29)
at TestRunner.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:340:38)
...
not ok 8 should be equal
---
operator: equal
expected: "\n"
actual: "\r\n"
stack: |-
Error: should be equal
at Test._assert (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:217:23)
at Test.equal (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:124:14)
at Test.fn (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4832:7)
at Test.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:252:29)
at TestRunner.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:340:38)
...
PROCESS TESTS
not ok 5 FIXME: not implemented for platform win32
---
operator: fail
expected: "fail not called"
actual: "fail called"
stack: |-
Error: FIXME: not implemented for platform win32
at Test._assert (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:217:23)
at Test.fail (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:146:14)
at Test.fn (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:5075:7)
at Test.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:252:29)
at TestRunner.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:340:38)
...
not ok 9 process.platform is correct
---
operator: ok
expected: "truthy value"
actual: false
stack: |-
Error: process.platform is correct
at Test._assert (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:217:23)
at Test.ok (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:157:14)
at Test.fn (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:5084:5)
at Test.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:252:29)
at TestRunner.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:340:38)
...
DGRAM TESTS (stalls)
ok 27 listening
ipc.send: udp.bind {
id: 5476783391059466891n,
port: 0,
address: '0.0.0.0',
ipv6Only: false,
reuseAddr: false
}
ipc.send: (resolved) udp.bind Result {
err: null,
data:
{
address: '0.0.0.0',
event: 'listening',
family: 'IPv4',
id: '5476783391059466891',
port: 51181
},
source: 'udp.bind'
}
ipc.send: os.bufferSize { id: 5476783391059466891n, buffer: 0 }
ipc.send: (resolved) os.bufferSize Result {
err: null,
data: { id: '5476783391059466891', size: 65536 },
source: 'os.bufferSize'
}
ipc.send: os.bufferSize { id: 5476783391059466891n, buffer: 1 }
ipc.send: (resolved) os.bufferSize Result {
err: null,
data: { id: '5476783391059466891', size: 65536 },
source: 'os.bufferSize'
}
ipc.sendSync: http://udp.getSockName?id=5476783391059466891&index=0&seq=R19
ipc.sendSync: (resolved) udp.getSockName Result {
err: null,
data: { address: '0.0.0.0', family: 'IPv4', id: '5476783391059466891', port: 51181 },
source: 'udp.getsockname'
}
ipc.write: http://udp.send?id=5476783391059466891&port=41234&address=0.0.0.0&index=0&seq=R20 <Buffer 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 ... >
ipc.write: (resolved) udp.send Result {
err:
Error: address not available
at request2.onreadystatechange (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4547:31) {
id: '5476783391059466891'
},
data: null,
source: 'udp.send'
}
Error: address not available
at request2.onreadystatechange (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4547:31) {
id: '5476783391059466891'
}
Closing Socket on garbage collection
Closing Socket on garbage collection
Closing Socket on garbage collection
Closing Socket on garbage collection
Closing Socket on garbage collection
Closing Socket on garbage collection
Closing Socket on garbage collection
Closing Socket on garbage collection
ipc.send: udp.close { id: 13996934416363807931n }
ipc.send: udp.close { id: 1834441705205658767n }
ipc.send: udp.close { id: 784396731631633194n }
ipc.send: udp.close { id: 11119600709580158024n }
ipc.send: udp.close { id: 2825146262412912744n }
ipc.send: udp.close { id: 10118291721964400713n }
ipc.send: udp.close { id: 17383455779135135238n }
ipc.send: udp.close { id: 14146105111531599397n }
ipc.send: (resolved) udp.close Result {
err:
NotFoundError: Not running
at onresolve (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4480:29)
at resolve-to-render-process.js:35:8
at resolve-to-render-process.js:36:3 {
id: '13996934416363807931',
code: 'NOT_FOUND_ERR'
},
data: null,
source: 'udp.close'
}
ipc.send: (resolved) udp.close Result {
err:
NotFoundError: Not running
at onresolve (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4480:29)
at resolve-to-render-process.js:35:8
at resolve-to-render-process.js:36:3 {
id: '1834441705205658767',
code: 'NOT_FOUND_ERR'
},
data: null,
source: 'udp.close'
}
ipc.send: (resolved) udp.close Result {
err:
NotFoundError: Not running
at onresolve (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4480:29)
at resolve-to-render-process.js:35:8
at resolve-to-render-process.js:36:3 {
id: '784396731631633194',
code: 'NOT_FOUND_ERR'
},
data: null,
source: 'udp.close'
}
ipc.send: (resolved) udp.close Result {
err:
NotFoundError: Not running
at onresolve (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4480:29)
at resolve-to-render-process.js:35:8
at resolve-to-render-process.js:36:3 {
id: '11119600709580158024',
code: 'NOT_FOUND_ERR'
},
data: null,
source: 'udp.close'
}
ipc.send: (resolved) udp.close Result {
err:
NotFoundError: Not running
at onresolve (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4480:29)
at resolve-to-render-process.js:35:8
at resolve-to-render-process.js:36:3 {
id: '2825146262412912744',
code: 'NOT_FOUND_ERR'
},
data: null,
source: 'udp.close'
}
ipc.send: (resolved) udp.close Result {
err:
NotFoundError: Not running
at onresolve (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4480:29)
at resolve-to-render-process.js:35:8
at resolve-to-render-process.js:36:3 {
id: '10118291721964400713',
code: 'NOT_FOUND_ERR'
},
data: null,
source: 'udp.close'
}
ipc.send: (resolved) udp.close Result {
err:
NotFoundError: Not running
at onresolve (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4480:29)
at resolve-to-render-process.js:35:8
at resolve-to-render-process.js:36:3 {
id: '17383455779135135238',
code: 'NOT_FOUND_ERR'
},
data: null,
source: 'udp.close'
}
ipc.send: (resolved) udp.close Result {
err:
NotFoundError: Not running
at onresolve (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4480:29)
at resolve-to-render-process.js:35:8
at resolve-to-render-process.js:36:3 {
id: '14146105111531599397',
code: 'NOT_FOUND_ERR'
},
data: null,
source: 'udp.close'
}
RUNTIME TESTS (stalls)
not ok 14 runtime.config.input is read-only
not ok 16 runtime.config.build is read-only
not ok 18 runtime.config.output is read-only
not ok 20 runtime.config.executable is read-only
not ok 22 runtime.config.flags is read-only
not ok 24 runtime.config.version is read-only
not ok 26 runtime.config.revision is read-only
not ok 28 runtime.config.description is read-only
not ok 30 runtime.config.lang is read-only
not ok 32 runtime.config.copyright is read-only
not ok 34 runtime.config.maintainer is read-only
not ok 36 runtime.config.bundle_identifier is read-only
not ok 38 runtime.config.env is read-only
not ok 40 runtime.config.window_width is read-only
not ok 42 runtime.config.window_height is read-only
not ok 44 runtime.config.debug_flags is read-only
not ok 46 runtime.config.mac_cmd is read-only
not ok 48 runtime.config.linux_cmd is read-only
not ok 50 runtime.config.win_cmd is read-only
not ok 52 runtime.config.ios_simulator_device is read-only
not ok 54 runtime.config.android_manifest_permissions is read-only
not ok 56 runtime.config.headless is read-only
not ok 58 runtime.config.name is read-only
# send
ipc.send: window.show {
window: 2,
url: 'file://C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0//index_second_window.html',
title: 'Hello World',
width: 400,
height: 400,
index: 0
}
ipc.send: (resolved) window.show Result { err: null, data: 0, source: 'window.show' }
BACKEND TESTS
not ok 1 returns a result with the correct keys
---
operator: deepEqual
expected: |-
[
"argv",
"cmd",
"path"
]
actual: |-
[
"0",
...
"99"
]
stack: |-
Error: returns a result with the correct keys
at Test._assert (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:217:23)
at Test.deepEqual (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:102:14)
at Test.fn (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4650:7)
at async Test.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:254:11)
at async TestRunner.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:340:26)
...
not ok 5 returns a result with the correct keys
---
operator: deepEqual
expected: |-
[
"argv",
"cmd",
"path"
]
actual: |-
[
"0",
...
"99"
]
stack: |-
Error: returns a result with the correct keys
at Test._assert (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:217:23)
at Test.deepEqual (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:102:14)
at Test.fn (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4670:7)
at async Test.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:254:11)
at async TestRunner.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:340:26)
...
not ok 7 returns a result with the correct keys
---
operator: deepEqual
expected: |-
[
"argv",
"cmd",
"path"
]
actual: |-
[
"0",
...
"99"
]
stack: |-
Error: returns a result with the correct keys
at Test._assert (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:217:23)
at Test.deepEqual (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:102:14)
at Test.fn (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:4679:7)
at async Test.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:254:11)
at async TestRunner.run (file:///C:/projects/ssc/io/test/build/win/socket-tests-dev-v1.0.0/index.js:340:26)
...
FS TESTS (after manually copying fixtures to TMP)
# fs.appendFile
# fs.chmod
not ok 5 file.txt mode is 777
---
operator: equal
expected: 511
actual: 438
stack: |-
Error: file.txt mode is 777
at Test._assert (file:///C:/projects/socket-api/test/build/win/socket-tests-dev-v1.0.0/index.js:290:23)
at Test.equal (file:///C:/projects/socket-api/test/build/win/socket-tests-dev-v1.0.0/index.js:160:14)
at file:///C:/projects/socket-api/test/build/win/socket-tests-dev-v1.0.0/index.js:8687:11
at file:///C:/projects/socket-api/test/build/win/socket-tests-dev-v1.0.0/index.js:8567:5
at async visit (file:///C:/projects/socket-api/test/build/win/socket-tests-dev-v1.0.0/index.js:8242:5)
...
# fs.copyFile
# fs.createReadStream
not ok 8 fixtures/file.txt contents match "test 123"
---
operator: ok
expected: "truthy value"
actual: false
stack: |-
Error: fixtures/file.txt contents match "test 123"
at Test._assert (file:///C:/projects/socket-api/test/build/win/socket-tests-dev-v1.0.0/index.js:290:23)
at Test.ok (file:///C:/projects/socket-api/test/build/win/socket-tests-dev-v1.0.0/index.js:210:14)
at ReadStream.<anonymous> (file:///C:/projects/socket-api/test/build/win/socket-tests-dev-v1.0.0/index.js:8741:9)
at ReadStream.emit (file:///C:/projects/socket-api/test/build/win/socket-tests-dev-v1.0.0/index.js:3391:7)
at ReadStream.emit (file:///C:/projects/socket-api/test/build/win/socket-tests-dev-v1.0.0/index.js:6303:18)
at ReadableState.updateNonPrimary (file:///C:/projects/socket-api/test/build/win/socket-tests-dev-v1.0.0/index.js:5787:14)
at ReadableState.update (file:///C:/projects/socket-api/test/build/win/socket-tests-dev-v1.0.0/index.js:5781:12)
at ReadableState.afterRead (file:///C:/projects/socket-api/test/build/win/socket-tests-dev-v1.0.0/index.js:5908:10)
at ReadStream._read (file:///C:/projects/socket-api/test/build/win/socket-tests-dev-v1.0.0/index.js:6354:5)
...
# fs.createWriteStream
@param {string=}
instead of param {?string}
(https://jsdoc.app/tags-param.html#optional-parameters-and-default-values)@param {string} [somebody=John Doe]
. Add square brackets parsing@param {(string|number)=} param
Here: https://github.com/socketsupply/io/blob/master/ipc.js#L47
export const postMessage = window.__ipc.postMessage
Technically, injected primordials SHOULD exist before any user space script runs, but this is not true for Android because of when and how we inject the runtime preload VM script at page load.
udp bind should return this, but it returned a weird {err:}
object, but that error is also weird.
https://github.com/socketsupply/io/blob/master/dgram.js#L141
err: NotFoundError: Not found
column: 10
line: 56431
message: "Not found"
sourceURL: "file:///home/dominic/c/dogfood/build/linux/dogfood-dev_v0.0.1-1_amd64/opt/dogfood-dev/index.js"
stack: "rr@file:///home/dominic/c/dogfood/build/linux/dogfood-dev_v0.0.1-1_amd64/opt/dogfood-dev/index.js:56431:1…"
url: "ipc://udpBind?serverId=4305043373530229426&address=0.0.0.0&port=3456&reuseAddr=false&ipv6Only=false&index=0&seq=R16"
https://github.com/socketsupply/io/blob/master/dgram.js#L85
to be consistent with node, should return this
It looks like we are not exporting default
from ./path.js
in ./index.js
which results in an object that doest not contain the properties we need.
https://github.com/socketsupply/io#eol
it's exported but undocumented.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.