crosswords-js
Advanced tools
Comparing version 0.1.11 to 0.1.13
{ | ||
"name": "crosswords-js", | ||
"version": "0.1.11", | ||
"version": "0.1.13", | ||
"description": "Tiny, lightweight crosswords for HTML5/JS/CSS.", | ||
"main": "src/index.js", | ||
"dependencies": {}, | ||
"devDependencies": { | ||
"chai": "^4.2.0", | ||
"connect-livereload": "^0.5.2", | ||
"css-loader": "^3.4.2", | ||
"eslint": "^6.8.0", | ||
"eslint-config-airbnb-base": "^14.0.0", | ||
"eslint-plugin-import": "^2.20.0", | ||
"chai": "^4.3.7", | ||
"connect-livereload": "^0.6.1", | ||
"css-loader": "^6.7.3", | ||
"eslint": "^8.33.0", | ||
"eslint-config-airbnb-base": "^15.0.0", | ||
"eslint-plugin-import": "^2.27.5", | ||
"ignore-styles": "^5.0.1", | ||
"less": "^3.10.3", | ||
"less-loader": "^5.0.0", | ||
"mini-css-extract-plugin": "^0.9.0", | ||
"mocha": "^7.2.0", | ||
"nyc": "^15.0.0", | ||
"opn": "^1.0.1", | ||
"standard-version": "^8.0.0", | ||
"style-loader": "^1.1.3", | ||
"webpack": "^4.41.5", | ||
"webpack-cli": "^3.3.11", | ||
"webpack-dev-server": "^3.11.0" | ||
"less": "^4.1.3", | ||
"less-loader": "^11.1.0", | ||
"mini-css-extract-plugin": "^2.7.2", | ||
"mocha": "^10.2.0", | ||
"nyc": "^15.1.0", | ||
"open": "^8.4.0", | ||
"standard-version": "^9.5.0", | ||
"style-loader": "^3.3.1", | ||
"webpack": "^5.75.0", | ||
"webpack-cli": "^4.10.0", | ||
"webpack-dev-server": "^4.11.1" | ||
}, | ||
"scripts": { | ||
"lint": "eslint src", | ||
"start": "webpack-dev-server", | ||
"test": "mocha --require ignore-styles ./src/{,**/}*.specs.js", | ||
@@ -30,0 +30,0 @@ "test:cov": "nyc mocha --require ignore-styles ./src/{,**/}*.specs.js", |
100
README.md
# CrosswordsJS | ||
[![CircleCI](https://circleci.com/gh/dwmkerr/crosswords-js.svg?style=shield)](https://circleci.com/gh/dwmkerr/crosswords-js) [![codecov](https://codecov.io/gh/dwmkerr/crosswords-js/branch/master/graph/badge.svg)](https://codecov.io/gh/dwmkerr/crosswords-js) [![GuardRails badge](https://badges.guardrails.io/dwmkerr/crosswords-js.svg?token=569f2cc38a148f785f3a38ef0bcf5f5964995d7ca625abfad9956b14bd06ad96&provider=github)](https://dashboard.guardrails.io/default/gh/dwmkerr/crosswords-js) | ||
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> | ||
[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-) | ||
<!-- ALL-CONTRIBUTORS-BADGE:END --> | ||
[![Release Please](https://github.com/dwmkerr/crosswords-js/actions/workflows/release-please.yml/badge.svg)](https://github.com/dwmkerr/crosswords-js/actions/workflows/release-please.yaml) | ||
[![NPM Package Version](https://img.shields.io/npm/v/@dwmkerr/template-nodejs-module)](https://www.npmjs.com/package/@dwmkerr/template-nodejs-module) | ||
[![codecov](https://codecov.io/gh/dwmkerr/crosswords-js/branch/main/graph/badge.svg)](https://codecov.io/gh/dwmkerr/crosswords-js) | ||
@@ -25,2 +30,8 @@ **IMPORTANT**: This is work in progress! The API may change dramatically as I work out what is most suitable. | ||
* [Design Goals](#design-goals) | ||
* [Build Pipelines](#build-pipelines) | ||
* [Pull Request Pipeline](#pull-request-pipeline) | ||
* [Release Pipeline](#release-pipeline) | ||
* [Adding Contributors](#adding-contributors) | ||
* [Managing Releases](#managing-releases) | ||
* [Contributors](#contributors) | ||
* [TODO](#todo) | ||
@@ -106,3 +117,3 @@ | ||
```sh | ||
npm test | ||
make test | ||
``` | ||
@@ -150,2 +161,81 @@ | ||
## Build Pipelines | ||
There are two pipelines that run for the project: | ||
### Pull Request Pipeline | ||
Whenever a pull request is raised, the [Pull Request Workflow](./.github/workflows/pull-request.yaml) is run. This will: | ||
- Install dependencies | ||
- Lint | ||
- Run Tests | ||
- Upload Coverage | ||
Each stage is run on all recent Node versions, except for the 'upload coverage' stage which only runs for the Node.js LTS version. When a pull request is merged to the `main` branch, if the changes trigger a new release, then [Release Please](https://github.com/google-github-actions/release-please-action) will open a Release Pull Request. When this request is merged, the [Release Pipeline](#release-pipeline) is run. | ||
### Release Pipeline | ||
When a [Release Please](https://github.com/google-github-actions/release-please-action) pull request is merged to main, the [Release Please Workflow](./.github/workflows/release-please) is run. This will: | ||
- Install dependencies | ||
- Lint | ||
- Run Tests | ||
- Upload Coverage | ||
- Deploy to NPM if the `NPM_TOKEN` secret is set | ||
Each stage is run on all recent Node versions, except for the 'upload coverage' stage which only runs for the Node.js LTS version. | ||
⚠️ note that the NPM Publish step sets the package to public - don't forget to change this if you have a private module. | ||
## Adding Contributors | ||
To add contributors, use a comment like the below in any pull request: | ||
``` | ||
@all-contributors please add @<username> for docs, code, tests | ||
``` | ||
More detailed documentation is available at: | ||
https://allcontributors.org/docs/en/bot/usage | ||
## Managing Releases | ||
When changes to `main` are made, the Release Please stage of the pipeline will work out whether a new release should be generated (by checking if there are user facing changes) and also what the new version number should be (by checking the log of conventional commits). Once this is done, if a release is required, a new pull request is opened that will create the release. | ||
Force a specific release version with this command: | ||
```bash | ||
version="0.1.0" | ||
git commit --allow-empty -m "chore: release ${version}" -m "Release-As: ${version}" | ||
``` | ||
## Contributors | ||
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> | ||
<!-- prettier-ignore-start --> | ||
<!-- markdownlint-disable --> | ||
<table> | ||
<tbody> | ||
<tr> | ||
<td align="center" valign="top" width="14.28%"><a href="http://www.dwmkerr.com"><img src="https://avatars.githubusercontent.com/u/1926984?v=4?s=100" width="100px;" alt="Dave Kerr"/><br /><sub><b>Dave Kerr</b></sub></a><br /><a href="https://github.com/dwmkerr/crosswords-js/commits?author=dwmkerr" title="Documentation">📖</a> <a href="https://github.com/dwmkerr/crosswords-js/commits?author=dwmkerr" title="Code">💻</a> <a href="https://github.com/dwmkerr/crosswords-js/commits?author=dwmkerr" title="Tests">⚠️</a></td> | ||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/pvspain"><img src="https://avatars.githubusercontent.com/u/716363?v=4?s=100" width="100px;" alt="Paul Spain"/><br /><sub><b>Paul Spain</b></sub></a><br /><a href="https://github.com/dwmkerr/crosswords-js/commits?author=pvspain" title="Documentation">📖</a> <a href="https://github.com/dwmkerr/crosswords-js/commits?author=pvspain" title="Code">💻</a> <a href="https://github.com/dwmkerr/crosswords-js/commits?author=pvspain" title="Tests">⚠️</a></td> | ||
</tr> | ||
</tbody> | ||
</table> | ||
<!-- markdownlint-restore --> | ||
<!-- prettier-ignore-end --> | ||
<!-- ALL-CONTRIBUTORS-LIST:END --> | ||
<!-- prettier-ignore-start --> | ||
<!-- markdownlint-disable --> | ||
<!-- markdownlint-restore --> | ||
<!-- prettier-ignore-end --> | ||
<!-- ALL-CONTRIBUTORS-LIST:END --> | ||
## TODO | ||
@@ -155,5 +245,8 @@ | ||
- [ ] feat(samples): allow us to switch between 2-3 crosswords on the sample | ||
- [ ] feat(samples): show how we can check answers | ||
- [ ] feat(samples): cursor initially on the first clue | ||
- [x] fix: the border on word separators slightly offsets the rendering of the grid | ||
- [ ] feat(accessibility): get screenreader requirements | ||
- [ ] refactor: Simplify the static site by removing Angular and Bootstrap, keeping everything as lean and clean as possible. | ||
- [ ] refactor: Simplify the static site by removing Angular and Bootstrap, keeping everything as lean and clean as possible. Later, replace with a React sample? | ||
- [ ] refactor: finish refactoring classes to simple functions (compileCrossword, createDOM etc) | ||
@@ -166,1 +259,2 @@ - [ ] feat: support clues which span non-contiguous ranges (such as large clues with go both across and down). | ||
- [ ] refactor: re-theme site to a clean black and white serif style, more like a newspaper | ||
- [x] build: enforce linting (current it is allowed to fail) |
Sorry, the diff of this file is not supported yet
14247
256
5