Skip to content

Commit

Permalink
feat: enhance project configuration with modern setup
Browse files Browse the repository at this point in the history
  • Loading branch information
cheton committed Nov 17, 2024
1 parent 7dfe560 commit 937dbcd
Show file tree
Hide file tree
Showing 23 changed files with 4,597 additions and 561 deletions.
10 changes: 0 additions & 10 deletions .babelrc

This file was deleted.

3 changes: 3 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
build
dist
node_modules
8 changes: 0 additions & 8 deletions .eslintrc

This file was deleted.

14 changes: 14 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module.exports = {
extends: 'eslint:recommended',
parser: '@babel/eslint-parser',
env: {
browser: true,
node: true,
jest: true,
},
plugins: [
'@babel',
],
rules: {
},
};
32 changes: 32 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: CI

on:
push:
branches:
- master
pull_request:
workflow_dispatch:

permissions:
contents: write

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.x]
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- run: yarn
- run: |
yarn run eslint
yarn run build
yarn run test
- uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
6 changes: 3 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
node_modules
/.nyc_output
/lib
/build
/coverage
/dist
node_modules
3 changes: 2 additions & 1 deletion .npmignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
/coverage
package-lock.json
yarn.lock
8 changes: 0 additions & 8 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2015-2017 Cheton Wu
Copyright (c) 2015-present Cheton Wu

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# gcode-interpreter [![build status](https://travis-ci.org/cncjs/gcode-interpreter.svg?branch=master)](https://travis-ci.org/cncjs/gcode-interpreter) [![Coverage Status](https://coveralls.io/repos/cncjs/gcode-interpreter/badge.svg?branch=master&service=github)](https://coveralls.io/github/cncjs/gcode-interpreter?branch=master)
# gcode-interpreter [![Coverage Status](https://coveralls.io/repos/cncjs/gcode-interpreter/badge.svg?branch=master&service=github)](https://coveralls.io/github/cncjs/gcode-interpreter?branch=master)

[![NPM](https://nodei.co/npm/gcode-interpreter.png?downloads=true&stars=true)](https://www.npmjs.com/package/gcode-interpreter)

Expand Down
6 changes: 6 additions & 0 deletions babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
extends: '@trendmicro/babel-config',
presets: [
'@babel/preset-env',
],
};
78 changes: 43 additions & 35 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,59 +1,67 @@
{
"name": "gcode-interpreter",
"version": "2.1.0",
"version": "3.0.0",
"description": "G-code Interpreter",
"author": "Cheton Wu <[email protected]>",
"author": "Cheton Wu",
"homepage": "https://github.com/cncjs/gcode-interpreter",
"license": "MIT",
"repository": {
"type": "git",
"url": "[email protected]:cncjs/gcode-interpreter.git"
},
"engines": {
"node": ">=4"
},
"keywords": [
"cnc",
"gcode"
],
"scripts": {
"prepublish": "npm run eslint && npm run build && npm test",
"eslint": "eslint src",
"build": "babel --out-dir ./lib ./src",
"test": "cross-env NODE_ENV=test nyc mocha",
"coveralls": "cat ./coverage/lcov.info | ./node_modules/.bin/coveralls"
"build": "cross-env rollup --config rollup.config.mjs",
"clean": "del build coverage dist",
"eslint": "eslint --ext .js,.jsx,.mjs .",
"pre-push": "bash -c 'echo -e \"=> \\e[1;33m$npm_package_name\\e[0m\"' && yarn run build && yarn run eslint && yarn run test",
"prepublish": "yarn run build",
"test": "jest --maxWorkers=2"
},
"main": "lib/index.js",
"sideEffects": false,
"main": "dist/cjs/index.js",
"module": "dist/esm/index.js",
"files": [
"dist"
],
"dependencies": {
"gcode-parser": "^1.3.6"
"gcode-parser": "^2.0.0"
},
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-eslint": "^8.2.2",
"babel-plugin-istanbul": "^4.1.5",
"babel-preset-es2015": "^6.24.1",
"babel-preset-stage-0": "^6.24.1",
"babel-register": "^6.26.0",
"chai": "^4.1.2",
"coveralls": "^3.0.0",
"cross-env": "^5.1.4",
"eslint": "^4.18.2",
"eslint-config-trendmicro": "^1.3.0",
"eslint-plugin-import": "^2.9.0",
"eslint-plugin-jsx-a11y": "^6.0.3",
"eslint-plugin-react": "^7.7.0",
"mocha": "^5.0.4",
"nyc": "^11.6.0"
"@babel/cli": "^7.0.0",
"@babel/core": "^7.0.0",
"@babel/eslint-parser": "^7.0.0",
"@babel/eslint-plugin": "^7.0.0",
"@babel/plugin-transform-runtime": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@rollup/plugin-babel": "^6.0.0",
"@rollup/plugin-node-resolve": "^15.0.0",
"@trendmicro/babel-config": "^1.0.2",
"cross-env": "^7.0.3",
"del-cli": "^5.0.0",
"eslint": "^8.25.0",
"jest": "^29.0.0",
"rollup": "^3"
},
"nyc": {
"require": [
"babel-register"
"jest": {
"collectCoverage": true,
"collectCoverageFrom": [
"<rootDir>/src/**/*.js"
],
"reporter": [
"coverageReporters": [
"lcov",
"text"
"text",
"html"
],
"sourceMap": false,
"instrument": false
"modulePathIgnorePatterns": [],
"setupFiles": [],
"setupFilesAfterEnv": [],
"testEnvironment": "node",
"testMatch": [
"<rootDir>/**/__tests__/**/*.test.js"
]
}
}
45 changes: 45 additions & 0 deletions rollup.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import path from 'path';
import { fileURLToPath } from 'url';
import { babel } from '@rollup/plugin-babel';
import { nodeResolve } from '@rollup/plugin-node-resolve';

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

const input = path.resolve(__dirname, 'src', 'index.js');
const cjsOutputDirectory = path.resolve(__dirname, 'dist', 'cjs');
const esmOutputDirectory = path.resolve(__dirname, 'dist', 'esm');
const isExternal = id => !id.startsWith('.') && !id.startsWith('/');

export default [
{
input,
output: {
dir: cjsOutputDirectory,
format: 'cjs',

// https://rollupjs.org/guide/en/#changed-defaults
// https://rollupjs.org/guide/en/#outputinterop
interop: 'auto',
preserveModules: true,
},
external: isExternal,
plugins: [
nodeResolve(),
babel({ babelHelpers: 'bundled' }),
],
},
{
input,
output: {
dir: esmOutputDirectory,
format: 'esm',
preserveModules: true,
},
external: isExternal,
plugins: [
nodeResolve(),
babel({ babelHelpers: 'bundled' }),
],
}
];
Loading

0 comments on commit 937dbcd

Please sign in to comment.