profile
viewpoint
龙腾道 LongTengDao 中国 上海 www.longtengdao.com 清晨编程午后绘画,饭后从事批判;但不因此成为工人、文青和理论家。 Code in the morning, draw in the afternoon, criticise after dinner, without ever becoming worker, self-deceiver or theorist.

LongTengDao/j-toml 45

A Node.js implementation of TOML written by LongTengDao. Belong to "Plan J"./龙腾道为汤小明语写的 Node.js 实现。从属于“简计划”。

LongTengDao/j-vue 6

Vue front-end and back-end tool. Belong to "Plan J"./Vue 前后端工具。从属于“简计划”。

LongTengDao/j-sanddoc 2

Font-end rich text display plan. Belong to "Plan J"./前端富文本展示方案。从属于“简计划”。

LongTengDao/original-fs 2

Ensure that the correct module is loaded in a non-Electron environment./在非 Electron 环境中确保加载正确的模块。

LongTengDao/j-regexp 1

More readable way for creating RegExp. Belong to "Plan J"./可读性更好的正则表达式创建方式。从属于“简计划”。

LongTengDao/j-ts 1

Pure transpiler for TypeScript. Belong to "Plan J"./TypeScript 纯转译工具。从属于“简计划”。

LongTengDao/MarkDoc 1

A Markdown-like TabDoc-based e-book writing format by LongTengDao./一个由 龙腾道 研发,基于 TabDoc,类 Markdown 的电子书编纂格式。

LongTengDao/acorn-globals 0

Global references detection tool adapted from acorn-globals. Belong to "Plan J"./改编自 acorn-globals 的全局引用检测工具。从属于“简计划”。

LongTengDao/j-eol 0

EOL util. Belong to "Plan J"./换行符相关共享实用程序。从属于“简计划”。

LongTengDao/j-es 0

ECMAScript syntax util. Belong to "Plan J"./ECMAScript 语法相关共享实用程序。从属于“简计划”。

issue openednodejs/node

resetAndDestroy can not be called on tlssocket?

Details

Isn't tlssocket kind of TCP? How to send RST on a tls connection?

Node.js version

18

Example code

const tlssocket = require('tls').connect({
    port: 443,
    host: 'www.example.com',
})
.on('secureConnect', () => {
    tlssocket.resetAndDestroy();
});
TypeError [ERR_INVALID_HANDLE_TYPE]: This handle type cannot be sent
    at new NodeError (node:internal/errors:393:5)
    at Socket.resetAndDestroy (node:net:700:13)
    at TLSSocket.<anonymous> (/path/to/test.js)
    at TLSSocket.emit (node:events:513:28)
    at TLSSocket.onConnectSecure (node:_tls_wrap:1576:10)
    at TLSSocket.emit (node:events:513:28)
    at TLSSocket._finishInit (node:_tls_wrap:952:8)
    at ssl.onhandshakedone (node:_tls_wrap:733:12)

Operating system

Not applicable.

Scope

runtime

Module and version

net tls

created time in 9 months

issue commentrollup/rollup

__NO_SIDE_EFFECTS__ support value as function

the first one intend to express that, the value new Proxy(()=>{},{}) is a no-side-effects function.

LongTengDao

comment created time in 2 months

issue commentnodejs/security-wg

How to includes "," or "*" char self in --allow-fs-read?

a gui sandbox software, drag a folder in and run it. i can't control what's included in users' folder path. currently, i can only shut down the software when path including special chars.

LongTengDao

comment created time in 2 months

issue commentnodejs/security-wg

How to includes "," or "*" char self in --allow-fs-read?

And * conflict can also use --permission-fs-path-matcher= to resolve. Then I may use --permission-fs-path-delimiter=//,// --permission-fs-path-matcher=//*// to end this issue. This way can also add other special functional char in the furture via --permission-fs-path-xxx=.

LongTengDao

comment created time in 2 months

issue commentnodejs/security-wg

How to includes "," or "*" char self in --allow-fs-read?

I prefer to use --permission-fs-path-delimiter=// (any other char will still meet possible conflict) in my use case to resolve delimiter problem forever without break change.

LongTengDao

comment created time in 2 months

issue closedmicrosoft/TypeScript

Support `decodeURIComponent` in import url

Suggestion

🔍 Search Terms

✅ Viability Checklist

