Skip to content

Commit

Permalink
Opensource Berryjam
Browse files Browse the repository at this point in the history
- Add readme file to explain what Berryjam does and how to start using Berryjam
- Add two main classes, `VueScanner` and `GitService` together with other relevant utility functions for scanning Vue3 and Nuxt projects
- Add `scan` method under `VueScanner` class that you can called on to initiate the scanning process
- Add relevant test cases for `VueScanner` and `GitService`
- Add documentation folder to explain how Berryjam works
- Add contribution file to explain how one can contribute
  • Loading branch information
kittisakLS committed Sep 13, 2023
1 parent 568bdf6 commit 1a18e5e
Show file tree
Hide file tree
Showing 73 changed files with 40,653 additions and 210 deletions.
79 changes: 79 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: "🐛 Bug Report"
description: "Submit a bug report to help us improve"
title: "🐛 "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
If you encounter a bug when running the scanner, follow these steps to file a bug report:
1. **Check if you are using the latest version**
Check your version to make sure it is the latest as the bug may already be fixed in a later release.
2. **Make sure the bug is not already reported**
Perform a search in the issues tracker. If you found a similar bug that was reported, add any new information that you may have to aid the developers in fixing the bug.
3. **Collect information about the bug**
To support us in identifying/reproducing and fixing the bug, collect as much of the following information as possible:
* Any logs or console output
* The platform that you are running on (Linux, macOS or Windows)
* Your version of node
* Step-by-step instructions to reproduce the bug
4. **File a bug report**
Once you have all the information ready, file the bug report. By default, GitHub will drop you an email when a new comment has been made on your bug report. However, if you happen to have this feature off, make sure to check back occasionally so that you don’t miss any questions or responses.
- type: textarea
id: description
validations:
required: true
attributes:
label: "Describe the bug"
description: "A clear and concise description of what the bug is."
placeholder: "I encountered a bug when..."
- type: textarea
id: to-reproduce
validations:
required: true
attributes:
label: "To Reproduce"
description: "Step-by-step instructions to reproduce the bug"
placeholder: "1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error"
- type: textarea
id: expected-behavior
validations:
required: true
attributes:
label: "Expected behavior"
description: "What should be the correct behaviour"
placeholder: "It should..."
- type: input
id: node-version
validations:
required: true
attributes:
label: "Node Version"
description: "What node version are you running on? "
placeholder: 16.0.0
- type: input
id: os
attributes:
label: "OS"
description: "What OS are you using? "
placeholder: "Windows/macOS/Linux"
- type: input
id: web-browser
attributes:
label: Browser
description: What web browser are you using?
placeholder: Chrome/Edge/Safari/Firefox
- type: textarea
id: additional-context
validations:
required: false
attributes:
label: "Additional Context"
description: "Any other additional information that will aid us?"
43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: ✨ Feature Request
description: "Suggest a new feature for Berryjam"
title: ""
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
Thank you for bringing new ideas to Berryjam! 🎉
Before you continue to submit a feature request though, please help us by searching if the idea already exist in [issues](../labels/enhancement). Doing this will keep the issues clean and allow us to focus on building the great features you suggested! 🙏
- type: textarea
id: description
validations:
required: true
attributes:
label: "Description"
description: "A clear and concise description of what the feature is."
placeholder: "I would like to see..."
- type: textarea
id: problem
validations:
required: true
attributes:
label: "Why is this feature needed? Is there a problem that you faced?"
description: "Why do you want to see the feature in Berryjam? Please include any problems that you would like to solve through this feature"
placeholder: "This feature will help to..."
- type: textarea
id: solution
validations:
required: true
attributes:
label: "What is the solution you have in mind?"
description: "A clear and concise description of what you want to happen."
placeholder: "I want this feature to, ..."
- type: textarea
id: additional-info
validations:
required: false
attributes:
label: "Additional Information"
description: "Any other context or information you would like to add"
31 changes: 31 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Release
on:
workflow_run:
workflows: ["Tests"]
branches: [main]
types:
- completed
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: pnpm/action-setup@v2
with:
version: 8
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npx semantic-release
30 changes: 30 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Tests

on:
push:
branches: [main, develop]
pull_request:
branches: [main]

jobs:
build:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [18.x]

steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 8
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Run unit test
run: pnpm test
109 changes: 109 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# 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
*.lcov

# nyc test coverage
.nyc_output

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

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

# node-waf configuration
.lock-wscript

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

# Dependency directories
node_modules/
jspm_packages/

# TypeScript v1 declaration files
typings/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env
.env.test

# parcel-bundler cache (https://parceljs.org/)
.cache

# Next.js build output
.next

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and *not* Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

.dccache
.DS_Store
lib
*.tgz
4 changes: 4 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.vscode/
Jenkinsfile
sonar-project.properties
*.log
5 changes: 5 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
engine-strict=true
registry=https://registry.npmjs.org/
always-auth=true
sign-git-tag=false
message="🔖 %s"
21 changes: 21 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"arrowParens": "always",
"bracketSpacing": true,
"endOfLine": "lf",
"htmlWhitespaceSensitivity": "css",
"insertPragma": false,
"singleAttributePerLine": true,
"bracketSameLine": true,
"jsxBracketSameLine": false,
"jsxSingleQuote": false,
"printWidth": 80,
"proseWrap": "preserve",
"quoteProps": "as-needed",
"requirePragma": false,
"semi": true,
"singleQuote": false,
"tabWidth": 2,
"trailingComma": "es5",
"useTabs": true,
"filepath": "./.vscode/extensions.json",
}
7 changes: 7 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"typescript.tsdk": "node_modules/typescript/lib",
"prettier.configPath": ".prettierrc",
"prettier.requireConfig": true,
"editor.formatOnSave": true,
"prettier.htmlWhitespaceSensitivity": "strict"
}
Loading

0 comments on commit 1a18e5e

Please sign in to comment.