Skip to content

Commit

Permalink
feat: add ci
Browse files Browse the repository at this point in the history
  • Loading branch information
yanhaijing committed Jan 1, 2025
1 parent 03ee324 commit 6de5337
Show file tree
Hide file tree
Showing 5 changed files with 114 additions and 6 deletions.
106 changes: 106 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
name: CI for jslib

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

jobs:
lint:
name: Run Lint on jslib-base
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 18

- name: Install dependencies with Yarn
run: yarn install

- name: Run Lint
run: yarn lint

test-jslib-js:
needs: lint
name: Test jslib with JS projects
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16, 18, 20, 22]
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '${{ matrix.node-version }}'

- name: Install jslib globally
run: yarn install

- name: Link jslib globally
working-directory: packages/cli
run: npm link

- name: Create new JS project
working-directory: ../
run: echo js-project | jslib new --npmname js-project --umdname js-project --username yanhaijing --type js --lang en --manager npm

- name: Run lint in JS project
working-directory: ../js-project
run: npm run lint

- name: Run tests in JS project
working-directory: ../js-project
run: npm run test

- name: Build JS project
working-directory: ../js-project
run: npm run build

test-jslib-ts:
needs: lint
name: Test jslib with TS projects
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16, 18, 20, 22]
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '${{ matrix.node-version }}'

- name: Install jslib globally
run: yarn install

- name: Link jslib globally
working-directory: packages/cli
run: npm link

- name: Create new TS project
working-directory: ../
run: echo ts-project | jslib new --npmname ts-project --umdname ts-project --username yanhaijing --type ts --lang en --manager npm

- name: Run lint in JS project
working-directory: ../ts-project
run: npm run lint

- name: Run tests in JS project
working-directory: ../ts-project
run: npm run test

- name: Build JS project
working-directory: ../ts-project
run: npm run build
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (C) 2018-2024 yanhaijing
Copyright (C) 2018-2025 yanhaijing

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
[![npm](https://img.shields.io/badge/npm-2.3.4-orange.svg)](https://www.npmjs.com/package/@js-lib/cli)
[![NPM downloads](http://img.shields.io/npm/dm/@js-lib/cli.svg?style=flat-square)](http://www.npmtrends.com/@js-lib/cli)
[![Percentage of issues still open](http://isitmaintained.com/badge/open/yanhaijing/jslib-base.svg)](http://isitmaintained.com/project/yanhaijing/jslib-base 'Percentage of issues still open')
![example workflow](https://github.com/yanhaijing/jslib-base/actions/workflows/ci.yml/badge.svg)

English | [简体中文](./README.zh-CN.md)

Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"scripts": {
"prepare": "husky install",
"preinstall": "npx only-allow yarn",
"lint": "eslint packages --ext .js,.ts",
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
Expand Down Expand Up @@ -35,6 +36,6 @@
"access": "public"
},
"engines": {
"node": ">= 14.0.0"
"node": ">= 16.0.0"
}
}
8 changes: 4 additions & 4 deletions packages/cli/module/demo/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@ function init(cmdPath, name, option) {
const _lang = option.lang;
util.copyFile(
path.resolve(__dirname, `./template/require.js`),
path.resolve(cmdPath, name, 'demo/js/require.js')
path.resolve(cmdPath, name, 'demo/js/require.js'),
);
util.copyFile(
path.resolve(__dirname, `./template/demo-amd.html`),
path.resolve(cmdPath, name, 'demo/demo-amd.html')
path.resolve(cmdPath, name, 'demo/demo-amd.html'),
);
util.copyFile(
path.resolve(__dirname, `./template/demo-node.js`),
path.resolve(cmdPath, name, 'demo/demo-node.js')
path.resolve(cmdPath, name, 'demo/demo-node.js'),
);
util.copyTmpl(
path.resolve(__dirname, `./template/demo-global.html.tmpl`),
path.resolve(cmdPath, name, 'demo/demo-global.html'),
option
option,
);
}

Expand Down

0 comments on commit 6de5337

Please sign in to comment.