Skip to content

Commit

Permalink
Bootstrap based on tmpl template repository
Browse files Browse the repository at this point in the history
Bootstrapped the basic project setup, structure and development workflow
based on the "tmpl" template repository [1].

[1]: https://github.com/svengreb/tmpl

GH-1
  • Loading branch information
svengreb committed Apr 29, 2023
0 parents commit b2bfa2d
Show file tree
Hide file tree
Showing 19 changed files with 8,108 additions and 0 deletions.
27 changes: 27 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license found in the license file.

# Configurations for EditorConfig.
# See https://editorconfig.org/#file-format-details for more details.

# +--------------------+
# + Base Configuration +
# +--------------------+
root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
max_line_length = 160
trim_trailing_whitespace = true

# +-----------+
# + Languages +
# +-----------+
# +--- Markdown ---+
[*.{md}]
max_line_length = off
trim_trailing_whitespace = false
14 changes: 14 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license found in the license file.

# Path match pattern to ignore (i.e. not lint) certain files and folders.
# References:
# 1. https://eslint.org/docs/latest/use/configure/ignore

node_modules/

# Explicitly include specific "dotfiles".
# ESLint automatically applies ignore pattern for "dotfiles" by default to prevent accidentally lint over paths like
# `.git` or any other critical paths.
!.eslintrc.js
!.remarkrc.mjs
32 changes: 32 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* Copyright (c) 2016-present Sven Greb <development@svengreb.de>
* # This source code is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license found in the license file.
*/

/**
* Configurations for ESLint.
* @see https://eslint.org/docs/latest/use/configure
* @see https://eslint.org/docs/latest/use/configure/#using-configuration-files
* @see https://eslint.org/docs/latest/use/configure/#specifying-environments
* @see https://eslint.org/docs/latest/rules
*/
module.exports = {
root: true,
extends: [
"@svengreb/eslint-config-base",
/*
* Enable support for projects using Prettier.
* Note that this must always be placed after the `@arcticicestudio/eslint-config-base` preset to take precedence, otherwise it won't prevent errors
* due to useless and possibly conflicting rules!
*/
"@svengreb/eslint-config-base/prettier",
],
overrides: [
{
files: ["*.js"],
rules: {
"capitalized-comments": "off",
},
},
],
};
20 changes: 20 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license found in the license file.

# Configuration to define attributes per path.
#
# References:
# 1. https://git-scm.com/docs/gitattributes
# 2. https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes#Keyword-Expansion

# Automatically perform line feed (LF) normalization for files detected as text and
# leave all files detected as binary untouched.
* text=auto eol=lf

# +--------+
# + Assets +
# +--------+
# *-- Affinity Designer 2 --*
*.afdesign binary
*.jpg binary
*.png binary
14 changes: 14 additions & 0 deletions .github/codeowners
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license found in the license file.

# Configuration for the GitHub feature to automatically request reviews from the code owners
# when a pull request changes any owned files.
#
# References:
# 1. https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#codeowners-file-location
# 2. https://github.com/blog/2392-introducing-code-owners

# +----------------------+
# + Core Team Code Owner +
# +----------------------+
* @svengreb
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license found in the license file.

# Path match pattern to intentionally ignore untracked files and directories.
# See https://git-scm.com/docs/gitignore for more details.

# +---------+
# + Node.js +
# +---------+
node_modules/
13 changes: 13 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/sh

# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license found in the license file.

# Git "pre-commit" hook for husky.
# References:
# 1. https://github.com/typicode/husky
# 2. https://git-scm.com/docs/githooks#_pre_commit

. "$(dirname "$0")/_/husky.sh"

npm exec lint-staged
7 changes: 7 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license found in the license file.

# Configuration for the Git mail mapping feature to coalesce together commits by the same person in the shortlog,
# where their name and/or email address was spelled differently or has been changed.
# See https://git-scm.com/docs/git-shortlog#_mapping_authors for more details.
Sven Greb <development@svengreb.de>
25 changes: 25 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license found in the license file.

# Configurations for npm.
# See https://docs.npmjs.com/cli/v7/configuring-npm/npmrc for more details.

# Disable the vulnerability auditing and checks which includes often way too many false-positives, insignificant
# problems that are only for local development, and many other warnings that are overhelming.
# Use dedicated vulnerability tools instead to filter and identify issue that really impact the project.
# References:
# 1. https://docs.npmjs.com/cli/v9/commands/npm-audit
audit=false

# Only use a lockfile for single-consumer projects, like applications, but not for multi-consumer projects like
# libraries.
# It helps to pin dependency versions, improves the security through integrity checksums, prevents possible errors
# caused by updated transitive dependencies and allows to get deterministic build results, but it can hide problems in
# multi-consumer projects when any later versions of a used dependency, or its transitive dependencies, is not
# compatible with the own project anymore.
package-lock=true

# Do not resolve to the latest minor and patch updates.
# Automatically pin dependencies to exact versions instead of resolving to latest minor and patch updates.
# This prevents possible errors caused by updated transitive dependencies.
save-exact=true
8 changes: 8 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license found in the license file.

# Path match pattern to ignore (i.e. not reformat) certain files and folders.
# See https://prettier.io/docs/en/ignore for more details.

