Skip to content

Commit 496231d

Browse files
committedOct 25, 2021
feat: backward support for node 8
1 parent aa26752 commit 496231d

File tree

12 files changed

+35
-13
lines changed

12 files changed

+35
-13
lines changed
 

‎demo/cjs/lib/csv.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ csv
2121
}))
2222
// Convert objects into a stream
2323
.pipe(csv.stringify({
24-
quoted: true
24+
quoted: true,
25+
encoding: 'utf8' // Support for Node.js 8
2526
}))
2627
// Print the CSV stream to stdout
2728
.pipe(process.stdout)

‎demo/cjs/lib/csv_sync.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11

22
// Import the package sync module
3-
const csv = require('csv/sync');
3+
const version = parseInt(/^v(\d+)/.exec(process.version)[1], 10)
4+
const csv = require(
5+
version >= 14 ? 'csv/sync' : 'csv/dist/cjs/sync.cjs'
6+
);
47

58
// Generate 20 records
69
const input = csv.generate({

‎demo/cjs/lib/csv_sync.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11

22
// Import the package sync module
3-
import * as csv from 'csv/sync';
3+
// Node.js >= 14
4+
// import * as csv from 'csv/sync';
5+
// Node.js < 14
6+
import * as csv from 'csv/dist/cjs/sync';
47

58
// Generate 20 records
69
const input: string = csv.generate({

‎demo/cjs/lib/parse_sync.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11

22
const assert = require('assert');
3-
const { parse } = require('csv-parse/sync');
3+
const version = parseInt(/^v(\d+)/.exec(process.version)[1], 10)
4+
const { parse } = require(
5+
version >= 14 ? 'csv-parse/sync' : 'csv-parse/dist/cjs/sync.cjs'
6+
);
47

58
// Create the parser
69
const records = parse([

‎demo/cjs/lib/parse_sync.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11

22
import assert from 'assert'
3-
import { parse } from 'csv-parse/sync'
3+
// Node.js >= 14
4+
// import { parse } from 'csv-parse/sync'
5+
// Node.js < 14
6+
import { parse } from 'csv-parse/dist/cjs/sync'
47

58
// Create the parser
69
const records: [] = parse([

‎demo/cjs/test/node8.sh

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/env bash
2+
3+
for script in ./lib/*.js; do
4+
echo "################## $script"
5+
node $script
6+
done

‎demo/cjs/test/samples.coffee

+1-3
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ describe 'Samples', ->
1818
when '.js'
1919
'node'
2020
when '.ts'
21-
'ts-node'
22-
# Note, also works with:
23-
# 'node --loader ts-node/esm'
21+
'ts-node' # Also works with: `node --loader ts-node/esm`
2422
exec "#{bin} #{path.resolve dir, sample}", (err, stdout, stderr) ->
2523
callback err

‎packages/csv-generate/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,10 @@
6161
"directory": "packages/csv-generate"
6262
},
6363
"scripts": {
64-
"build": "npm run build:rollup && npm run build:ts",
64+
"build": "npm run build:rollup && npm run build:ts && npm run build:node8",
6565
"build:rollup": "npx rollup -c",
6666
"build:ts": "cp lib/*.ts dist/cjs && cp lib/*.ts dist/esm",
67+
"build:node8": "cp dist/cjs/sync.cjs dist/cjs/sync.js",
6768
"lint": "npm run lint:lib && npm run lint:samples && npm run lint:test",
6869
"lint:lib": "eslint --fix lib/*.js",
6970
"lint:samples": "eslint --fix samples/*.js",

‎packages/csv-parse/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,10 @@
8585
"directory": "packages/csv-parse"
8686
},
8787
"scripts": {
88-
"build": "npm run build:rollup && npm run build:ts",
88+
"build": "npm run build:rollup && npm run build:ts && npm run build:node8",
8989
"build:rollup": "npx rollup -c",
9090
"build:ts": "cp lib/*.ts dist/cjs && cp lib/*.ts dist/esm",
91+
"build:node8": "cp dist/cjs/sync.cjs dist/cjs/sync.js",
9192
"lint": "npm run lint:lib && npm run lint:samples && npm run lint:test",
9293
"lint:lib": "eslint --fix lib/*.js",
9394
"lint:samples": "eslint --fix samples/*.js",

‎packages/csv-stringify/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,10 @@
6161
"directory": "packages/csv-stringify"
6262
},
6363
"scripts": {
64-
"build": "npm run build:rollup && npm run build:ts",
64+
"build": "npm run build:rollup && npm run build:ts && npm run build:node8",
6565
"build:rollup": "npx rollup -c",
6666
"build:ts": "cp lib/*.ts dist/cjs && cp lib/*.ts dist/esm",
67+
"build:node8": "cp dist/cjs/sync.cjs dist/cjs/sync.js",
6768
"lint": "npm run lint:lib && npm run lint:samples && npm run lint:test",
6869
"lint:lib": "eslint --fix lib/*.js",
6970
"lint:samples": "eslint --fix samples/*.js",

‎packages/csv/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,10 @@
7979
"directory": "packages/csv"
8080
},
8181
"scripts": {
82-
"build": "npm run build:rollup && npm run build:ts",
82+
"build": "npm run build:rollup && npm run build:ts && npm run build:node8",
8383
"build:rollup": "npx rollup -c",
8484
"build:ts": "cp lib/*.ts dist/cjs && cp lib/*.ts dist/esm",
85+
"build:node8": "cp dist/cjs/sync.cjs dist/cjs/sync.js",
8586
"lint": "npm run lint:lib && npm run lint:samples && npm run lint:test",
8687
"lint:lib": "eslint --fix lib/*.js",
8788
"lint:samples": "eslint --fix samples/*.js",

‎packages/stream-transform/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,10 @@
6161
"directory": "packages/stream-transform"
6262
},
6363
"scripts": {
64-
"build": "npm run build:rollup && npm run build:ts",
64+
"build": "npm run build:rollup && npm run build:ts && npm run build:node8",
6565
"build:rollup": "npx rollup -c",
6666
"build:ts": "cp lib/*.ts dist/cjs && cp lib/*.ts dist/esm",
67+
"build:node8": "cp dist/cjs/sync.cjs dist/cjs/sync.js",
6768
"lint": "npm run lint:lib && npm run lint:samples && npm run lint:test",
6869
"lint:lib": "eslint --fix lib/*.js",
6970
"lint:samples": "eslint --fix samples/*.js",

0 commit comments

Comments
 (0)
Please sign in to comment.