Skip to content
This repository was archived by the owner on Aug 28, 2020. It is now read-only.

Commit

Permalink
Project Red (#999)
Browse files Browse the repository at this point in the history
* housekeeping

* commit progress

lol, so much to do

* commit more progress

* ok, I am hungry now

* when is my food getting here?

* omg food is here!

* permlvls

* ok, I am getting tired, anyone else feel free

* clean up extensions a bit

* tons of cleanup

Co-authored-by: Antonio Román <[email protected]>
Co-authored-by: Jacz <[email protected]>

* chore(Dependencies): add cron, duration, and ratelimits utils

* git(Ignores): remove and ignore yarn-error.log

* misc(*): lots of progress

Co-authored-by: Jacz <[email protected]>
Co-authored-by: Faith <[email protected]>
Co-authored-by: bdistin <[email protected]>

* update to core 0.0.2 to fix a few issues

* that should be like that actually (will work in core v0.0.3)

* feat(SG): ported SGN2 and fixed dependencies

And while I was at it, also fixed all serializers and the json provider

* refactor(Types): use is guards, fixed conf and userconf

* fix(*): more fixes, upgrade Duration, less errors

Co-authored-by: bdistin <[email protected]>

* fix(*): resolved all argument errors and augments, added more types

* type fixes around schedule

* misc(*): progressed more, half the errors

Co-authored-by: bdistin <[email protected]>
Co-authored-by: Johnson Chen <[email protected]>

* fix(*): more errors fixed, down to 30

* no need for our own ready event, we can delay until our stuff is init

* I don't think we actually need ready anymore

* fix a type issue

* add a build branch script

* cleanup

* chore(Deps): updated all deps, move TS to stable

* fix some types

* fix issues in the json provider

* fix some lint errors

* few type fixes

* another type error

* another error bites the dust

* add @klasa/console

* Update conf.ts

* lint

* lint and type

* fix(*): resolved last build error, hour of TSE

Co-authored-by: bdistin <[email protected]>

* fix(*): resolved more lint errors

* fix(*): resolved last TSE, ESL, and TS error

Co-authored-by: Faith <[email protected]>
Co-authored-by: Antonio Román <[email protected]>
Co-authored-by: Jacz <[email protected]>
Co-authored-by: Johnson Chen <[email protected]>
  • Loading branch information
5 people authored May 26, 2020
1 parent 541c9e5 commit 50a11ea
Show file tree
Hide file tree
Showing 364 changed files with 11,865 additions and 14,751 deletions.
1 change: 0 additions & 1 deletion .eslintignore

This file was deleted.

2 changes: 1 addition & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"extends": "klasa"
"extends": "klasa/eslint-ts"
}
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ follow up.

### Further details

- **discord.js version**:
- **@klasa/core version**:
- **node.js version**:
- **Klasa version**:
- [ ] I have modified core files.
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/ISSUE.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ If you are using the master version of Klasa, make sure you provide the commit h

### Further details

- **discord.js version**:
- **@klasa/core version**:
- **node.js version**:
- **Klasa version**:
- [ ] I have modified core files.
Expand Down
57 changes: 57 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Build

on:
push:
branches:
- master

jobs:
TSC:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout Project
uses: actions/checkout@v1
- name: Use Node.js 12
uses: actions/setup-node@v1
with:
node-version: 12
- name: Restore CI Cache
uses: actions/cache@v1
with:
path: node_modules
key: ${{ runner.os }}-12-${{ hashFiles('**/yarn.lock') }}
- name: Install Dependencies
run: yarn
- name: Build and Push
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
run: |
#!/bin/bash
set -euxo pipefail
echo -e "\n# Initialize some useful variables"
REPO="https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
BRANCH_OR_TAG=`awk -F/ '{print $2}' <<< $GITHUB_REF`
CURRENT_BRANCH=`awk -F/ '{print $NF}' <<< $GITHUB_REF`
if [ "$BRANCH_OR_TAG" == "heads" ]; then
SOURCE_TYPE="branch"
else
SOURCE_TYPE="tag"
fi
echo -e "\n# Checkout the repo in the target branch"
TARGET_BRANCH="build"
git clone $REPO out -b $TARGET_BRANCH
yarn build
echo -e "\n# Move the generated docs to the newly-checked-out repo, to be committed and pushed"
mv package.json out/package.json
mv LICENSE out/LICENSE
rsync -vau dist/src out/dist
echo -e "\n# Commit and push"
cd out
git add --all .
git config user.name "${GITHUB_ACTOR}"
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
git commit -m "TSC build: ${GITHUB_SHA}" || true
git push origin $TARGET_BRANCH
env:
GITHUB_TOKEN: ${{ secrets.COMMIT_TOKEN }}

107 changes: 107 additions & 0 deletions .github/workflows/codequality.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
name: Code Quality

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

jobs:
ESLint:
name: ESLint
runs-on: ubuntu-latest
steps:
- name: Checkout Project
uses: actions/checkout@v1
- name: Use Node.js 12
uses: actions/setup-node@v1
with:
node-version: 12
- name: Restore CI Cache
uses: actions/cache@v1
with:
path: node_modules
key: ${{ runner.os }}-12-${{ hashFiles('**/yarn.lock') }}
- name: Install Dependencies
run: yarn
- name: Run ESLint
uses: icrawl/action-eslint@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
job-name: ESLint

