Skip to content

Commit 9592a9b

Browse files
authored
feat: use github action and drop non-lts Node.js support (#4)
BREAKING CHANGE: Drop Node.js < 14 support
1 parent 3a27475 commit 9592a9b

11 files changed

Lines changed: 141 additions & 268 deletions

File tree

.eslintrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"extends": [
3+
"eslint-config-egg"
4+
]
5+
}

.github/workflows/nodejs.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ master ]
6+
7+
pull_request:
8+
branches: [ master ]
9+
10+
jobs:
11+
Job:
12+
name: Node.js
13+
uses: node-modules/github-actions/.github/workflows/node-test.yml@master
14+
with:
15+
os: 'ubuntu-latest, macos-latest, windows-latest'
16+
version: '14, 16, 18, 20'

.github/workflows/release.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: Release
2+
on:
3+
push:
4+
branches: [ master ]
5+
6+
jobs:
7+
release:
8+
name: Node.js
9+
uses: node-modules/github-actions/.github/workflows/node-release.yml@master
10+
secrets:
11+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
12+
GIT_TOKEN: ${{ secrets.GIT_TOKEN }}
13+
with:
14+
checkTest: false

.jshintignore

Lines changed: 0 additions & 4 deletions
This file was deleted.

.jshintrc

Lines changed: 0 additions & 95 deletions
This file was deleted.

.travis.yml

Lines changed: 0 additions & 6 deletions
This file was deleted.

AUTHORS

Lines changed: 0 additions & 5 deletions
This file was deleted.

index.js

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,6 @@
1-
/**!
2-
* sendmessage - index.js
3-
*
4-
* Copyright(c) fengmk2 and other contributors.
5-
* MIT Licensed
6-
*
7-
* Authors:
8-
* fengmk2 <fengmk2@gmail.com> (http://fengmk2.github.com)
9-
*/
1+
const { isMainThread, parentPort } = require('worker_threads');
102

11-
'use strict';
12-
13-
/**
14-
* Module dependencies.
15-
*/
16-
var { isMainThread, parentPort } = require('worker_threads');
17-
18-
var IS_NODE_DEV_RUNNER = /node\-dev$/.test(process.env._ || '');
3+
let IS_NODE_DEV_RUNNER = /node\-dev$/.test(process.env._ || '');
194
if (!IS_NODE_DEV_RUNNER && process.env.IS_NODE_DEV_RUNNER) {
205
IS_NODE_DEV_RUNNER = true;
216
}
@@ -38,24 +23,24 @@ module.exports = function send(child, message) {
3823

3924
// child is worker
4025
if (typeof child.postMessage === 'function') {
41-
return child.postMessage(message)
26+
return child.postMessage(message);
4227
}
4328
// in worker thread
4429
if (!isMainThread) {
45-
return parentPort.postMessage(message)
30+
return parentPort.postMessage(message);
4631
}
4732

4833
// cluster.fork(): child.process is process
4934
// childprocess.fork(): child is process
50-
var connected = child.process ? child.process.connected : child.connected;
35+
const connected = child.process ? child.process.connected : child.connected;
5136

5237
if (connected) {
5338
return child.send(message);
5439
}
5540

5641
// just log warnning message
57-
var pid = child.process ? child.process.pid : child.pid;
58-
var err = new Error('channel closed');
42+
const pid = child.process ? child.process.pid : child.pid;
43+
const err = new Error('channel closed');
5944
console.warn('[%s][sendmessage] WARN pid#%s channel closed, nothing send\nstack: %s',
6045
Date(), pid, err.stack);
6146
};

package.json

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,17 @@
77
"index.js"
88
],
99
"scripts": {
10-
"test": "mocha --check-leaks -R spec -t 5000 -r should test/*.test.js",
11-
"test-cov": "node node_modules/.bin/istanbul cover node_modules/.bin/_mocha -- --check-leaks -t 5000 -r should test/*.test.js",
12-
"test-travis": "node node_modules/.bin/istanbul cover node_modules/.bin/_mocha --report lcovonly -- --check-leaks -t 5000 -r should test/*.test.js",
13-
"jshint": "jshint .",
14-
"autod": "autod -w --prefix '~'",
15-
"cnpm": "npm install --registry=https://registry.npm.taobao.org",
16-
"contributors": "contributors -f plain -o AUTHORS"
10+
"test": "mocha --exit -t 5000 test/*.test.js",
11+
"ci": "c8 npm test",
12+
"lint": "eslint ."
1713
},
1814
"dependencies": {},
1915
"devDependencies": {
20-
"autod": "*",
21-
"contributors": "*",
22-
"istanbul": "*",
23-
"jshint": "*",
24-
"mm": "^1.5.1",
25-
"mocha": "*",
16+
"c8": "^7.14.0",
17+
"eslint": "^8.42.0",
18+
"eslint-config-egg": "^12.2.1",
19+
"mm": "^3.3.0",
20+
"mocha": "^10.2.0",
2621
"should": "*"
2722
},
2823
"homepage": "https://github.com/node-modules/sendmessage",
@@ -43,8 +38,8 @@
4338
"channel closed"
4439
],
4540
"engines": {
46-
"node": ">= 0.10.0"
41+
"node": ">= 14.17.0"
4742
},
48-
"author": "fengmk2 <fengmk2@gmail.com> (http://fengmk2.github.com)",
43+
"author": "fengmk2 <fengmk2@gmail.com> (https://github.com/fengmk2)",
4944
"license": "MIT"
5045
}

test/child.js

Lines changed: 7 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,23 @@
1-
/**!
2-
* sendmessage - test/child.js
3-
*
4-
* Copyright(c) fengmk2 and other contributors.
5-
* MIT Licensed
6-
*
7-
* Authors:
8-
* fengmk2 <fengmk2@gmail.com> (http://fengmk2.github.com)
9-
*/
1+
const { isMainThread, parentPort } = require('worker_threads');
2+
const sendmessage = require('..');
103

11-
'use strict';
12-
13-
/**
14-
* Module dependencies.
15-
*/
16-
17-
var { isMainThread, parentPort } = require('worker_threads');
18-
var sendmessage = require('../');
19-
20-
21-
var listener = function (message) {
4+
const listener = function(message) {
225
if (message.disconnect) {
236
process.disconnect();
247
}
258

269
sendmessage(process, {
2710
from: 'child',
28-
got: message
11+
got: message,
2912
});
30-
}
13+
};
3114
process.on('message', listener);
3215
if (!isMainThread) {
3316
// worker thread
34-
parentPort.on('message', listener)
17+
parentPort.on('message', listener);
3518
}
3619

3720
sendmessage(process, {
3821
from: 'child',
39-
hi: 'this is a message send to master'
22+
hi: 'this is a message send to master',
4023
});

0 commit comments

Comments
 (0)