Initial Commit

This commit is contained in:
Chase 2023-08-20 21:23:01 -05:00
commit c980df7781
Signed by: chase
GPG Key ID: 9EC29E797878008C
23 changed files with 5480 additions and 0 deletions

23
.editorconfig Normal file
View File

@ -0,0 +1,23 @@
# editorconfig.org
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.{yml,yaml}]
indent_size = 2
[*.json]
insert_final_newline = unset
[*.{md,markdown}]
indent_size = unset
[{Makefile,**.mk}]
# Use tabs for indentation (Makefiles require tabs)
indent_style = tab

16
.eslintrc.json Normal file
View File

@ -0,0 +1,16 @@
{
"env": {
"es2021": true,
"node": true,
"browser": true
},
"extends": [
"chase"
],
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"rules": {},
"globals": {}
}

1
.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
* text=auto eol=lf

28
.github/ISSUE_TEMPLATE/bug-report.md vendored Normal file
View File

@ -0,0 +1,28 @@
---
name: Bug Report
about: Report incorrect or unexpected behavior
title: ''
labels: bug
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
<!--
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files into it.
-->
**To Reproduce**
Steps to reproduce the behavior:
1. Do '...'
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Additional context**
Add any other context about the problem here.

2
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,2 @@
---
blank_issues_enabled: true

View File

@ -0,0 +1,14 @@
---
name: Feature Request
about: Suggest an idea for the project
title: ''
labels: enhancement
assignees: ''
---
**Describe the feature request you'd like**
A clear and concise description of what you want to have added.
**Additional context**
Add any other context or screenshots about the feature request here.

9
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,9 @@
**Please describe the changes this PR makes and why it should be merged:**
<!--
Please move lines that apply to you out of the comment:
- Code changes have been fully tested, or there are no code changes
- This PR includes breaking changes (methods removed or renamed, parameters moved or removed)
- This PR **only** includes non-code changes, like changes to documentation, README, etc.
- I have linted this PR and it passes all tests
-->

15
.github/SECURITY.md vendored Normal file
View File

@ -0,0 +1,15 @@
# Security Policy
## Supported Versions
The only supported version of this project is the latest commit. Nothing else is supported by us.
## Testing
If you believe you have found a vulnerability, be sure you test it in the latest commit.
## Reporting a Vulnerability
If you believe you have discovered a vulnerability or exploit and ensured it happens on the latest commit, please reach out to the project owner's email.
**Do not make a GitHub Issue for a security vulnerability.**

2
.github/linters/.hadolint.yaml vendored Normal file
View File

@ -0,0 +1,2 @@
---
ignored: [DL3018]

12
.github/linters/.htmlhintrc vendored Normal file
View File

@ -0,0 +1,12 @@
{
"tagname-lowercase": true,
"attr-lowercase": false,
"attr-value-double-quotes": true,
"doctype-first": true,
"tag-pair": true,
"spec-char-escape": false,
"id-unique": true,
"src-not-empty": true,
"attr-no-duplication": true,
"title-require": true
}

6
.github/linters/.stylelintrc.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"rules": {
"selector-class-pattern": null,
"no-missing-end-of-source-newline": null
}
}

4
.github/linters/.yaml-lint.yml vendored Normal file
View File

@ -0,0 +1,4 @@
---
rules:
line-length:
max: 260

39
.github/workflows/linter.yml vendored Normal file
View File

@ -0,0 +1,39 @@
---
name: "🎨 Lint"
on:
push:
branches: [master, main]
pull_request:
branches: [master, main]
jobs:
lint:
runs-on: ubuntu-latest
if: github.actor != 'dependabot[bot]' && !contains(github.event.head_commit.message, '[skip lint]')
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: "📦️ Install Dependencies"
run: |
npm install
- name: "🎨 ESLint"
run: npx eslint . --ext .js,.jsx,.ts,.tsx
- name: "🎨 Super-Linter"
uses: github/super-linter/slim@v4
env:
VALIDATE_ALL_CODEBASE: true
DEFAULT_BRANCH: main
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VALIDATE_JAVASCRIPT_ES: false
VALIDATE_JAVASCRIPT_STANDARD: false
VALIDATE_TYPESCRIPT_ES: false
VALIDATE_TYPESCRIPT_STANDARD: false
VALIDATE_JSCPD: false
VALIDATE_MARKDOWN: false
VALIDATE_NATURAL_LANGUAGE: false

11
.gitignore vendored Normal file
View File

@ -0,0 +1,11 @@
# Packages
node_modules/
# Private Data
config.json
.env
*.db
# Misc
*.bak
.DS_Store

9
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,9 @@
{
"recommendations": [
"dbaeumer.vscode-eslint",
"github.vscode-pull-request-github",
"eamodio.gitlens",
"aaron-bond.better-comments",
"EditorConfig.EditorConfig"
]
}

14
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,14 @@
{
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": true,
"javascript.format.placeOpenBraceOnNewLineForControlBlocks": true,
"javascript.format.placeOpenBraceOnNewLineForFunctions": true,
"editor.formatOnPaste": true,
"editor.formatOnSave": true,
"editor.formatOnType": true,
"editor.detectIndentation": false,
"editor.tabSize": 4,
"files.eol": "\n",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}

21
LICENSE.md Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2023 chase
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.

9
Makefile Normal file
View File

@ -0,0 +1,9 @@
.DEFAULT_GOAL:=help
.PHONY: help
help:
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
update: ## Bumps installed deps.
@npx npm-check-updates -u && npm install

6
README.md Normal file
View File

@ -0,0 +1,6 @@
<div align="center">
<h1>aaa-spotify<br>
<a href="https://chse.dev/donate"><img alt="Donate" src="https://img.shields.io/badge/Donate_To_This_Project-brightgreen"></a>
</h1></div>
Automatically Add New Releases from AFollowed Artists to your Liked Songs on Spotify.

5198
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

36
package.json Normal file
View File

@ -0,0 +1,36 @@
{
"name": "aaa-spotify",
"version": "1.0.0",
"description": "Automatically Add New Releases from AFollowed Artists to your Liked Songs on Spotify.",
"main": "./src/app.js",
"engines": {
"node": ">=16.14.0"
},
"type": "module",
"scripts": {
"start": "node ./src/app.js",
"lint": "eslint --fix --ext .js,.jsx,.ts,.tsx ./src"
},
"repository": {
"type": "git",
"url": "git+https://github.com/chase/aaa-spotify.git"
},
"keywords": [],
"author": "Chase <c@chse.dev> (https://chse.dev)",
"contributors": [
""
],
"license": "MIT",
"bugs": {
"url": "https://github.com/chase/aaa-spotify/issues"
},
"homepage": "https://github.com/chase/aaa-spotify#readme",
"dependencies": {},
"devDependencies": {
"eslint": "8.47.0",
"eslint-config-chase": "1.0.11",
"eslint-plugin-import": "2.28.1",
"eslint-plugin-jsdoc": "46.5.0",
"eslint-plugin-unicorn": "48.0.1"
}
}

3
renovate.json Normal file
View File

@ -0,0 +1,3 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
}

2
src/app.js Normal file
View File

@ -0,0 +1,2 @@
/* eslint-disable unicorn/no-empty-file */
// Todo.