My suggestion meets these guidelines:

  • [x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
  • [x] This wouldn't change the runtime behavior of existing JavaScript code
  • [x] This could be implemented without emitting different JS based on the types of the expressions
  • [x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
  • [x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion

Currently, ts treat import url as path, not url (remove search / hash and decodeURIComponent firstly).

Is it possible to support decodeURIComponent for import url, at least for "moduleResolution": "NodeNext" / "bundler", or url in format with scheme like http://example.com/%3F.js?version or file:./path%25, because that's the standard behaviour of Node.js / browser?

📃 Motivating Example

import './path%25.mjs';// actually expect './path%.mjs', not './path%25.mjs'

💻 Use Cases

import filename including \ % ? #.

closed time in 2 months

LongTengDao

issue openedrollup/rollup

__NO_SIDE_EFFECTS__ support value as function

Feature Use Case


const noop = /*#__NO_SIDE_EFFECTS__*/new Proxy(()=>{},{});

noop();

Feature Proposal

sample above will be ignored.

there seems no reason not to make it same as:


const noop = /*#__NO_SIDE_EFFECTS__*/()=>{};

noop();

created time in 2 months

startedpuppeteer/puppeteer

started time in 2 months

issue openedmicrosoft/TypeScript

Support `decodeURIComponent` in import url

Suggestion

🔍 Search Terms

✅ Viability Checklist

My suggestion meets these guidelines:

  • [ ] This wouldn't be a breaking change in existing TypeScript/JavaScript code
  • [ ] This wouldn't change the runtime behavior of existing JavaScript code
  • [ ] This could be implemented without emitting different JS based on the types of the expressions
  • [ ] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
  • [ ] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion

Currently, ts treat url of import as path (/path#.ts), not url (file:///path%23.ts).

Is it possible to support decodeURIComponent in import url, at least for "moduleResolution": "Node" / "NodeNext" / "bundler", because that's the standard behaviour of Node.js / browser?

📃 Motivating Example

import './a%23b';// not equal to './a#b'

💻 Use Cases

import path including \ % ? #.

created time in 2 months

PR closed microsoft/TypeScript

Reviewers
Symbol.species should on constructor, not instance For Backlog Bug

<!-- Thank you for submitting a pull request!

Please verify that:

  • [ ] There is an associated issue in the Backlog milestone (required)
  • [x] Code is up-to-date with the main branch
  • [ ] You've successfully run gulp runtests locally
  • [ ] There are new or updated unit tests validating the change

Refer to CONTRIBUTING.MD for more details. https://github.com/Microsoft/TypeScript/blob/main/CONTRIBUTING.md

** Please don't send typo fixes! ** Please don't send a PR solely for the purpose of fixing a typo, unless that typo truly hurts understanding of the text. Each PR represents work for the maintainers, and that work should provide commensurate value.

If you're interested in sending a PR, the issue tracker has many issues marked help wanted. -->

Fixes #50168

+19 -19

7 comments

9 changed files

LongTengDao

pr closed time in 2 months

pull request commentmicrosoft/TypeScript

Symbol.species should on constructor, not instance

Do you want to keep working on this? Otherwise I'd like to close it to reduce the number of open PRs.

Sorry, I can't...

LongTengDao

comment created time in 2 months

issue closedLongTengDao/j-toml

使用的时候遇到了一个报错

ERROR in ./node_modules/@ltd/j-toml/index.js 356:28
Module parse failed: Unexpected token (356:28)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
| 
| class mark {
>                        lineIndex = lineIndex;
|                        type                                                                                           ;
|                        restColumn        ;

closed time in 2 months

DarrenLuo

issue commentLongTengDao/j-toml

使用的时候遇到了一个报错

Your parser doesn't support class field syntax. Update webpack version to resolve this.

DarrenLuo

comment created time in 2 months

issue closednodejs/help

where does non-zero data in Buffer.allocUnsafeSlow come from?

Details

  1. [ ] from any os memory on the machine
  2. [ ] only from the process itself gc

If 1, I think need to use --zero-fill-buffers for sandbox process; if 2, without unnecessary use of --zero-fill-buffers, there will be better performance.

So which is it? And I'm I right that if 1, --zero-fill-buffers is unnecessary for security? Or it will still leak some information I can't imagine?

Node.js version

Any, at least for the future.

Example code

No response

Operating system

any

Scope

runtime

Module and version

No response

closed time in 3 months

LongTengDao

issue commentnodejs/help

where does non-zero data in Buffer.allocUnsafeSlow come from?

Thank you!

LongTengDao

comment created time in 3 months

issue openednodejs/help

where does non-zero data in Buffer.allocUnsafeSlow come from?

Details

  1. [ ] from any os memory on the machine
  2. [ ] only from the process itself gc

If 1, I think need to use --zero-fill-buffers for sandbox process; if 2, without unnecessary use of --zero-fill-buffers, there will be better performance.

So which is it? And I'm I right that if 1, --zero-fill-buffers is unnecessary for security? Or it will still leak some information I can't imagine?

Node.js version

Any, at least for the future.

Example code

No response

Operating system

any

Scope

runtime

Module and version

No response

created time in 3 months

issue closednodejs/security-wg

Can I use --experimental-permission in new worker_threads.Worder's execArgv?

The doc said that's "process-based permission". But it's actually based on execArgv, does it mean that, it can also be used for create worker by design (and "process-based" is a only provisional loose wording used to emphasize the difference from "module-based")?

closed time in 3 months

LongTengDao

issue commentnodejs/security-wg

Can I use --experimental-permission in new worker_threads.Worder's execArgv?

You can call main thread-based permission, yeah.

What about other threads?

What's your use case?

Thank you for your attentive.

I'm making a sandbox util to run test pure code and keep them away from disk.

There are many codes to run, so if I can use new worker_threads.Worker 100 times instead of child_process.fork 100 times, the cost will be less.

Currently, my code looks like sample 1 because the docs said it's "process-based permission":

function fn (id) {
    return child_process.fork(`/path/to/${id}.js`, [], {
        execArgv: [ '--experimental-permission', '--allow-fs-read=/path/to/${id}.js' ]
    });
}

And if actually it's "thread-based permission", I want to make it looking like sample 2:

function fn (id) {
    return worker_threads.Worker(`/path/to/${id}.js`, {
        execArgv: [ '--experimental-permission', '--allow-fs-read=/path/to/${id}.js' ]
    });
}
LongTengDao

comment created time in 3 months

issue commentnodejs/security-wg

Can I use --experimental-permission in new worker_threads.Worder's execArgv?

So actually --experimental-permission is not a "process-based permission", but "thread-based permission"?

LongTengDao

comment created time in 3 months

issue openednodejs/security-wg

Can I use --experimental-permission in new worker_threads.Worder's execArgv?

The doc said that's "process-based permission". But it's actually based on execArgv, does it mean that, it can also be used for create worker by design (and "process-based" is a only provisional loose wording used to emphasize the difference from "module-based")?

created time in 3 months

issue commentnodejs/security-wg

How to includes "," or "*" char self in --allow-fs-read?

--experimental-policy accept file:/// url, if we also support --allow-fs-read=file:///path%2C1/%2A,file:///path%2C2/* may resolve this problem.

@RafaelGSS

LongTengDao

comment created time in 3 months

pull request commentrollup/rollup

safe hasOwnProperty call

@lukastaegert here ready if I add the test right

LongTengDao

comment created time in 3 months

push eventLongTengDao-fork-C/rollup

龙腾道

commit sha fd6b228e1cbc4b5e40268f4af072f6c1250046f3

Update _config.js

view details

push time in 3 months

push eventLongTengDao-fork-C/rollup

龙腾道

commit sha 617a3238bbb572497739275932b062e45e39077a

forms

view details

push time in 3 months

push eventLongTengDao-fork-C/rollup

龙腾道

commit sha e09cdbb3b68a93965cd30f886adfec1a2196d27e

forms

view details

push time in 3 months

push eventLongTengDao-fork-C/rollup

龙腾道

commit sha 966141aee4484c256ce638050c5e0fa650de9ca9

Update _config.js

view details

push time in 3 months

PR closed xyz487/me

防阻塞
+1 -2

0 comment

1 changed file

LongTengDao

pr closed time in 3 months

push eventLongTengDao-fork-C/rollup

龙腾道

commit sha 9f618fde42ad4f23e7da26c1a6abae1a64ffc739

update forms

view details

push time in 3 months

push eventLongTengDao-fork-C/rollup

龙腾道

commit sha 473b3f1a70e390b9dbe1783c6dc2a94bb29d93ef

Update _config.js

view details

push time in 3 months

push eventLongTengDao-fork-C/rollup

龙腾道

commit sha 02ac32355df511ed086f21136a077eb86f415033

Update _config.js

view details

push time in 3 months

more