Typescript:
name: Typescript
runs-on: ubuntu-latest
steps:
- name: Checkout Project
uses: actions/checkout@v1
- name: Use Node.js 12
uses: actions/setup-node@v1
with:
node-version: 12
- name: Restore CI Cache
uses: actions/cache@v1
with:
path: node_modules
key: ${{ runner.os }}-12-${{ hashFiles('**/yarn.lock') }}
- name: Install Dependencies
run: yarn
- name: Run TSC
uses: icrawl/action-tsc@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
job-name: Typescript

TypeDocs:
name: TypeDocs
runs-on: ubuntu-latest
steps:
- name: Checkout Project
uses: actions/checkout@v1
- name: Use Node.js 12
uses: actions/setup-node@v1
with:
node-version: 12
- name: Restore CI Cache
uses: actions/cache@v1
with:
path: node_modules
key: ${{ runner.os }}-12-${{ hashFiles('**/yarn.lock') }}
- name: Install Dependencies
run: yarn
- name: Test Docs
if: github.event_name == 'pull_request'
run: yarn docs
- name: Publish Docs
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
run: |
#!/bin/bash
set -euxo pipefail
echo -e "\n# Initialize some useful variables"
REPO="https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
BRANCH_OR_TAG=`awk -F/ '{print $2}' <<< $GITHUB_REF`
CURRENT_BRANCH=`awk -F/ '{print $NF}' <<< $GITHUB_REF`
if [ "$BRANCH_OR_TAG" == "heads" ]; then
SOURCE_TYPE="branch"
else
SOURCE_TYPE="tag"
fi
echo -e "\n# Checkout the repo in the target branch"
TARGET_BRANCH="docs"
git clone $REPO out -b $TARGET_BRANCH
yarn docs
echo -e "\n# Move the generated docs to the newly-checked-out repo, to be committed and pushed"
mv docs.json out/${CURRENT_BRANCH//\//_}.json
echo -e "\n# Commit and push"
cd out
git add --all .
git config user.name "${GITHUB_ACTOR}"
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
git commit -m "Docs build: ${GITHUB_SHA}" || true
git push origin $TARGET_BRANCH
env:
GITHUB_TOKEN: ${{ secrets.COMMIT_TOKEN }}
99 changes: 99 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: Unit Tests

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

jobs:
test:
name: Node v${{ matrix.node_version }} - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
node_version: [12, 14]
os: [ubuntu-latest, windows-latest, macOS-latest]

steps:
- name: Checkout Project
uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node_version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node_version }}
- name: Restore CI Cache
uses: actions/cache@v1
with:
path: node_modules
key: ${{ runner.os }}-${{ matrix.node_version }}-${{ hashFiles(matrix.os == 'windows-latest' && '**\yarn.lock' || '**/yarn.lock') }}
- name: Install Dependencies
run: yarn
- name: Build Project
run: yarn build
- name: Test
run: yarn coverage
- uses: actions/upload-artifact@v1
name: Upload Coverage Data
with:
name: ${{ runner.os }}-${{ matrix.node_version }}
path: .nyc_output
report:
needs: test
name: Generate Report
runs-on: windows-latest

steps:
- name: Checkout Project
uses: actions/checkout@v1
- name: Use Node.js 12
uses: actions/setup-node@v1
with:
node-version: 12
- name: Restore CI Cache
uses: actions/cache@v1
with:
path: node_modules
key: Windows-12-${{ hashFiles('**\yarn.lock') }}
- name: Install Dependencies
run: yarn
- uses: actions/download-artifact@v1
name: Download Windows-12 Coverage Data
with:
name: Windows-12
path: .nyc_output
- uses: actions/download-artifact@v1
name: Download Windows-14 Coverage Data
with:
name: Windows-14
path: .nyc_output
- uses: actions/download-artifact@v1
name: Download macOS-12 Coverage Data
with:
name: macOS-12
path: .nyc_output
- uses: actions/download-artifact@v1
name: Download macOS-14 Coverage Data
with:
name: macOS-14
path: .nyc_output
- uses: actions/download-artifact@v1
name: Download Linux-12 Coverage Data
with:
name: Linux-12
path: .nyc_output
- uses: actions/download-artifact@v1
name: Download Linux-14 Coverage Data
with:
name: Linux-14
path: .nyc_output
- name: Report
run: yarn coverage:report
- uses: actions/upload-artifact@v1
name: Upload Report
with:
name: report
path: coverage
#- name: Test Cross Platform Coverage
#run: yarn test:coverage
74 changes: 14 additions & 60 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,65 +1,19 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# nyc test coverage
.nyc_output

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity
package-lock.json

# dotenv environment variables file
.env
out/
coverage/
.nyc_output/
dist/
docs/
test-results.xml

.vscode
package-lock.json
docs
test.js

\.vscode/
\.idea/
desktop.ini
config.json

pnpm-lock\.yaml
.vscode/
.idea/
.vs/
yarn-error.log
docs.json
13 changes: 0 additions & 13 deletions .markdownlint.json

This file was deleted.

Loading

0 comments on commit 50a11ea

Please sign in to comment.