Skip to content

Commit e1c44e5

Browse files
committed
feature: @putout/plugin-nodejs: declare: buffer: add
1 parent a48cd1a commit e1c44e5

File tree

8 files changed

+37
-2
lines changed

8 files changed

+37
-2
lines changed

packages/plugin-nodejs/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,7 @@ process.exit();
254254
255255
Add declarations to built-in node.js modules:
256256
257+
- [buffer](https://nodejs.org/dist/latest-v24.x/docs/api/buffer.html);
257258
- [child_process](https://nodejs.org/dist/latest-v24.x/docs/api/child_process.html);
258259
- [events](https://nodejs.org/dist/latest-v24.x/docs/api/events.html);
259260
- [fs](https://nodejs.org/dist/latest-v24.x/docs/api/fs.html);
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import {createTest} from '@putout/test';
2+
import montag from 'montag';
3+
import * as declare from './index.js';
4+
5+
const test = createTest(import.meta.url, {
6+
plugins: [
7+
['nodejs/declare', declare],
8+
],
9+
});
10+
11+
test('putout: plugin: nodejs: declare: buffer: setTimeout', (t) => {
12+
t.transformCode('Buffer.from([])', montag`
13+
import {Buffer} from 'node:buffer';
14+
15+
Buffer.from([]);
16+
17+
`);
18+
t.end();
19+
});

packages/plugin-nodejs/lib/declare/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import buffer from './modules/buffer.js';
12
import child_process from './modules/child_process.js';
23
import util from './modules/util.js';
34
import url from './modules/url.js';
@@ -13,6 +14,7 @@ import events from './modules/events.js';
1314
import timers from './modules/timers.js';
1415

1516
export const declare = () => ({
17+
...buffer,
1618
...events,
1719
...fs,
1820
...fsPromises,
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export default {
2+
Blob: `import {Blob} from 'node:buffer'`,
3+
Buffer: `import {Buffer} from 'node:buffer'`,
4+
File: `import {File} from 'node:buffer'`,
5+
isAscii: `import {isAscii} from 'node:buffer'`,
6+
isUtf8: `import {isUtf8} from 'node:buffer'`,
7+
resolveObjectURL: `import {resolveObjectURL} from 'node:buffer'`,
8+
transcode: `import {transcode} from 'node:buffer'`,
9+
};

packages/plugin-nodejs/scripts/create-declare.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ if (!name) {
99
process.exit(1);
1010
}
1111

12-
const data = await import(`${name}/promises`);
12+
const data = await import(String(name));
1313
const result = {};
1414

1515
for (const key of keys(data)) {
@@ -19,7 +19,7 @@ for (const key of keys(data)) {
1919
if (key === 'default')
2020
continue;
2121

22-
result[key] = `import {${key}} from 'node:${name}/promises'`;
22+
result[key] = `import {${key}} from 'node:${name}'`;
2323
}
2424

2525
const output = `export default ${JSON.stringify(result, null, 4) + '\n'}`;

packages/plugin-nodejs/test/fixture/convert-buffer-to-buffer-alloc-fix.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import {Buffer} from 'node:buffer';
2+
13
const n = 100;
24
const buf = [];
35

packages/putout/lib/loader/loader.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import process from 'node:process';
2+
import {Buffer} from 'node:buffer';
23
import {putoutAsync} from '../putout.js';
34
import ignores from '../ignores.js';
45
import parseOptions from '../parse-options/index.js';

packages/putout/lib/loader/loader.spec.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import {Buffer} from 'node:buffer';
12
import {test, stub} from 'supertape';
23
import {
34
load,

0 commit comments

Comments
 (0)