.husky/_/
node_modules/
8 changes: 8 additions & 0 deletions .remarkignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Copyright (c) 2016-present Sven Greb <development@svengreb.de>
# This source code is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license found in the license file.

# Path match pattern to ignore when searching for files.
# See https://github.com/unifiedjs/unified-engine/blob/HEAD/doc/ignore.md for more details.

node_modules/
license
13 changes: 13 additions & 0 deletions .remarkrc.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*
* Copyright (c) 2016-present Sven Greb <development@svengreb.de>
* This source code is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license found in the license file.
*/

/**
* Configurations for remark-lint.
* @see https://github.com/remarkjs/remark-lint
* @see https://remark.js.org
*/
export default {
plugins: ["@svengreb/remark-preset-lint"],
};
64 changes: 64 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<p align="center">
<a href="https://www.svengreb.de" target="_blank">
<picture>
<source srcset="https://raw.githubusercontent.com/svengreb/assets/main/static/images/logos/identity/heroes/logo-typography/dark/frostic/spaced.svg?sanitize=true" width="100%" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" />
<source srcset="https://raw.githubusercontent.com/svengreb/assets/main/static/images/logos/identity/heroes/logo-typography/light/frostic/spaced.svg?sanitize=true" width="100%" media="(prefers-color-scheme: dark)" />
<img src="https://raw.githubusercontent.com/svengreb/assets/main/static/images/logos/identity/heroes/logo-typography/dark/frostic/spaced.svg?sanitize=true" width="100%" />
</picture>
</a>
</p>

<p align="center">
<a href="https://github.com/svengreb/assets/releases/latest" target="_blank">
<img src="https://img.shields.io/github/release/svengreb/assets.svg?style=flat-square&label=Release&logo=github&logoColor=eceff4&colorA=4c566a&colorB=88c0d0" />
</a>
</p>

<!--lint disable no-duplicate-headings no-duplicate-headings-in-section-->

<p align="center">
<picture>
<source srcset="https://raw.githubusercontent.com/svengreb/assets/main/static/images/elements/separators/logo/footer/dark/spaced.svg?sanitize=true" width="100%" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" />
<source srcset="https://raw.githubusercontent.com/svengreb/assets/main/static/images/elements/separators/logo/footer/light/spaced.svg?sanitize=true" width="100%" media="(prefers-color-scheme: dark)" />
<img src="https://raw.githubusercontent.com/svengreb/assets/main/static/images/elements/separators/logo/footer/dark/spaced.svg?sanitize=true" width="100%" />
</picture>
</p>

<p align="center">
Copyright &copy; 2016-present <a href="https://www.svengreb.de" target="_blank">Sven Greb</a>
</p>

<p align="center">
<a href="https://github.com/svengreb/assets/blob/main/license" target="_blank">
<img src="https://img.shields.io/static/v1.svg?style=flat-square&label=License&message=CC%20BY-NC-SA%204.0&logoColor=eceff4&logo=creativecommons&colorA=4c566a&colorB=88c0d0"/>
</a>
<a href="https://www.svengreb.de">
<img src="https://img.shields.io/static/v1.svg?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABMklEQVQ4jcWQvUoDQRRGz52s5IfVIiDWPkGKFFaCIVaGdIagjcFAwICFb7DvIK6QQlNpY2UQLMQVBbEQ0SewFkGbKCQmOzaTJay7/lR+zTAf9xwuF/47Mv45rdezqWEq72v/RWZnHgqOMwDwHMfSj085JSqb6Pu38we7r18E3nqzhmYbsE11rxKsAvhDfQiSM30XYbOw57YDwfnaRl6U3ABWaMNn806H+oGPzBX3d+4UgChZiYBHYBgGsBLoKoAyhR0x9G20Zmpc4P1ZoMQDcwMNclFrdhBKv6M5WWi7ZQGtjEUn35IV4OwnVjSX/WGmKqCDDUa5rmyle3bvGFiMg3WGUsF1u0EXHoqTRMGRgkAy2eugKZrqijRLYThWANBpNDL2h3UE0J0YLJdbrfe42f/NJ0wqY7/KcXKPAAAAAElFTkSuQmCC&label=lovely%20crafted%20in&message=Germany&colorA=4c566a&colorB=88c0d0"/>
</a>
</p>

<!--
+------------------+
+ Formatting Notes +
+------------------+
The `<summary />` tag must be separated with a blank line from the actual item content paragraph,
otherwise Markdown elements are not parsed and rendered!
+------------------+
+ Symbol Reference +
+------------------+
↠ (U+21A0): Start of a log section description
— (U+2014): Separator between a log section title and the metadata
⇄ (U+21C4): Separator between a issue ID and pull request ID in a log metadata
⊶ (U+22B6): Icon prefix for the short commit SHA checksum in a log metadata
⇅ (U+21C5): Icon prefix for the link of the Git commit history comparison on GitHub
-->

<!--lint disable final-definition-->

<!-- Base -->

<!-- Shared -->

<!--lint disable no-duplicate-definitions-->
Loading

0 comments on commit b2bfa2d

Please sign in to comment.