mirror of
https://github.com/ivuorinen/base-configs.git
synced 2026-01-25 18:54:03 +00:00
Initial commit
This commit is contained in:
1
.browserslistrc
Normal file
1
.browserslistrc
Normal file
@@ -0,0 +1 @@
|
||||
extends @ivuorinen/browserslist-config
|
||||
3
.commitlintrc.json
Normal file
3
.commitlintrc.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": ["./packages/commitlint-config"]
|
||||
}
|
||||
16
.editorconfig
Normal file
16
.editorconfig
Normal file
@@ -0,0 +1,16 @@
|
||||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_size = 2
|
||||
indent_style = space
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.md]
|
||||
max_line_length = off
|
||||
trim_trailing_whitespace = false
|
||||
1
.eslintignore
Normal file
1
.eslintignore
Normal file
@@ -0,0 +1 @@
|
||||
node_modules/
|
||||
3
.eslintrc.json
Normal file
3
.eslintrc.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": ["./packages/eslint-config"]
|
||||
}
|
||||
1
.github/CODEOWNERS
vendored
Normal file
1
.github/CODEOWNERS
vendored
Normal file
@@ -0,0 +1 @@
|
||||
* @ivuorinen
|
||||
88
.github/labels.yml
vendored
Normal file
88
.github/labels.yml
vendored
Normal file
@@ -0,0 +1,88 @@
|
||||
---
|
||||
- name: "breaking-change"
|
||||
color: ee0701
|
||||
description: "A breaking change for existing users."
|
||||
- name: "bugfix"
|
||||
color: ee0701
|
||||
description: "Inconsistencies or issues which will cause a problem for users or implementors."
|
||||
- name: "documentation"
|
||||
color: 0052cc
|
||||
description: "Solely about the documentation of the project."
|
||||
- name: "enhancement"
|
||||
color: 1d76db
|
||||
description: "Enhancement of the code, not introducing new features."
|
||||
- name: "refactor"
|
||||
color: 1d76db
|
||||
description: "Improvement of existing code, not introducing new features."
|
||||
- name: "performance"
|
||||
color: 1d76db
|
||||
description: "Improving performance, not introducing new features."
|
||||
- name: "new-feature"
|
||||
color: 0e8a16
|
||||
description: "New features or options."
|
||||
- name: "maintenance"
|
||||
color: 2af79e
|
||||
description: "Generic maintenance tasks."
|
||||
- name: "ci"
|
||||
color: 1d76db
|
||||
description: "Work that improves the continue integration."
|
||||
- name: "dependencies"
|
||||
color: 1d76db
|
||||
description: "Upgrade or downgrade of project dependencies."
|
||||
- name: "translations"
|
||||
color: d4c5f9
|
||||
description: "Impacts translations."
|
||||
|
||||
- name: "in-progress"
|
||||
color: fbca04
|
||||
description: "Issue is currently being resolved by a developer."
|
||||
- name: "stale"
|
||||
color: fef2c0
|
||||
description: "There has not been activity on this issue or PR for quite some time."
|
||||
- name: "no-stale"
|
||||
color: fef2c0
|
||||
description: "This issue or PR is exempted from the stable bot."
|
||||
|
||||
- name: "security"
|
||||
color: ee0701
|
||||
description: "Marks a security issue that needs to be resolved asap."
|
||||
- name: "incomplete"
|
||||
color: fef2c0
|
||||
description: "Marks a PR or issue that is missing information."
|
||||
- name: "invalid"
|
||||
color: fef2c0
|
||||
description: "Marks a PR or issue that is missing information."
|
||||
|
||||
- name: "beginner-friendly"
|
||||
color: 0e8a16
|
||||
description: "Good first issue for people wanting to contribute to the project."
|
||||
- name: "help-wanted"
|
||||
color: 0e8a16
|
||||
description: "We need some extra helping hands or expertise in order to resolve this."
|
||||
|
||||
- name: "hacktoberfest"
|
||||
description: "Issues/PRs are participating in the Hacktoberfest."
|
||||
color: fbca04
|
||||
- name: "hacktoberfest-accepted"
|
||||
description: "Issues/PRs are participating in the Hacktoberfest."
|
||||
color: fbca04
|
||||
|
||||
- name: "priority-critical"
|
||||
color: ee0701
|
||||
description: "This should be dealt with ASAP. Not fixing this issue would be a serious error."
|
||||
- name: "priority-high"
|
||||
color: b60205
|
||||
description: "After critical issues are fixed, these should be dealt with before any further issues."
|
||||
- name: "priority-medium"
|
||||
color: 0e8a16
|
||||
description: "This issue may be useful, and needs some attention."
|
||||
- name: "priority-low"
|
||||
color: e4ea8a
|
||||
description: "Nice addition, maybe... someday..."
|
||||
|
||||
- name: "major"
|
||||
color: b60205
|
||||
description: "This PR causes a major version bump in the version number."
|
||||
- name: "minor"
|
||||
color: 0e8a16
|
||||
description: "This PR causes a minor version bump in the version number."
|
||||
4
.github/renovate.json
vendored
Normal file
4
.github/renovate.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": ["github>ivuorinen/.github:renovate-config"]
|
||||
}
|
||||
56
.github/workflows/codeql-analysis.yml
vendored
Normal file
56
.github/workflows/codeql-analysis.yml
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
schedule:
|
||||
- cron: "0 0 * * 4"
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: ["javascript"]
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3.1.0
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v2
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v2
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v2
|
||||
52
.github/workflows/publish.yml
vendored
Normal file
52
.github/workflows/publish.yml
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
name: Publish
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
name: Publish
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3.1.0
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node.js Environment
|
||||
uses: actions/setup-node@v3.5.1
|
||||
with:
|
||||
always-auth: true
|
||||
node-version: 14
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
scope: '@ivuorinen'
|
||||
|
||||
- name: Cache Node Modules
|
||||
uses: actions/cache@v3.0.11
|
||||
id: cache
|
||||
with:
|
||||
path: node_modules
|
||||
key: node-modules-${{ hashFiles('**/yarn.lock') }}
|
||||
|
||||
- name: Install Dependencies
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
run: yarn install
|
||||
|
||||
- name: Config Git User
|
||||
run: |
|
||||
git config --global user.name "${{ github.actor }}"
|
||||
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
|
||||
|
||||
- name: Bootstrap Lerna
|
||||
run: yarn lerna:bootstrap:ci
|
||||
|
||||
- name: Bump Versions and Publish Packages
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
run: |
|
||||
yarn lerna:version
|
||||
yarn lerna:publish
|
||||
47
.github/workflows/stale.yml
vendored
Normal file
47
.github/workflows/stale.yml
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
name: Stale
|
||||
|
||||
# yamllint disable-line rule:truthy
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 8 * * *"
|
||||
workflow_call:
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
permissions:
|
||||
contents: write # only for delete-branch option
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
name: 🧹 Clean up stale issues and PRs
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 🚀 Run stale
|
||||
uses: actions/stale@v8.0.0
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
days-before-stale: 30
|
||||
days-before-close: 7
|
||||
remove-stale-when-updated: true
|
||||
stale-issue-label: "stale"
|
||||
exempt-issue-labels: "no-stale,help-wanted"
|
||||
stale-issue-message: >
|
||||
There hasn't been any activity on this issue recently, so we
|
||||
clean up some of the older and inactive issues.
|
||||
|
||||
Please make sure to update to the latest version and
|
||||
check if that solves the issue. Let us know if that works for you
|
||||
by leaving a comment 👍
|
||||
|
||||
This issue has now been marked as stale and will be closed if no
|
||||
further activity occurs. Thanks!
|
||||
stale-pr-label: "stale"
|
||||
exempt-pr-labels: "no-stale"
|
||||
stale-pr-message: >
|
||||
There hasn't been any activity on this pull request recently. This
|
||||
pull request has been automatically marked as stale because of that
|
||||
and will be closed if no further activity occurs within 7 days.
|
||||
Thank you for your contributions.
|
||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
node_modules
|
||||
3
.markdownlint.json
Normal file
3
.markdownlint.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "./packages/markdownlint-config/index.json"
|
||||
}
|
||||
2
.markdownlintignore
Normal file
2
.markdownlintignore
Normal file
@@ -0,0 +1,2 @@
|
||||
CHANGELOG.md
|
||||
node_modules/
|
||||
1
.prettierignore
Normal file
1
.prettierignore
Normal file
@@ -0,0 +1 @@
|
||||
node_modules/
|
||||
1
.prettierrc.json
Normal file
1
.prettierrc.json
Normal file
@@ -0,0 +1 @@
|
||||
"./packages/prettier-config"
|
||||
5
.releaserc.json
Normal file
5
.releaserc.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"extends": [
|
||||
"@ivuorinen/semantic-release-config"
|
||||
]
|
||||
}
|
||||
3
.simple-git-hooks.json
Normal file
3
.simple-git-hooks.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"commit-msg": "yarn commitlint --edit $1"
|
||||
}
|
||||
5
.stylelintrc.json
Normal file
5
.stylelintrc.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"extends": [
|
||||
"@ivuorinen/stylelint-config/css"
|
||||
]
|
||||
}
|
||||
0
.yamlignore
Normal file
0
.yamlignore
Normal file
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 Ismo Vuorinen
|
||||
|
||||
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:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
96
README.md
Normal file
96
README.md
Normal file
@@ -0,0 +1,96 @@
|
||||
# @ivuorinen/base-configs <!-- omit in toc -->
|
||||
|
||||
[![license MIT][license-badge]][license-link] [![ivuorinen's Code Style][style-badge]][style-link]
|
||||
|
||||
> A collection of base configs for code quality and linting tools. Heavily based on `@demartini/base-configs`
|
||||
|
||||
## Table of Contents <!-- omit in toc -->
|
||||
|
||||
- [About](#about)
|
||||
- [Usage](#usage)
|
||||
- [Available Configurations](#available-configurations)
|
||||
- [Badge](#badge)
|
||||
- [Contributing](#contributing)
|
||||
- [Changelog](#changelog)
|
||||
- [License](#license)
|
||||
|
||||
## About
|
||||
|
||||
This Monorepo provides a collection of shareable configurations for building, linting, testing, formatting, and releasing tools to make configurations consistent across projects and provide an easy configuration mechanism.
|
||||
|
||||
## Usage
|
||||
|
||||
Check the _`README`_ of each package in the [`packages`][packages-link] directory for specific usage instructions.
|
||||
|
||||
## Available Configurations
|
||||
|
||||
| Tool | Package | Version |
|
||||
| ----------------------------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------- |
|
||||
| [Browserslist][browserslist-link] | [@ivuorinen/browserslist-config][pkg-browserlist] | [![@ivuorinen/browserslist-config][browserslist-badge]][browserslist-npm] |
|
||||
| [CommitLint][commitlint-link] | [@ivuorinen/commitlint-config][pkg-commitlint] | [![@ivuorinen/commitlint-config][commitlint-badge]][commitlint-npm] |
|
||||
| [ESLint][eslint-link] | [@ivuorinen/eslint-config][pkg-eslint] | [![@ivuorinen/eslint-config][eslint-badge]][eslint-npm] |
|
||||
| [MarkdownLint][markdownlint-link] | [@ivuorinen/markdownlint-config][pkg-markdownlint] | [![@ivuorinen/markdownlint-config][markdownlint-badge]][markdownlint-npm] |
|
||||
| [Prettier][prettier-link] | [@ivuorinen/prettier-config][pkg-prettier] | [![@ivuorinen/prettier-config][prettier-badge]][prettier-npm] |
|
||||
| [semantic-release][semantic-release-link] | [@ivuorinen/semantic-release-config][pkg-src] | [![@ivuorinen/semantic-release-config][semantic-release-badge]][semantic-release-npm] |
|
||||
| [stylelint][stylelint-link] | [@ivuorinen/stylelint-config][pkg-stylelint] | [![@ivuorinen/stylelint-config][stylelint-badge]][stylelint-npm] |
|
||||
|
||||
[pkg-browserlist]: ./packages/browserslist-config
|
||||
[pkg-commitlint]: ./packages/commitlint-config
|
||||
[pkg-eslint]: ./packages/eslint-config
|
||||
[pkg-markdownlint]: ./packages/markdownlint-config
|
||||
[pkg-prettier]: ./packages/prettier-config
|
||||
[pkg-src]: ./packages/semantic-release-config
|
||||
[pkg-stylelint]: ./packages/stylelint-config
|
||||
|
||||
## Badge
|
||||
|
||||
Show the world that you are using ivuorinen's code style in your project by including the badge in your readme.
|
||||
|
||||
[](https://github.com/ivuorinen/base-configs)
|
||||
|
||||
```md
|
||||
[](https://github.com/ivuorinen/base-configs)
|
||||
```
|
||||
|
||||
## Contributing
|
||||
|
||||
If you are interested in helping contribute, please take a look at our [contribution guidelines][contributing-link] and open an [issue][issue-link] or [pull request][pull-request-link].
|
||||
|
||||
## Changelog
|
||||
|
||||
See [CHANGELOG][changelog-link] for a human-readable history of changes.
|
||||
|
||||
## License
|
||||
|
||||
Distributed under the MIT License. See [LICENSE][license-link] for more information.
|
||||
|
||||
[changelog-link]: ./CHANGELOG.md
|
||||
[contributing-link]: https://github.com/ivuorinen/.github/blob/main/CONTRIBUTING.md
|
||||
[issue-link]: https://github.com/ivuorinen/base-configs/issues
|
||||
[license-badge]: https://img.shields.io/github/license/ivuorinen/base-configs?style=flat-square&labelColor=292a44&color=663399
|
||||
[license-link]: ./LICENSE
|
||||
[packages-link]: ./packages
|
||||
[pull-request-link]: https://github.com/ivuorinen/base-configs/pulls
|
||||
[style-badge]: https://img.shields.io/badge/code_style-ivuorinen%E2%80%99s-663399.svg?labelColor=292a44&style=flat-square
|
||||
[style-link]: https://github.com/ivuorinen/base-configs
|
||||
[browserslist-badge]: https://img.shields.io/npm/v/@ivuorinen/browserslist-config?style=flat-square&labelColor=292a44&color=663399
|
||||
[browserslist-link]: https://github.com/browserslist/browserslist
|
||||
[browserslist-npm]: https://www.npmjs.com/package/@ivuorinen/browserslist-config
|
||||
[commitlint-badge]: https://img.shields.io/npm/v/@ivuorinen/commitlint-config?style=flat-square&labelColor=292a44&color=663399
|
||||
[commitlint-link]: https://github.com/conventional-changelog/commitlint
|
||||
[commitlint-npm]: https://www.npmjs.com/package/@ivuorinen/commitlint-config
|
||||
[eslint-badge]: https://img.shields.io/npm/v/@ivuorinen/eslint-config?style=flat-square&labelColor=292a44&color=663399
|
||||
[eslint-link]: https://github.com/eslint/eslint
|
||||
[eslint-npm]: https://www.npmjs.com/package/@ivuorinen/eslint-config
|
||||
[markdownlint-badge]: https://img.shields.io/npm/v/@ivuorinen/markdownlint-config?style=flat-square&labelColor=292a44&color=663399
|
||||
[markdownlint-link]: https://github.com/DavidAnson/markdownlint
|
||||
[markdownlint-npm]: https://www.npmjs.com/package/@ivuorinen/markdownlint-config
|
||||
[prettier-badge]: https://img.shields.io/npm/v/@ivuorinen/prettier-config?style=flat-square&labelColor=292a44&color=663399
|
||||
[prettier-link]: https://github.com/prettier/prettier
|
||||
[prettier-npm]: https://www.npmjs.com/package/@ivuorinen/prettier-config
|
||||
[semantic-release-badge]: https://img.shields.io/npm/v/@ivuorinen/semantic-release-config?style=flat-square&labelColor=292a44&color=663399
|
||||
[semantic-release-link]: https://github.com/semantic-release/semantic-release
|
||||
[semantic-release-npm]: https://www.npmjs.com/package/@ivuorinen/semantic-release-config
|
||||
[stylelint-badge]: https://img.shields.io/npm/v/@ivuorinen/stylelint-config?style=flat-square&labelColor=292a44&color=663399
|
||||
[stylelint-link]: https://github.com/stylelint/stylelint
|
||||
[stylelint-npm]: https://www.npmjs.com/package/@ivuorinen/stylelint-config
|
||||
18
lerna.json
Normal file
18
lerna.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"version": "independent",
|
||||
"command": {
|
||||
"version": {
|
||||
"conventionalCommits": true,
|
||||
"createRelease": "github",
|
||||
"ignoreChanges": ["**/*.md"],
|
||||
"message": "chore(release): publish",
|
||||
"yes": true
|
||||
},
|
||||
"publish": {
|
||||
"registry": "https://registry.npmjs.org",
|
||||
"yes": true
|
||||
}
|
||||
},
|
||||
"npmClient": "yarn",
|
||||
"packages": ["packages/*"]
|
||||
}
|
||||
73
package.json
Normal file
73
package.json
Normal file
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@ivuorinen/base-configs",
|
||||
"version": "1.0.0",
|
||||
"description": "A collection of base configs for code quality and linting tools.",
|
||||
"author": {
|
||||
"name": "Ismo Vuorinen",
|
||||
"url": "https://github.com/ivuorinen"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/ivuorinen/base-configs/issues"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Base Configs Contributors",
|
||||
"url": "https://github.com/ivuorinen/base-configs/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 12",
|
||||
"npm": ">= 6",
|
||||
"yarn": ">=1.20.0"
|
||||
},
|
||||
"homepage": "https://github.com/ivuorinen/base-configs#readme",
|
||||
"keywords": [
|
||||
"commitlint",
|
||||
"config",
|
||||
"eslint",
|
||||
"lint",
|
||||
"markdownlint",
|
||||
"prettier",
|
||||
"semantic-release",
|
||||
"stylelint"
|
||||
],
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ivuorinen/base-configs.git"
|
||||
},
|
||||
"scripts": {
|
||||
"deps:dedupe": "lernaupdate --dedupe",
|
||||
"deps:update": "lernaupdate",
|
||||
"eslint:fix": "eslint --format=pretty '**/*.{js,tsx,ts}' --fix",
|
||||
"eslint:report": "eslint --format=pretty '**/*.{js,tsx,ts}'",
|
||||
"lerna:bootstrap:ci": "lerna bootstrap -- --frozen-lockfile --ignore-engines",
|
||||
"lerna:bootstrap": "lerna bootstrap",
|
||||
"lerna:publish": "lerna publish from-package",
|
||||
"lerna:version": "lerna version",
|
||||
"markdownlint:fix": "markdownlint '**/*.md' --fix",
|
||||
"markdownlint:report": "markdownlint '**/*.md'",
|
||||
"prettier:fix": "prettier '**/*.{js,tsx,ts,json}' --write",
|
||||
"prettier:report": "prettier '**/*.{js,tsx,ts,json}' --check"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "^17.3.0",
|
||||
"@commitlint/config-conventional": "^17.3.0",
|
||||
"eslint": "^8.28.0",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-config-standard": "^17.0.0",
|
||||
"eslint-formatter-pretty": "^4.1.0",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
"eslint-plugin-node": "^11.1.0",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"eslint-plugin-promise": "^6.1.1",
|
||||
"eslint-plugin-sonarjs": "^0.16.0",
|
||||
"eslint-plugin-unicorn": "^45.0.1",
|
||||
"lerna": "^6.1.0",
|
||||
"lerna-update-wizard": "^1.1.2",
|
||||
"markdownlint-cli": "^0.32.2",
|
||||
"prettier": "^2.8.0",
|
||||
"simple-git-hooks": "^2.8.1"
|
||||
}
|
||||
}
|
||||
1
packages/browserslist-config/.browserslistrc
Normal file
1
packages/browserslist-config/.browserslistrc
Normal file
@@ -0,0 +1 @@
|
||||
extends @ivuorinen/browserslist-config
|
||||
3
packages/browserslist-config/CHANGELOG.md
Normal file
3
packages/browserslist-config/CHANGELOG.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
21
packages/browserslist-config/LICENSE
Normal file
21
packages/browserslist-config/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 Ismo Vuorinen
|
||||
|
||||
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:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
90
packages/browserslist-config/README.md
Normal file
90
packages/browserslist-config/README.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# @ivuorinen/browserslist-config <!-- omit in toc -->
|
||||
|
||||
[![npm package][npm-badge]][npm-link] [![license MIT][license-badge]][license-link] [![ivuorinen's Code Style][style-badge]][style-link]
|
||||
|
||||
> ivuorinen's shareable configuration for [`Browserslist`][browserslist-link].
|
||||
|
||||
## Table of Contents <!-- omit in toc -->
|
||||
|
||||
- [Supported Browsers](#supported-browsers)
|
||||
- [Desktop Browsers](#desktop-browsers)
|
||||
- [Mobile Browsers](#mobile-browsers)
|
||||
- [Installation](#installation)
|
||||
- [Documentations](#documentations)
|
||||
- [Contributing](#contributing)
|
||||
- [Changelog](#changelog)
|
||||
- [License](#license)
|
||||
|
||||
## Supported Browsers
|
||||
|
||||
### Desktop Browsers
|
||||
|
||||
| [![Chrome][chrome-image]][browsers-badges-link] | [![Edge][edge-image]][browsers-badges-link] | [![Firefox][firefox-image]][browsers-badges-link] | [![Opera][opera-image]][browsers-badges-link] | [![Safari][safari-image]][browsers-badges-link] |
|
||||
| :---------------------------------------------: | :-----------------------------------------: | :-----------------------------------------------: | :-------------------------------------------: | :---------------------------------------------: |
|
||||
| Chrome | Edge | Firefox | Opera | Safari |
|
||||
| >= 60 | last 2 | >= 60 | last 2 | >= 12 |
|
||||
|
||||
### Mobile Browsers
|
||||
|
||||
| [![Android WebView][android-webview-image]][browsers-badges-link] | [![Chrome][chrome-image]][browsers-badges-link] | [![Firefox][firefox-image]][browsers-badges-link] | [![Opera Mini][opera-mini-image]][browsers-badges-link] | [![Safari iOS][safari-ios-image]][browsers-badges-link] | [![Samsung Internet][samsung-internet-image]][browsers-badges-link] | [![UC][uc-image]][browsers-badges-link] |
|
||||
| :---------------------------------------------------------------: | :---------------------------------------------: | :-----------------------------------------------: | :-----------------------------------------------------: | :-----------------------------------------------------: | :-----------------------------------------------------------------: | :-------------------------------------: |
|
||||
| Android WebView | Chrome | Firefox | Opera Mini | Safari iOS | Samsung Internet | UC |
|
||||
| last 2 | last 2 | last 2 | last 2 | >= 12 | last 2 | last 2 |
|
||||
|
||||
## Installation
|
||||
|
||||
Install `this config` as a _`devDependencies`_:
|
||||
|
||||
```sh
|
||||
# npm
|
||||
npm install @ivuorinen/browserslist-config --save-dev
|
||||
|
||||
# Yarn
|
||||
yarn add @ivuorinen/browserslist-config --dev
|
||||
```
|
||||
|
||||
After installing it, a _`.browserslistrc`_ file will be created automatically in the project's root folder with the following configuration:
|
||||
|
||||
```json
|
||||
extends @ivuorinen/browserslist-config
|
||||
```
|
||||
|
||||
## Documentations
|
||||
|
||||
Read the [Browserslist docs][browserslist-docs-link] for more information.
|
||||
|
||||
## Contributing
|
||||
|
||||
If you are interested in helping contribute, please take a look at our [contribution guidelines][contributing-link] and open an [issue][issue-link] or [pull request][pull-request-link].
|
||||
|
||||
## Changelog
|
||||
|
||||
See [CHANGELOG][changelog-link] for a human-readable history of changes.
|
||||
|
||||
## License
|
||||
|
||||
Distributed under the MIT License. See [LICENSE][license-link] for more information.
|
||||
|
||||
[changelog-link]: ./CHANGELOG.md
|
||||
[browserslist-docs-link]: https://github.com/browserslist/browserslist
|
||||
[browserslist-link]: https://github.com/browserslist/browserslist
|
||||
[contributing-link]: https://github.com/ivuorinen/.github/blob/main/CONTRIBUTING.md
|
||||
[issue-link]: https://github.com/ivuorinen/base-configs/issues
|
||||
[license-badge]: https://img.shields.io/github/license/ivuorinen/base-configs?style=flat-square&labelColor=292a44&color=663399
|
||||
[license-link]: ./LICENSE
|
||||
[npm-badge]: https://img.shields.io/npm/v/@ivuorinen/browserslist-config?style=flat-square&labelColor=292a44&color=663399
|
||||
[npm-link]: https://www.npmjs.com/package/@ivuorinen/browserslist-config
|
||||
[pull-request-link]: https://github.com/ivuorinen/base-configs/pulls
|
||||
[style-badge]: https://img.shields.io/badge/code_style-ivuorinen%E2%80%99s-663399.svg?labelColor=292a44&style=flat-square
|
||||
[style-link]: https://github.com/ivuorinen/base-configs
|
||||
[browsers-badges-link]: https://github.com/alrra/browser-logos
|
||||
[android-webview-image]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/android-webview/android-webview_48x48.png
|
||||
[chrome-image]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_48x48.png
|
||||
[edge-image]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_48x48.png
|
||||
[firefox-image]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_48x48.png
|
||||
[opera-image]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/opera/opera_48x48.png
|
||||
[opera-mini-image]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/opera-mini/opera-mini_48x48.png
|
||||
[safari-image]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/safari/safari_48x48.png
|
||||
[safari-ios-image]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/safari-ios/safari-ios_48x48.png
|
||||
[samsung-internet-image]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/samsung-internet/samsung-internet_48x48.png
|
||||
[uc-image]: https://raw.githubusercontent.com/alrra/browser-logos/main/src/uc/uc_48x48.png
|
||||
13
packages/browserslist-config/index.js
Normal file
13
packages/browserslist-config/index.js
Normal file
@@ -0,0 +1,13 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = [
|
||||
'>= 0.5%',
|
||||
'Chrome >= 60',
|
||||
'Firefox >= 60',
|
||||
'Firefox ESR',
|
||||
'iOS >= 12',
|
||||
'last 2 major versions',
|
||||
'not dead',
|
||||
'not Explorer <= 11',
|
||||
'Safari >= 12'
|
||||
]
|
||||
43
packages/browserslist-config/package.json
Normal file
43
packages/browserslist-config/package.json
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"name": "@ivuorinen/browserslist-config",
|
||||
"version": "0.1.0",
|
||||
"description": "ivuorinen's shareable configuration for Browserslist.",
|
||||
"author": {
|
||||
"name": "Ismo Vuorinen",
|
||||
"url": "https://github.com/ivuorinen"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/ivuorinen/base-configs/issues"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12",
|
||||
"npm": ">= 6",
|
||||
"yarn": ">=1.20.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"scripts/*"
|
||||
],
|
||||
"homepage": "https://github.com/ivuorinen/base-configs/tree/main/packages/browserslist-config#readme",
|
||||
"keywords": [
|
||||
"browserslist-config",
|
||||
"browserslist",
|
||||
"config",
|
||||
"ivuorinen"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ivuorinen/base-configs.git"
|
||||
},
|
||||
"scripts": {
|
||||
"postinstall": "node scripts/postinstall.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"browserslist": "4.21.4"
|
||||
}
|
||||
}
|
||||
12
packages/browserslist-config/scripts/postinstall.js
Normal file
12
packages/browserslist-config/scripts/postinstall.js
Normal file
@@ -0,0 +1,12 @@
|
||||
'use strict'
|
||||
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
|
||||
const filePath = path.join(process.env.INIT_CWD, '.browserslistrc')
|
||||
|
||||
const fileConfigObject = 'extends @ivuorinen/browserslist-config'
|
||||
|
||||
if (!fs.existsSync(filePath)) {
|
||||
fs.writeFileSync(filePath, fileConfigObject)
|
||||
}
|
||||
5
packages/commitlint-config/.commitlintrc.json
Normal file
5
packages/commitlint-config/.commitlintrc.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"extends": [
|
||||
"@ivuorinen/commitlint-config"
|
||||
]
|
||||
}
|
||||
3
packages/commitlint-config/CHANGELOG.md
Normal file
3
packages/commitlint-config/CHANGELOG.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
21
packages/commitlint-config/LICENSE
Normal file
21
packages/commitlint-config/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 Ismo Vuorinen
|
||||
|
||||
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:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
62
packages/commitlint-config/README.md
Normal file
62
packages/commitlint-config/README.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# @ivuorinen/commitlint-config <!-- omit in toc -->
|
||||
|
||||
[![npm package][npm-badge]][npm-link] [![license MIT][license-badge]][license-link] [![ivuorinen's Code Style][style-badge]][style-link]
|
||||
|
||||
> ivuorinen's shareable configuration for [`CommitLint`][commitlint-link].
|
||||
|
||||
## Table of Contents <!-- omit in toc -->
|
||||
|
||||
- [Installation](#installation)
|
||||
- [Documentations](#documentations)
|
||||
- [Contributing](#contributing)
|
||||
- [Changelog](#changelog)
|
||||
- [License](#license)
|
||||
|
||||
## Installation
|
||||
|
||||
Install `this config` as a _`devDependencies`_:
|
||||
|
||||
```sh
|
||||
# npm
|
||||
npm install @ivuorinen/commitlint-config --save-dev
|
||||
|
||||
# Yarn
|
||||
yarn add @ivuorinen/commitlint-config --dev
|
||||
```
|
||||
|
||||
After installing it, a _`.commitlintrc.json`_ file will be created automatically in the project's root folder with the following configuration:
|
||||
|
||||
```json
|
||||
{
|
||||
"extends": ["@ivuorinen/commitlint-config"]
|
||||
}
|
||||
```
|
||||
|
||||
## Documentations
|
||||
|
||||
Read the [CommitLint docs][commitlint-docs-link] for more information.
|
||||
|
||||
## Contributing
|
||||
|
||||
If you are interested in helping contribute, please take a look at our [contribution guidelines][contributing-link] and open an [issue][issue-link] or [pull request][pull-request-link].
|
||||
|
||||
## Changelog
|
||||
|
||||
See [CHANGELOG][changelog-link] for a human-readable history of changes.
|
||||
|
||||
## License
|
||||
|
||||
Distributed under the MIT License. See [LICENSE][license-link] for more information.
|
||||
|
||||
[changelog-link]: ./CHANGELOG.md
|
||||
[commitlint-docs-link]: https://commitlint.js.org
|
||||
[commitlint-link]: https://github.com/conventional-changelog/commitlint
|
||||
[contributing-link]: https://github.com/ivuorinen/.github/blob/main/CONTRIBUTING.md
|
||||
[issue-link]: https://github.com/ivuorinen/base-configs/issues
|
||||
[license-badge]: https://img.shields.io/github/license/ivuorinen/base-configs?style=flat-square&labelColor=292a44&color=663399
|
||||
[license-link]: ./LICENSE
|
||||
[npm-badge]: https://img.shields.io/npm/v/@ivuorinen/commitlint-config?style=flat-square&labelColor=292a44&color=663399
|
||||
[npm-link]: https://www.npmjs.com/package/@ivuorinen/commitlint-config
|
||||
[pull-request-link]: https://github.com/ivuorinen/base-configs/pulls
|
||||
[style-badge]: https://img.shields.io/badge/code_style-ivuorinen%E2%80%99s-663399.svg?labelColor=292a44&style=flat-square
|
||||
[style-link]: https://github.com/ivuorinen/base-configs
|
||||
8
packages/commitlint-config/index.js
Normal file
8
packages/commitlint-config/index.js
Normal file
@@ -0,0 +1,8 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = {
|
||||
extends: ['@commitlint/config-conventional'],
|
||||
rules: {
|
||||
'body-leading-blank': [2, 'always']
|
||||
}
|
||||
}
|
||||
43
packages/commitlint-config/package.json
Normal file
43
packages/commitlint-config/package.json
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"name": "@ivuorinen/commitlint-config",
|
||||
"version": "0.1.0",
|
||||
"description": "ivuorinen's shareable configuration for commitlint.",
|
||||
"author": {
|
||||
"name": "Ismo Vuorinen",
|
||||
"url": "https://github.com/ivuorinen"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/ivuorinen/base-configs/issues"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12",
|
||||
"npm": ">= 6",
|
||||
"yarn": ">=1.20.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"scripts/*"
|
||||
],
|
||||
"homepage": "https://github.com/ivuorinen/base-configs/tree/main/packages/commitlint-config#readme",
|
||||
"keywords": [
|
||||
"commitlint-config",
|
||||
"commitlint",
|
||||
"config"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ivuorinen/base-configs.git"
|
||||
},
|
||||
"scripts": {
|
||||
"postinstall": "node scripts/postinstall.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@commitlint/cli": "17.3.0",
|
||||
"@commitlint/config-conventional": "17.3.0"
|
||||
}
|
||||
}
|
||||
14
packages/commitlint-config/scripts/postinstall.js
Normal file
14
packages/commitlint-config/scripts/postinstall.js
Normal file
@@ -0,0 +1,14 @@
|
||||
'use strict'
|
||||
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
|
||||
const filePath = path.join(process.env.INIT_CWD, '.commitlintrc.json')
|
||||
|
||||
const fileConfigObject = {
|
||||
extends: ['@ivuorinen/commitlint-config']
|
||||
}
|
||||
|
||||
if (!fs.existsSync(filePath)) {
|
||||
fs.writeFileSync(filePath, JSON.stringify(fileConfigObject, undefined, 2))
|
||||
}
|
||||
3
packages/eslint-config/CHANGELOG.md
Normal file
3
packages/eslint-config/CHANGELOG.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
80
packages/eslint-config/README.md
Normal file
80
packages/eslint-config/README.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# @ivuorinen/eslint-config <!-- omit in toc -->
|
||||
|
||||
[![npm package][npm-badge]][npm-link]
|
||||
[![license MIT][license-badge]][license-link]
|
||||
[![ivuorinen's Code Style][style-badge]][style-link]
|
||||
|
||||
> ivuorinen's shareable configuration for [`ESLint`][eslint-link].
|
||||
|
||||
## Table of Contents <!-- omit in toc -->
|
||||
|
||||
- [Installation](#installation)
|
||||
- [Available Configurations](#available-configurations)
|
||||
- [Jest](#jest)
|
||||
- [Documentations](#documentations)
|
||||
- [Contributing](#contributing)
|
||||
- [Changelog](#changelog)
|
||||
- [License](#license)
|
||||
|
||||
## Installation
|
||||
|
||||
Install `this config` as a _`devDependencies`_:
|
||||
|
||||
```sh
|
||||
# npm
|
||||
npm install @ivuorinen/eslint-config --save-dev
|
||||
|
||||
# Yarn
|
||||
yarn add @ivuorinen/eslint-config --dev
|
||||
```
|
||||
|
||||
After installing it, a _`.eslintrc.json`_ file will be created automatically in the project's root folder with the following configuration:
|
||||
|
||||
```json
|
||||
{
|
||||
"extends": ["@ivuorinen"]
|
||||
}
|
||||
```
|
||||
|
||||
## Available Configurations
|
||||
|
||||
### Jest
|
||||
|
||||
Adds specific rules for the [`Jest`][jest-link] testing framework.
|
||||
|
||||
```json
|
||||
{
|
||||
"extends": ["@ivuorinen/eslint-config/jest"]
|
||||
}
|
||||
```
|
||||
|
||||
## Documentations
|
||||
|
||||
Read the [ESLint docs][eslint-docs-link] for more information.
|
||||
|
||||
## Contributing
|
||||
|
||||
If you are interested in helping contribute, please take a look at our [contribution guidelines][contributing-link] and open an [issue][issue-link] or [pull request][pull-request-link].
|
||||
|
||||
## Changelog
|
||||
|
||||
See [CHANGELOG][changelog-link] for a human-readable history of changes.
|
||||
|
||||
## License
|
||||
|
||||
Distributed under the MIT License. See [LICENSE][license-link] for more information.
|
||||
|
||||
[changelog-link]: ./CHANGELOG.md
|
||||
[eslint-docs-link]: https://eslint.org
|
||||
[eslint-link]: https://github.com/eslint/eslint
|
||||
[contributing-link]: https://github.com/ivuorinen/.github/blob/main/CONTRIBUTING.md
|
||||
[issue-link]: https://github.com/ivuorinen/base-configs/issues
|
||||
[license-badge]: https://img.shields.io/github/license/ivuorinen/base-configs?style=flat-square&labelColor=292a44&color=663399
|
||||
[license-link]: ./LICENSE
|
||||
[npm-badge]: https://img.shields.io/npm/v/@ivuorinen/eslint-config?style=flat-square&labelColor=292a44&color=663399
|
||||
[npm-link]: https://www.npmjs.com/package/@ivuorinen/eslint-config
|
||||
[pull-request-link]: https://github.com/ivuorinen/base-configs/pulls
|
||||
[style-badge]: https://img.shields.io/badge/code_style-ivuorinen%E2%80%99s-663399.svg?labelColor=292a44&style=flat-square
|
||||
[style-link]: https://github.com/ivuorinen/base-configs
|
||||
|
||||
[jest-link]: https://jestjs.io
|
||||
19
packages/eslint-config/index.js
Normal file
19
packages/eslint-config/index.js
Normal file
@@ -0,0 +1,19 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = {
|
||||
env: {
|
||||
browser: true,
|
||||
commonjs: true,
|
||||
es2021: true,
|
||||
node: true
|
||||
},
|
||||
extends: [
|
||||
'plugin:promise/recommended',
|
||||
'plugin:sonarjs/recommended',
|
||||
'standard',
|
||||
'plugin:prettier/recommended'
|
||||
],
|
||||
parserOptions: {
|
||||
ecmaVersion: 12
|
||||
}
|
||||
}
|
||||
9
packages/eslint-config/jest.js
Normal file
9
packages/eslint-config/jest.js
Normal file
@@ -0,0 +1,9 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = {
|
||||
env: {
|
||||
'jest/globals': true
|
||||
},
|
||||
extends: ['plugin:jest/recommended', 'plugin:jest/style'],
|
||||
plugins: ['jest']
|
||||
}
|
||||
51
packages/eslint-config/package.json
Normal file
51
packages/eslint-config/package.json
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"name": "@ivuorinen/eslint-config",
|
||||
"version": "0.1.0",
|
||||
"description": "ivuorinen's shareable configuration for ESLint.",
|
||||
"author": {
|
||||
"name": "Ismo Vuorinen",
|
||||
"url": "https://github.com/ivuorinen"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/ivuorinen/base-configs/issues"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12",
|
||||
"npm": ">= 6",
|
||||
"yarn": ">=1.20.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"scripts/*"
|
||||
],
|
||||
"homepage": "https://github.com/ivuorinen/base-configs/tree/main/packages/eslint-config#readme",
|
||||
"keywords": [
|
||||
"eslint-config",
|
||||
"eslint",
|
||||
"config",
|
||||
"ivuorinen"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ivuorinen/base-configs.git"
|
||||
},
|
||||
"scripts": {
|
||||
"postinstall": "node scripts/postinstall.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"eslint": "8.29.0",
|
||||
"eslint-config-prettier": "8.5.0",
|
||||
"eslint-config-standard": "17.0.0",
|
||||
"eslint-plugin-import": "2.26.0",
|
||||
"eslint-plugin-jest": "27.1.6",
|
||||
"eslint-plugin-n": "15.6.0",
|
||||
"eslint-plugin-prettier": "4.2.1",
|
||||
"eslint-plugin-promise": "6.1.1",
|
||||
"eslint-plugin-sonarjs": "0.17.0"
|
||||
}
|
||||
}
|
||||
14
packages/eslint-config/scripts/postinstall.js
Normal file
14
packages/eslint-config/scripts/postinstall.js
Normal file
@@ -0,0 +1,14 @@
|
||||
'use strict'
|
||||
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
|
||||
const filePath = path.join(process.env.INIT_CWD, '.eslintrc.json')
|
||||
|
||||
const fileConfigObject = {
|
||||
extends: ['@ivuorinen']
|
||||
}
|
||||
|
||||
if (!fs.existsSync(filePath)) {
|
||||
fs.writeFileSync(filePath, JSON.stringify(fileConfigObject, undefined, 2))
|
||||
}
|
||||
1507
packages/eslint-config/yarn.lock
Normal file
1507
packages/eslint-config/yarn.lock
Normal file
File diff suppressed because it is too large
Load Diff
3
packages/markdownlint-config/CHANGELOG.md
Normal file
3
packages/markdownlint-config/CHANGELOG.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
21
packages/markdownlint-config/LICENSE
Normal file
21
packages/markdownlint-config/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 Ismo Vuorinen
|
||||
|
||||
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:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
64
packages/markdownlint-config/README.md
Normal file
64
packages/markdownlint-config/README.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# @ivuorinen/markdownlint-config <!-- omit in toc -->
|
||||
|
||||
[![npm package][npm-badge]][npm-link]
|
||||
[![license MIT][license-badge]][license-link]
|
||||
[![code style][style-badge]][style-link]
|
||||
|
||||
> ivuorinen's shareable configuration for [`MarkdownLint`][markdownlint-link].
|
||||
|
||||
## Table of Contents <!-- omit in toc -->
|
||||
|
||||
- [Installation](#installation)
|
||||
- [Documentations](#documentations)
|
||||
- [Contributing](#contributing)
|
||||
- [Changelog](#changelog)
|
||||
- [License](#license)
|
||||
|
||||
## Installation
|
||||
|
||||
Install `this config` as a _`devDependencies`_:
|
||||
|
||||
```sh
|
||||
# npm
|
||||
npm install @ivuorinen/markdownlint-config --save-dev
|
||||
|
||||
# Yarn
|
||||
yarn add @ivuorinen/markdownlint-config --dev
|
||||
```
|
||||
|
||||
After installing it, a _`.markdownlint.json`_ file will be created automatically in the project's root folder with the following configuration:
|
||||
|
||||
```json
|
||||
{
|
||||
"extends": "@ivuorinen/markdownlint-config"
|
||||
}
|
||||
```
|
||||
|
||||
## Documentations
|
||||
|
||||
Read the [MarkdownLint docs][markdownlint-docs-link] for more information.
|
||||
|
||||
## Contributing
|
||||
|
||||
If you are interested in helping contribute, please take a look at our [contribution guidelines][contributing-link] and open an [issue][issue-link] or [pull request][pull-request-link].
|
||||
|
||||
## Changelog
|
||||
|
||||
See [CHANGELOG][changelog-link] for a human-readable history of changes.
|
||||
|
||||
## License
|
||||
|
||||
Distributed under the MIT License. See [LICENSE][license-link] for more information.
|
||||
|
||||
[changelog-link]: ./CHANGELOG.md
|
||||
[markdownlint-docs-link]: https://github.com/DavidAnson/markdownlint
|
||||
[markdownlint-link]: https://github.com/DavidAnson/markdownlint
|
||||
[contributing-link]: https://github.com/ivuorinen/.github/blob/main/CONTRIBUTING.md
|
||||
[issue-link]: https://github.com/ivuorinen/base-configs/issues
|
||||
[license-badge]: https://img.shields.io/github/license/ivuorinen/base-configs?style=flat-square&labelColor=292a44&color=663399
|
||||
[license-link]: ./LICENSE
|
||||
[npm-badge]: https://img.shields.io/npm/v/@ivuorinen/markdownlint-config?style=flat-square&labelColor=292a44&color=663399
|
||||
[npm-link]: https://www.npmjs.com/package/@ivuorinen/markdownlint-config
|
||||
[pull-request-link]: https://github.com/ivuorinen/base-configs/pulls
|
||||
[style-badge]: https://img.shields.io/badge/code_style-ivuorinen%E2%80%99s-663399.svg?labelColor=292a44&style=flat-square
|
||||
[style-link]: https://github.com/ivuorinen/base-configs
|
||||
5
packages/markdownlint-config/index.json
Normal file
5
packages/markdownlint-config/index.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"default": true,
|
||||
"MD013": false,
|
||||
"MD033": false
|
||||
}
|
||||
43
packages/markdownlint-config/package.json
Normal file
43
packages/markdownlint-config/package.json
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"name": "@ivuorinen/markdownlint-config",
|
||||
"version": "0.1.0",
|
||||
"description": "ivuorinen's shareable configuration for markdownlint.",
|
||||
"author": {
|
||||
"name": "Ismo Vuorinen",
|
||||
"url": "https://github.com/ivuorinen"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/ivuorinen/base-configs/issues"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12",
|
||||
"npm": ">= 6",
|
||||
"yarn": ">=1.20.0"
|
||||
},
|
||||
"files": [
|
||||
"index.json",
|
||||
"scripts/*"
|
||||
],
|
||||
"homepage": "https://github.com/ivuorinen/base-configs/tree/main/packages/markdownlint-config#readme",
|
||||
"keywords": [
|
||||
"markdownlint-config",
|
||||
"markdownlint",
|
||||
"config",
|
||||
"ivuorinen"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.json",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ivuorinen/base-configs.git"
|
||||
},
|
||||
"scripts": {
|
||||
"postinstall": "node scripts/postinstall.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"markdownlint-cli": "0.32.2"
|
||||
}
|
||||
}
|
||||
14
packages/markdownlint-config/scripts/postinstall.js
Normal file
14
packages/markdownlint-config/scripts/postinstall.js
Normal file
@@ -0,0 +1,14 @@
|
||||
'use strict'
|
||||
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
|
||||
const filePath = path.join(process.env.INIT_CWD, '.markdownlint.json')
|
||||
|
||||
const fileConfigObject = {
|
||||
extends: '@ivuorinen/markdownlint-config'
|
||||
}
|
||||
|
||||
if (!fs.existsSync(filePath)) {
|
||||
fs.writeFileSync(filePath, JSON.stringify(fileConfigObject, undefined, 2))
|
||||
}
|
||||
186
packages/markdownlint-config/yarn.lock
Normal file
186
packages/markdownlint-config/yarn.lock
Normal file
@@ -0,0 +1,186 @@
|
||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
argparse@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
|
||||
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
|
||||
|
||||
balanced-match@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
||||
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
|
||||
|
||||
brace-expansion@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
|
||||
integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
|
||||
dependencies:
|
||||
balanced-match "^1.0.0"
|
||||
|
||||
commander@~9.4.0:
|
||||
version "9.4.1"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd"
|
||||
integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==
|
||||
|
||||
deep-extend@^0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
|
||||
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
|
||||
|
||||
entities@~3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4"
|
||||
integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==
|
||||
|
||||
fs.realpath@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
||||
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
|
||||
|
||||
get-stdin@~9.0.0:
|
||||
version "9.0.0"
|
||||
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-9.0.0.tgz#3983ff82e03d56f1b2ea0d3e60325f39d703a575"
|
||||
integrity sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==
|
||||
|
||||
glob@~8.0.3:
|
||||
version "8.0.3"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e"
|
||||
integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==
|
||||
dependencies:
|
||||
fs.realpath "^1.0.0"
|
||||
inflight "^1.0.4"
|
||||
inherits "2"
|
||||
minimatch "^5.0.1"
|
||||
once "^1.3.0"
|
||||
|
||||
ignore@~5.2.0:
|
||||
version "5.2.4"
|
||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
|
||||
integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
|
||||
|
||||
inflight@^1.0.4:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
|
||||
integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
|
||||
dependencies:
|
||||
once "^1.3.0"
|
||||
wrappy "1"
|
||||
|
||||
inherits@2:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||
|
||||
ini@~3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.1.tgz#c76ec81007875bc44d544ff7a11a55d12294102d"
|
||||
integrity sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==
|
||||
|
||||
js-yaml@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
|
||||
integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
|
||||
dependencies:
|
||||
argparse "^2.0.1"
|
||||
|
||||
jsonc-parser@~3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.1.0.tgz#73b8f0e5c940b83d03476bc2e51a20ef0932615d"
|
||||
integrity sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==
|
||||
|
||||
linkify-it@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-4.0.1.tgz#01f1d5e508190d06669982ba31a7d9f56a5751ec"
|
||||
integrity sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==
|
||||
dependencies:
|
||||
uc.micro "^1.0.1"
|
||||
|
||||
markdown-it@13.0.1:
|
||||
version "13.0.1"
|
||||
resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-13.0.1.tgz#c6ecc431cacf1a5da531423fc6a42807814af430"
|
||||
integrity sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==
|
||||
dependencies:
|
||||
argparse "^2.0.1"
|
||||
entities "~3.0.1"
|
||||
linkify-it "^4.0.1"
|
||||
mdurl "^1.0.1"
|
||||
uc.micro "^1.0.5"
|
||||
|
||||
markdownlint-cli@0.32.2:
|
||||
version "0.32.2"
|
||||
resolved "https://registry.yarnpkg.com/markdownlint-cli/-/markdownlint-cli-0.32.2.tgz#b7b5c5808039aef4022aef603efaa607caf8e0de"
|
||||
integrity sha512-xmJT1rGueUgT4yGNwk6D0oqQr90UJ7nMyakXtqjgswAkEhYYqjHew9RY8wDbOmh2R270IWjuKSeZzHDEGPAUkQ==
|
||||
dependencies:
|
||||
commander "~9.4.0"
|
||||
get-stdin "~9.0.0"
|
||||
glob "~8.0.3"
|
||||
ignore "~5.2.0"
|
||||
js-yaml "^4.1.0"
|
||||
jsonc-parser "~3.1.0"
|
||||
markdownlint "~0.26.2"
|
||||
markdownlint-rule-helpers "~0.17.2"
|
||||
minimatch "~5.1.0"
|
||||
run-con "~1.2.11"
|
||||
|
||||
markdownlint-rule-helpers@~0.17.2:
|
||||
version "0.17.2"
|
||||
resolved "https://registry.yarnpkg.com/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.17.2.tgz#64d6e8c66e497e631b0e40cf1cef7ca622a0b654"
|
||||
integrity sha512-XaeoW2NYSlWxMCZM2B3H7YTG6nlaLfkEZWMBhr4hSPlq9MuY2sy83+Xr89jXOqZMZYjvi5nBCGoFh7hHoPKZmA==
|
||||
|
||||
markdownlint@~0.26.2:
|
||||
version "0.26.2"
|
||||
resolved "https://registry.yarnpkg.com/markdownlint/-/markdownlint-0.26.2.tgz#11d3d03e7f0dd3c2e239753ee8fd064a861d9237"
|
||||
integrity sha512-2Am42YX2Ex5SQhRq35HxYWDfz1NLEOZWWN25nqd2h3AHRKsGRE+Qg1gt1++exW792eXTrR4jCNHfShfWk9Nz8w==
|
||||
dependencies:
|
||||
markdown-it "13.0.1"
|
||||
|
||||
mdurl@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
|
||||
integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==
|
||||
|
||||
minimatch@^5.0.1, minimatch@~5.1.0:
|
||||
version "5.1.6"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96"
|
||||
integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
|
||||
dependencies:
|
||||
brace-expansion "^2.0.1"
|
||||
|
||||
minimist@^1.2.6:
|
||||
version "1.2.8"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
|
||||
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
|
||||
|
||||
once@^1.3.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
||||
integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
|
||||
dependencies:
|
||||
wrappy "1"
|
||||
|
||||
run-con@~1.2.11:
|
||||
version "1.2.11"
|
||||
resolved "https://registry.yarnpkg.com/run-con/-/run-con-1.2.11.tgz#0014ed430bad034a60568dfe7de2235f32e3f3c4"
|
||||
integrity sha512-NEMGsUT+cglWkzEr4IFK21P4Jca45HqiAbIIZIBdX5+UZTB24Mb/21iNGgz9xZa8tL6vbW7CXmq7MFN42+VjNQ==
|
||||
dependencies:
|
||||
deep-extend "^0.6.0"
|
||||
ini "~3.0.0"
|
||||
minimist "^1.2.6"
|
||||
strip-json-comments "~3.1.1"
|
||||
|
||||
strip-json-comments@~3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
|
||||
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
|
||||
|
||||
uc.micro@^1.0.1, uc.micro@^1.0.5:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac"
|
||||
integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==
|
||||
|
||||
wrappy@1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
||||
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
|
||||
3
packages/prettier-config/CHANGELOG.md
Normal file
3
packages/prettier-config/CHANGELOG.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
21
packages/prettier-config/LICENSE
Normal file
21
packages/prettier-config/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 Ismo Vuorinen
|
||||
|
||||
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:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
73
packages/prettier-config/README.md
Normal file
73
packages/prettier-config/README.md
Normal file
@@ -0,0 +1,73 @@
|
||||
# @ivuorinen/prettier-config <!-- omit in toc -->
|
||||
|
||||
[![npm package][npm-badge]][npm-link]
|
||||
[![license MIT][license-badge]][license-link]
|
||||
[![ivuorinen's Code Style][style-badge]][style-link]
|
||||
|
||||
> ivuorinen's shareable configuration for [`Prettier`][prettier-link].
|
||||
|
||||
## Table of Contents <!-- omit in toc -->
|
||||
|
||||
- [Installation](#installation)
|
||||
- [Documentations](#documentations)
|
||||
- [Contributing](#contributing)
|
||||
- [Changelog](#changelog)
|
||||
- [License](#license)
|
||||
|
||||
## Installation
|
||||
|
||||
Install `this config` as a _`devDependencies`_:
|
||||
|
||||
```sh
|
||||
# npm
|
||||
npm install @ivuorinen/prettier-config --save-dev
|
||||
|
||||
# Yarn
|
||||
yarn add @ivuorinen/prettier-config --dev
|
||||
```
|
||||
|
||||
After installing it, a _`.prettierrc.json`_ file will be created automatically in the project's root folder with the following configuration:
|
||||
|
||||
```json
|
||||
"@ivuorinen/prettier-config"
|
||||
```
|
||||
|
||||
> Note: This method does **not** offer a way to _extend_ the configuration to overwrite some properties from the shared configuration. If you need to do that, import the file in a _`.prettierrc.js`_ file and export the modifications, e.g:
|
||||
>
|
||||
> ```js
|
||||
> module.exports = {
|
||||
> ...require('@ivuorinen/prettier-config'),
|
||||
>
|
||||
> // Add custom options bellow:
|
||||
> semi: true
|
||||
> }
|
||||
> ```
|
||||
|
||||
## Documentations
|
||||
|
||||
Read the [Prettier docs][prettier-docs-link] for more information.
|
||||
|
||||
## Contributing
|
||||
|
||||
If you are interested in helping contribute, please take a look at our [contribution guidelines][contributing-link] and open an [issue][issue-link] or [pull request][pull-request-link].
|
||||
|
||||
## Changelog
|
||||
|
||||
See [CHANGELOG][changelog-link] for a human-readable history of changes.
|
||||
|
||||
## License
|
||||
|
||||
Distributed under the MIT License. See [LICENSE][license-link] for more information.
|
||||
|
||||
[changelog-link]: ./CHANGELOG.md
|
||||
[prettier-docs-link]: https://prettier.io
|
||||
[prettier-link]: https://github.com/prettier/prettier
|
||||
[contributing-link]: https://github.com/ivuorinen/.github/blob/main/CONTRIBUTING.md
|
||||
[issue-link]: https://github.com/ivuorinen/base-configs/issues
|
||||
[license-badge]: https://img.shields.io/github/license/ivuorinen/base-configs?style=flat-square&labelColor=292a44&color=663399
|
||||
[license-link]: ./LICENSE
|
||||
[npm-badge]: https://img.shields.io/npm/v/@ivuorinen/prettier-config?style=flat-square&labelColor=292a44&color=663399
|
||||
[npm-link]: https://www.npmjs.com/package/@ivuorinen/prettier-config
|
||||
[pull-request-link]: https://github.com/ivuorinen/base-configs/pulls
|
||||
[style-badge]: https://img.shields.io/badge/code_style-ivuorinen%E2%80%99s-663399.svg?labelColor=292a44&style=flat-square
|
||||
[style-link]: https://github.com/ivuorinen/base-configs
|
||||
17
packages/prettier-config/index.js
Normal file
17
packages/prettier-config/index.js
Normal file
@@ -0,0 +1,17 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = {
|
||||
arrowParens: 'avoid',
|
||||
proseWrap: 'never',
|
||||
semi: false,
|
||||
singleQuote: true,
|
||||
trailingComma: 'none',
|
||||
overrides: [
|
||||
{
|
||||
files: ['*.css', '*.scss'],
|
||||
options: {
|
||||
singleQuote: false
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
43
packages/prettier-config/package.json
Normal file
43
packages/prettier-config/package.json
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"name": "@ivuorinen/prettier-config",
|
||||
"version": "0.1.0",
|
||||
"description": "ivuorinen's shareable configuration for Prettier.",
|
||||
"author": {
|
||||
"name": "Ismo Vuorinen",
|
||||
"url": "https://github.com/ivuorinen"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/ivuorinen/base-configs/issues"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12",
|
||||
"npm": ">= 6",
|
||||
"yarn": ">=1.20.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"scripts/*"
|
||||
],
|
||||
"homepage": "https://github.com/ivuorinen/base-configs/tree/main/packages/prettier-config#readme",
|
||||
"keywords": [
|
||||
"config",
|
||||
"ivuorinen",
|
||||
"prettier-config",
|
||||
"prettier"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ivuorinen/base-configs.git"
|
||||
},
|
||||
"scripts": {
|
||||
"postinstall": "node scripts/postinstall.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"prettier": "2.8.0"
|
||||
}
|
||||
}
|
||||
12
packages/prettier-config/scripts/postinstall.js
Normal file
12
packages/prettier-config/scripts/postinstall.js
Normal file
@@ -0,0 +1,12 @@
|
||||
'use strict'
|
||||
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
|
||||
const filePath = path.join(process.env.INIT_CWD, '.prettierrc.json')
|
||||
|
||||
const fileConfigObject = '@ivuorinen/prettier-config'
|
||||
|
||||
if (!fs.existsSync(filePath)) {
|
||||
fs.writeFileSync(filePath, JSON.stringify(fileConfigObject, undefined, 2))
|
||||
}
|
||||
8
packages/prettier-config/yarn.lock
Normal file
8
packages/prettier-config/yarn.lock
Normal file
@@ -0,0 +1,8 @@
|
||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
prettier@2.8.0:
|
||||
version "2.8.0"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.0.tgz#c7df58393c9ba77d6fba3921ae01faf994fb9dc9"
|
||||
integrity sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==
|
||||
3
packages/semantic-release-config/CHANGELOG.md
Normal file
3
packages/semantic-release-config/CHANGELOG.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
21
packages/semantic-release-config/LICENSE
Normal file
21
packages/semantic-release-config/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 Ismo Vuorinen
|
||||
|
||||
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:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
134
packages/semantic-release-config/README.md
Normal file
134
packages/semantic-release-config/README.md
Normal file
@@ -0,0 +1,134 @@
|
||||
# @ivuorinen/semantic-release-config <!-- omit in toc -->
|
||||
|
||||
[![npm package][npm-badge]][npm-link]
|
||||
[![license MIT][license-badge]][license-link]
|
||||
[![ivuorinen's Code Style][style-badge]][style-link]
|
||||
|
||||
> ivuorinen's shareable configuration for [`semantic-release`][semantic-release-link].
|
||||
|
||||
## Table of Contents <!-- omit in toc -->
|
||||
|
||||
- [Plugins](#plugins)
|
||||
- [Installation](#installation)
|
||||
- [Configuration](#configuration)
|
||||
- [GitHub Actions](#github-actions)
|
||||
- [Documentations](#documentations)
|
||||
- [Contributing](#contributing)
|
||||
- [Changelog](#changelog)
|
||||
- [License](#license)
|
||||
|
||||
## Plugins
|
||||
|
||||
This shareable configuration use the following plugins:
|
||||
|
||||
- [`@semantic-release/commit-analyzer`][sr-commit-analyzer-link]
|
||||
- [`@semantic-release/release-notes-generator`][sr-release-notes-generator-link]
|
||||
- [`@semantic-release/changelog`][sr-changelog-link]
|
||||
- [`@semantic-release/npm`][sr-npm-link]
|
||||
- [`@semantic-release/github`][sr-github-link]
|
||||
- [`@semantic-release/git`][sr-git-link]
|
||||
|
||||
## Installation
|
||||
|
||||
Install `this config` as a _`devDependencies`_:
|
||||
|
||||
```sh
|
||||
# npm
|
||||
npm install @ivuorinen/semantic-release-config --save-dev
|
||||
|
||||
# Yarn
|
||||
yarn add @ivuorinen/semantic-release-config --dev
|
||||
```
|
||||
|
||||
After installing it, a _`.releaserc.json`_ file will be created automatically in the project's root folder with the following configuration:
|
||||
|
||||
```json
|
||||
{
|
||||
"extends": ["@ivuorinen/semantic-release-config"]
|
||||
}
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
Ensure that your CI configuration has the following **_secret_** environment variables set:
|
||||
|
||||
- [`GH_TOKEN`][gh-token-link] with [`public_repo`][gh-scopes-link] access or `GITHUB_TOKEN`.
|
||||
- [`NPM_TOKEN`][npm-token-link]
|
||||
|
||||
See each [plugin](#plugins) documentation for required installation and configuration steps.
|
||||
|
||||
## GitHub Actions
|
||||
|
||||
```yaml
|
||||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: Release
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2.3.4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node.js Environment
|
||||
uses: actions/setup-node@v2.1.5
|
||||
with:
|
||||
always-auth: true
|
||||
node-version: 14
|
||||
registry-url: "https://registry.npmjs.org"
|
||||
|
||||
- name: Install Dependencies with Caching
|
||||
uses: bahmutov/npm-install@v1.6.0
|
||||
|
||||
- name: Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
run: yarn run semantic-release
|
||||
```
|
||||
|
||||
## Documentations
|
||||
|
||||
Read the [semantic-release docs][semantic-release-docs-link] for more information.
|
||||
|
||||
## Contributing
|
||||
|
||||
If you are interested in helping contribute, please take a look at our [contribution guidelines][contributing-link] and open an [issue][issue-link] or [pull request][pull-request-link].
|
||||
|
||||
## Changelog
|
||||
|
||||
See [CHANGELOG][changelog-link] for a human-readable history of changes.
|
||||
|
||||
## License
|
||||
|
||||
Distributed under the MIT License. See [LICENSE][license-link] for more information.
|
||||
|
||||
[changelog-link]: ./CHANGELOG.md
|
||||
[contributing-link]: https://github.com/ivuorinen/.github/blob/main/CONTRIBUTING.md
|
||||
[gh-scopes-link]: https://docs.github.com/en/developers/apps/scopes-for-oauth-apps#available-scopes
|
||||
[gh-token-link]: https://github.com/settings/tokens/new?scopes=public_repo
|
||||
[issue-link]: https://github.com/ivuorinen/base-configs/issues
|
||||
[license-badge]: https://img.shields.io/github/license/ivuorinen/base-configs?style=flat-square&labelColor=292a44&color=663399
|
||||
[license-link]: ./LICENSE
|
||||
[npm-badge]: https://img.shields.io/npm/v/@ivuorinen/semantic-release-config?style=flat-square&labelColor=292a44&color=663399
|
||||
[npm-link]: https://www.npmjs.com/package/@ivuorinen/semantic-release-config
|
||||
[npm-token-link]: https://docs.npmjs.com/about-access-tokens
|
||||
[pull-request-link]: https://github.com/ivuorinen/base-configs/pulls
|
||||
[semantic-release-docs-link]: https://semantic-release.gitbook.io/
|
||||
[semantic-release-link]: https://github.com/semantic-release/semantic-release
|
||||
[sr-changelog-link]: https://github.com/semantic-release/changelog
|
||||
[sr-commit-analyzer-link]: https://github.com/semantic-release/commit-analyzer
|
||||
[sr-git-link]: https://github.com/semantic-release/git
|
||||
[sr-github-link]: https://github.com/semantic-release/github
|
||||
[sr-npm-link]: https://github.com/semantic-release/npm
|
||||
[sr-release-notes-generator-link]: https://github.com/semantic-release/release-notes-generator
|
||||
[style-badge]: https://img.shields.io/badge/code_style-ivuorinen%E2%80%99s-663399.svg?labelColor=292a44&style=flat-square
|
||||
[style-link]: https://github.com/ivuorinen/base-configs
|
||||
19
packages/semantic-release-config/index.js
Normal file
19
packages/semantic-release-config/index.js
Normal file
@@ -0,0 +1,19 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = {
|
||||
plugins: [
|
||||
'@semantic-release/commit-analyzer',
|
||||
'@semantic-release/release-notes-generator',
|
||||
[
|
||||
'@semantic-release/changelog',
|
||||
{
|
||||
changelogTitle:
|
||||
'# Changelog\n\nAll notable changes to this project will be documented in this file. See\n[Conventional Commits](https://conventionalcommits.org) for commit guidelines.'
|
||||
}
|
||||
],
|
||||
'@semantic-release/npm',
|
||||
'@semantic-release/github',
|
||||
'@semantic-release/git'
|
||||
],
|
||||
preset: 'angular'
|
||||
}
|
||||
45
packages/semantic-release-config/package.json
Normal file
45
packages/semantic-release-config/package.json
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"name": "@ivuorinen/semantic-release-config",
|
||||
"version": "0.1.0",
|
||||
"description": "ivuorinen's shareable configuration for semantic-release.",
|
||||
"author": {
|
||||
"name": "Ismo Vuorinen",
|
||||
"url": "https://github.com/ivuorinen"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/ivuorinen/base-configs/issues"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12",
|
||||
"npm": ">= 6",
|
||||
"yarn": ">=1.20.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"scripts/*"
|
||||
],
|
||||
"homepage": "https://github.com/ivuorinen/base-configs/tree/main/packages/semantic-release-config#readme",
|
||||
"keywords": [
|
||||
"semantic-release-config",
|
||||
"semantic-release",
|
||||
"config",
|
||||
"ivuorinen"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ivuorinen/base-configs.git"
|
||||
},
|
||||
"scripts": {
|
||||
"postinstall": "node scripts/postinstall.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@semantic-release/changelog": "6.0.2",
|
||||
"@semantic-release/git": "10.0.1",
|
||||
"semantic-release": "19.0.5"
|
||||
}
|
||||
}
|
||||
14
packages/semantic-release-config/scripts/postinstall.js
Normal file
14
packages/semantic-release-config/scripts/postinstall.js
Normal file
@@ -0,0 +1,14 @@
|
||||
'use strict'
|
||||
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
|
||||
const filePath = path.join(process.env.INIT_CWD, '.releaserc.json')
|
||||
|
||||
const fileConfigObject = {
|
||||
extends: ['@ivuorinen/semantic-release-config']
|
||||
}
|
||||
|
||||
if (!fs.existsSync(filePath)) {
|
||||
fs.writeFileSync(filePath, JSON.stringify(fileConfigObject, undefined, 2))
|
||||
}
|
||||
3360
packages/semantic-release-config/yarn.lock
Normal file
3360
packages/semantic-release-config/yarn.lock
Normal file
File diff suppressed because it is too large
Load Diff
3
packages/stylelint-config/CHANGELOG.md
Normal file
3
packages/stylelint-config/CHANGELOG.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
21
packages/stylelint-config/LICENSE
Normal file
21
packages/stylelint-config/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 Ismo Vuorinen
|
||||
|
||||
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:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
107
packages/stylelint-config/README.md
Normal file
107
packages/stylelint-config/README.md
Normal file
@@ -0,0 +1,107 @@
|
||||
# @ivuorinen/stylelint-config <!-- omit in toc -->
|
||||
|
||||
[![npm package][npm-badge]][npm-link]
|
||||
[![license MIT][license-badge]][license-link]
|
||||
[![ivuorinen's Code Style][style-badge]][style-link]
|
||||
|
||||
> ivuorinen's shareable configuration for [`stylelint`][stylelint-link].
|
||||
|
||||
## Table of Contents <!-- omit in toc -->
|
||||
|
||||
- [Installation](#installation)
|
||||
- [Usage](#usage)
|
||||
- [CSS <sub><sup>(Default)</sup></sub>](#css-subsupdefaultsupsub)
|
||||
- [SCSS](#scss)
|
||||
- [Extending the config](#extending-the-config)
|
||||
- [Documentations](#documentations)
|
||||
- [Contributing](#contributing)
|
||||
- [Changelog](#changelog)
|
||||
- [License](#license)
|
||||
|
||||
## Installation
|
||||
|
||||
Install `this config` as a _`devDependencies`_:
|
||||
|
||||
```sh
|
||||
# npm
|
||||
npm install @ivuorinen/stylelint-config --save-dev
|
||||
|
||||
# Yarn
|
||||
yarn add @ivuorinen/stylelint-config --dev
|
||||
```
|
||||
|
||||
After installing it, a _`.stylelintrc.json`_ file will be created automatically in the project's root folder with the following configuration:
|
||||
|
||||
```json
|
||||
{
|
||||
"extends": ["@ivuorinen/stylelint-config/css"]
|
||||
}
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
This package provides configuration for CSS and SCSS, you can choose which one you want to extend:
|
||||
|
||||
### CSS <sub><sup>(Default)</sup></sub>
|
||||
|
||||
```json
|
||||
{
|
||||
"extends": ["@ivuorinen/stylelint-config/css"]
|
||||
}
|
||||
```
|
||||
|
||||
### SCSS
|
||||
|
||||
```json
|
||||
{
|
||||
"extends": ["@ivuorinen/stylelint-config/scss"]
|
||||
}
|
||||
```
|
||||
|
||||
## Extending the config
|
||||
|
||||
The defined rules can be modified by adding other configurations, plugins or custom rules:
|
||||
|
||||
```json
|
||||
{
|
||||
"extends": ["@ivuorinen/stylelint-config/css", "some-other-config-you-use"],
|
||||
"rules": {
|
||||
"at-rule-no-unknown": [
|
||||
true,
|
||||
{
|
||||
"ignoreAtRules": ["extends", "ignores"]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
## Documentations
|
||||
|
||||
Read the [stylelint docs][stylelint-docs-link] for more information.
|
||||
|
||||
## Contributing
|
||||
|
||||
If you are interested in helping contribute, please take a look at our [contribution guidelines][contributing-link] and open an [issue][issue-link] or [pull request][pull-request-link].
|
||||
|
||||
## Changelog
|
||||
|
||||
See [CHANGELOG][changelog-link] for a human-readable history of changes.
|
||||
|
||||
## License
|
||||
|
||||
Distributed under the MIT License. See [LICENSE][license-link] for more information.
|
||||
|
||||
[changelog-link]: ./CHANGELOG.md
|
||||
[stylelint-docs-link]: https://stylelint.io
|
||||
[stylelint-link]: https://github.com/stylelint/stylelint
|
||||
[contributing-link]: https://github.com/ivuorinen/.github/blob/main/CONTRIBUTING.md
|
||||
[issue-link]: https://github.com/ivuorinen/base-configs/issues
|
||||
[license-badge]: https://img.shields.io/github/license/ivuorinen/base-configs?style=flat-square&labelColor=292a44&color=663399
|
||||
[license-link]: ./LICENSE
|
||||
[npm-badge]: https://img.shields.io/npm/v/@ivuorinen/stylelint-config?style=flat-square&labelColor=292a44&color=663399
|
||||
[npm-link]: https://www.npmjs.com/package/@ivuorinen/stylelint-config
|
||||
[pull-request-link]: https://github.com/ivuorinen/base-configs/pulls
|
||||
[style-badge]: https://img.shields.io/badge/code_style-ivuorinen%E2%80%99s-663399.svg?labelColor=292a44&style=flat-square
|
||||
[style-link]: https://github.com/ivuorinen/base-configs
|
||||
279
packages/stylelint-config/css/index.js
Normal file
279
packages/stylelint-config/css/index.js
Normal file
@@ -0,0 +1,279 @@
|
||||
/* eslint-disable sonarjs/no-duplicate-string */
|
||||
/* eslint-disable unicorn/no-null */
|
||||
'use strict'
|
||||
|
||||
module.exports = {
|
||||
extends: ['stylelint-config-standard'],
|
||||
plugins: ['stylelint-order'],
|
||||
rules: {
|
||||
'at-rule-empty-line-before': [
|
||||
'always',
|
||||
{
|
||||
except: ['blockless-after-same-name-blockless', 'first-nested']
|
||||
}
|
||||
],
|
||||
'at-rule-name-space-after': 'always',
|
||||
'at-rule-no-vendor-prefix': true,
|
||||
'at-rule-semicolon-space-before': 'never',
|
||||
'block-closing-brace-empty-line-before': null,
|
||||
'block-closing-brace-newline-after': null,
|
||||
'block-opening-brace-space-before': null,
|
||||
'color-named': 'never',
|
||||
'declaration-block-semicolon-newline-before': 'never-multi-line',
|
||||
'declaration-empty-line-before': 'never',
|
||||
'font-family-name-quotes': 'always-where-recommended',
|
||||
'font-weight-notation': [
|
||||
'numeric',
|
||||
{
|
||||
ignore: ['relative']
|
||||
}
|
||||
],
|
||||
'function-url-no-scheme-relative': true,
|
||||
'function-url-quotes': 'always',
|
||||
'max-empty-lines': 2,
|
||||
'max-line-length': null,
|
||||
'media-feature-name-no-vendor-prefix': true,
|
||||
'no-descending-specificity': null,
|
||||
'number-leading-zero': 'never',
|
||||
'order/properties-order': [
|
||||
'position',
|
||||
'top',
|
||||
'right',
|
||||
'bottom',
|
||||
'left',
|
||||
'z-index',
|
||||
'box-sizing',
|
||||
'display',
|
||||
'flex',
|
||||
'flex-align',
|
||||
'flex-basis',
|
||||
'flex-direction',
|
||||
'flex-wrap',
|
||||
'flex-flow',
|
||||
'flex-shrink',
|
||||
'flex-grow',
|
||||
'flex-order',
|
||||
'flex-pack',
|
||||
'align-content',
|
||||
'align-items',
|
||||
'align-self',
|
||||
'justify-content',
|
||||
'order',
|
||||
'float',
|
||||
'width',
|
||||
'min-width',
|
||||
'max-width',
|
||||
'height',
|
||||
'min-height',
|
||||
'max-height',
|
||||
'padding',
|
||||
'padding-top',
|
||||
'padding-right',
|
||||
'padding-bottom',
|
||||
'padding-left',
|
||||
'margin',
|
||||
'margin-top',
|
||||
'margin-right',
|
||||
'margin-bottom',
|
||||
'margin-left',
|
||||
'overflow',
|
||||
'overflow-x',
|
||||
'overflow-y',
|
||||
'-webkit-overflow-scrolling',
|
||||
'-ms-overflow-x',
|
||||
'-ms-overflow-y',
|
||||
'-ms-overflow-style',
|
||||
'columns',
|
||||
'column-count',
|
||||
'column-fill',
|
||||
'column-gap',
|
||||
'column-rule',
|
||||
'column-rule-width',
|
||||
'column-rule-style',
|
||||
'column-rule-color',
|
||||
'column-span',
|
||||
'column-width',
|
||||
'orphans',
|
||||
'widows',
|
||||
'clip',
|
||||
'clear',
|
||||
'font',
|
||||
'font-family',
|
||||
'font-size',
|
||||
'font-style',
|
||||
'font-weight',
|
||||
'font-variant',
|
||||
'font-size-adjust',
|
||||
'font-stretch',
|
||||
'font-effect',
|
||||
'font-emphasize',
|
||||
'font-emphasize-position',
|
||||
'font-emphasize-style',
|
||||
'font-smooth',
|
||||
'src',
|
||||
'hyphens',
|
||||
'line-height',
|
||||
'color',
|
||||
'text-align',
|
||||
'text-align-last',
|
||||
'text-emphasis',
|
||||
'text-emphasis-color',
|
||||
'text-emphasis-style',
|
||||
'text-emphasis-position',
|
||||
'text-decoration',
|
||||
'text-indent',
|
||||
'text-justify',
|
||||
'text-outline',
|
||||
'-ms-text-overflow',
|
||||
'text-overflow',
|
||||
'text-overflow-ellipsis',
|
||||
'text-overflow-mode',
|
||||
'text-shadow',
|
||||
'text-transform',
|
||||
'text-wrap',
|
||||
'-webkit-text-size-adjust',
|
||||
'-ms-text-size-adjust',
|
||||
'letter-spacing',
|
||||
'-ms-word-break',
|
||||
'word-break',
|
||||
'word-spacing',
|
||||
'-ms-word-wrap',
|
||||
'word-wrap',
|
||||
'overflow-wrap',
|
||||
'tab-size',
|
||||
'white-space',
|
||||
'vertical-align',
|
||||
'direction',
|
||||
'unicode-bidi',
|
||||
'list-style',
|
||||
'list-style-position',
|
||||
'list-style-type',
|
||||
'list-style-image',
|
||||
'pointer-events',
|
||||
'-ms-touch-action',
|
||||
'touch-action',
|
||||
'cursor',
|
||||
'visibility',
|
||||
'zoom',
|
||||
'table-layout',
|
||||
'empty-cells',
|
||||
'caption-side',
|
||||
'border-spacing',
|
||||
'border-collapse',
|
||||
'content',
|
||||
'quotes',
|
||||
'counter-reset',
|
||||
'counter-increment',
|
||||
'resize',
|
||||
'user-select',
|
||||
'nav-index',
|
||||
'nav-up',
|
||||
'nav-right',
|
||||
'nav-down',
|
||||
'nav-left',
|
||||
'background',
|
||||
'background-color',
|
||||
'background-image',
|
||||
'filter',
|
||||
'background-repeat',
|
||||
'background-attachment',
|
||||
'background-position',
|
||||
'background-position-x',
|
||||
'background-position-y',
|
||||
'background-clip',
|
||||
'background-origin',
|
||||
'background-size',
|
||||
'border',
|
||||
'border-color',
|
||||
'border-style',
|
||||
'border-width',
|
||||
'border-top',
|
||||
'border-top-color',
|
||||
'border-top-style',
|
||||
'border-top-width',
|
||||
'border-right',
|
||||
'border-right-color',
|
||||
'border-right-style',
|
||||
'border-right-width',
|
||||
'border-bottom',
|
||||
'border-bottom-color',
|
||||
'border-bottom-style',
|
||||
'border-bottom-width',
|
||||
'border-left',
|
||||
'border-left-color',
|
||||
'border-left-style',
|
||||
'border-left-width',
|
||||
'border-radius',
|
||||
'border-top-left-radius',
|
||||
'border-top-right-radius',
|
||||
'border-bottom-right-radius',
|
||||
'border-bottom-left-radius',
|
||||
'border-image',
|
||||
'border-image-source',
|
||||
'border-image-slice',
|
||||
'border-image-width',
|
||||
'border-image-outset',
|
||||
'border-image-repeat',
|
||||
'outline',
|
||||
'outline-width',
|
||||
'outline-style',
|
||||
'outline-color',
|
||||
'outline-offset',
|
||||
'box-shadow',
|
||||
'opacity',
|
||||
'-ms-interpolation-mode',
|
||||
'page-break-after',
|
||||
'page-break-before',
|
||||
'page-break-inside',
|
||||
'transition',
|
||||
'transition-delay',
|
||||
'transition-timing-function',
|
||||
'transition-duration',
|
||||
'transition-property',
|
||||
'transform',
|
||||
'transform-origin',
|
||||
'perspective',
|
||||
'appearance',
|
||||
'animation',
|
||||
'animation-name',
|
||||
'animation-duration',
|
||||
'animation-play-state',
|
||||
'animation-timing-function',
|
||||
'animation-delay',
|
||||
'animation-iteration-count',
|
||||
'animation-direction',
|
||||
'animation-fill-mode',
|
||||
'fill',
|
||||
'stroke'
|
||||
],
|
||||
'property-no-vendor-prefix': true,
|
||||
'rule-empty-line-before': [
|
||||
'always',
|
||||
{
|
||||
except: ['after-single-line-comment', 'first-nested']
|
||||
}
|
||||
],
|
||||
'selector-attribute-quotes': 'always',
|
||||
'selector-class-pattern': '^[a-z][a-z0-9\\-]*[a-z0-9]$',
|
||||
'selector-list-comma-newline-before': 'never-multi-line',
|
||||
'selector-list-comma-space-after': 'always-single-line',
|
||||
'selector-list-comma-space-before': 'never-single-line',
|
||||
'selector-max-attribute': 2,
|
||||
'selector-max-class': 4,
|
||||
'selector-max-combinators': 4,
|
||||
'selector-max-compound-selectors': 4,
|
||||
'selector-max-id': 0,
|
||||
'selector-max-specificity': null,
|
||||
'selector-max-type': 2,
|
||||
'selector-max-universal': 1,
|
||||
'selector-no-qualifying-type': true,
|
||||
'selector-no-vendor-prefix': true,
|
||||
'shorthand-property-no-redundant-values': true,
|
||||
'string-quotes': 'double',
|
||||
'unicode-bom': 'never',
|
||||
'value-list-comma-newline-after': 'never-multi-line',
|
||||
'value-list-comma-newline-before': 'never-multi-line',
|
||||
'value-list-comma-space-after': 'always',
|
||||
'value-no-vendor-prefix': true
|
||||
}
|
||||
}
|
||||
48
packages/stylelint-config/package.json
Normal file
48
packages/stylelint-config/package.json
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"name": "@ivuorinen/stylelint-config",
|
||||
"version": "0.1.0",
|
||||
"description": "ivuorinen's shareable configuration for stylelint.",
|
||||
"author": {
|
||||
"name": "Ismo Vuorinen",
|
||||
"url": "https://github.com/ivuorinen"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/ivuorinen/base-configs/issues"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12",
|
||||
"npm": ">= 6",
|
||||
"yarn": ">=1.20.0"
|
||||
},
|
||||
"files": [
|
||||
"css/index.js",
|
||||
"scripts/*",
|
||||
"scss/index.js"
|
||||
],
|
||||
"homepage": "https://github.com/ivuorinen/base-configs/tree/main/packages/stylelint-config#readme",
|
||||
"keywords": [
|
||||
"stylelint-config",
|
||||
"stylelint",
|
||||
"config",
|
||||
"ivuorinen"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "css/index.js",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ivuorinen/base-configs.git"
|
||||
},
|
||||
"scripts": {
|
||||
"postinstall": "node scripts/postinstall.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"stylelint": "14.16.0",
|
||||
"stylelint-config-recommended-scss": "8.0.0",
|
||||
"stylelint-config-standard": "29.0.0",
|
||||
"stylelint-order": "5.0.0",
|
||||
"stylelint-scss": "4.3.0"
|
||||
}
|
||||
}
|
||||
14
packages/stylelint-config/scripts/postinstall.js
Normal file
14
packages/stylelint-config/scripts/postinstall.js
Normal file
@@ -0,0 +1,14 @@
|
||||
'use strict'
|
||||
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
|
||||
const filePath = path.join(process.env.INIT_CWD, '.stylelintrc.json')
|
||||
|
||||
const fileConfigObject = {
|
||||
extends: ['@ivuorinen/stylelint-config/css']
|
||||
}
|
||||
|
||||
if (!fs.existsSync(filePath)) {
|
||||
fs.writeFileSync(filePath, JSON.stringify(fileConfigObject, undefined, 2))
|
||||
}
|
||||
33
packages/stylelint-config/scss/index.js
Normal file
33
packages/stylelint-config/scss/index.js
Normal file
@@ -0,0 +1,33 @@
|
||||
/* eslint-disable unicorn/no-null */
|
||||
'use strict'
|
||||
|
||||
module.exports = {
|
||||
extends: ['stylelint-config-recommended-scss', '../css'],
|
||||
rules: {
|
||||
'at-rule-no-unknown': null,
|
||||
'scss/at-function-named-arguments': 'never',
|
||||
'scss/at-function-parentheses-space-before': 'never',
|
||||
'scss/at-function-pattern': '^[a-z][a-z-]*$',
|
||||
'scss/at-import-no-partial-leading-underscore': true,
|
||||
'scss/at-import-partial-extension': 'never',
|
||||
'scss/at-mixin-argumentless-call-parentheses': 'always',
|
||||
'scss/at-mixin-named-arguments': null,
|
||||
'scss/at-mixin-parentheses-space-before': 'never',
|
||||
'scss/at-rule-no-unknown': true,
|
||||
'scss/dimension-no-non-numeric-values': true,
|
||||
'scss/dollar-variable-colon-space-after': 'at-least-one-space',
|
||||
'scss/dollar-variable-colon-space-before': 'never',
|
||||
'scss/dollar-variable-no-missing-interpolation': true,
|
||||
'scss/dollar-variable-pattern': '^[a-z][a-z-\\d]*$',
|
||||
'scss/media-feature-value-dollar-variable': null,
|
||||
'scss/no-duplicate-dollar-variables': [
|
||||
null,
|
||||
{ ignoreInsideAtRules: ['if', 'mixin'] }
|
||||
],
|
||||
'scss/no-duplicate-mixins': true,
|
||||
'scss/operator-no-newline-after': true,
|
||||
'scss/operator-no-newline-before': true,
|
||||
'scss/operator-no-unspaced': true,
|
||||
'scss/selector-no-redundant-nesting-selector': true
|
||||
}
|
||||
}
|
||||
1195
packages/stylelint-config/yarn.lock
Normal file
1195
packages/stylelint-config/yarn.lock
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user