Skip to content

Commit

Permalink
chore: initiliaze repository
Browse files Browse the repository at this point in the history
  • Loading branch information
johnitvn committed Dec 29, 2024
0 parents commit 14ee34a
Show file tree
Hide file tree
Showing 151 changed files with 16,298 additions and 0 deletions.
9 changes: 9 additions & 0 deletions .commitlintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
const { COMMIT_TYPES: TYPES, COMMIT_SCOPES: SCOPES } = require('./rules.js');

module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'type-enum': [2, 'always', Object.keys(TYPES)],
'scope-enum': async () => [2, 'always', Object.keys(SCOPES)],
},
};
13 changes: 13 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Editor configuration, see http://editorconfig.org
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
max_line_length = off
trim_trailing_whitespace = false
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<!-- trunk-ignore-all(markdownlint/MD041) -->

Please help us process issues more efficiently by filing an
issue using one of the following templates:

<https://github.com/ebizbaze/vanila-chrome-extension/issues/new/choose>

Thank you!
40 changes: 40 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: 'bug'
assignees: ''
---

## Describe the bug

A clear and concise description of what the bug is.

## To Reproduce

Steps to reproduce the behavior: 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' 4. See error

## Expected behavior

A clear and concise description of what you expected to happen.

## Screenshots

If applicable, add screenshots to help explain your problem.

## Desktop (please complete the following information)

- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

## Smartphone (please complete the following information)

- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

## Additional context

Add any other context about the problem here.
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: 'feature'
assignees: ''
---

## Is your feature request related to a problem? Please describe

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

## Describe the solution you'd like

A clear and concise description of what you want to happen.

## Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.
33 changes: 33 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<!-- trunk-ignore-all(markdownlint/MD041) -->

## Feature PR Checklist

Please check if your PR fulfills the following requirements:

- [] The commit message follows our guidelines: <https://github.com/ebizbaze/vanila-chrome-extension/blob/main/CONTRIBUTING.md#commit-message-guidelines>
- [] Tests for the changes have been added
- [] Docs have been added / updated

## PR Type

- [] Feature
- [] BugFix
- [] Other

## Does this PR introduce a breaking change?

- [ ] Yes
- [ ] No

## What is the current behavior?

<!-- Please describe the current behavior that you are modifying, or link to a relevant issue. -->

## What is the new behavior?

<!-- Please describe the new behavior or changes that you are adding. -->
<!-- If this PR contains a breaking change, please describe the impact and migration path for existing applications below. -->

## Other information

<!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. -->
63 changes: 63 additions & 0 deletions .github/actions/setup-playwright/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Install Playwright
description: Install Playwright and dependencies with cache

inputs:
working-directory:
description: Where to install Playwright
default: ./
browsers:
description: Browsers to install
default: chromium webkit firefox

outputs:
version:
description: Installed version of Playwright
value: ${{ steps.version.outputs.version }}
cache-hit:
description: Whether cache for Playwright was found
value: ${{ steps.cache.outputs.cache-hit }}

runs:
using: composite
steps:
- name: Get Playwright version
uses: actions/github-script@v7
id: version
with:
script: |
// https://github.com/actions/toolkit/issues/1624
// const workingDirectory = core.getInput("working-directory");
const workingDirectory = "${{ inputs.working-directory }}";
console.debug("Specified working directory:", workingDirectory);
if (workingDirectory) process.chdir(workingDirectory);
console.debug("Actual working directory:", process.cwd());
let version = "";
try {
version = require("@playwright/test/package.json").version;
} catch (error) {
console.log(error.message);
}
console.debug("Version:", version);
if (version) {
core.exportVariable("PLAYWRIGHT_VERSION", version);
core.setOutput("version", version);
} else core.setFailed("Couldn't get Playwright version");
- name: Cache Playwright
id: cache
uses: actions/cache@v4
with:
path: ~/.cache/ms-playwright
key: playwright-${{ env.PLAYWRIGHT_VERSION }}

- name: Install Playwright and its dependencies
shell: bash
if: steps.cache.outputs.cache-hit != 'true'
working-directory: ${{ inputs.working-directory }}
run: npx playwright install ${{ inputs.browsers }} --with-deps

- name: Install just Playwright's dependencies
shell: bash
if: steps.cache.outputs.cache-hit == 'true'
working-directory: ${{ inputs.working-directory }}
run: npx playwright install-deps
60 changes: 60 additions & 0 deletions .github/actions/setup-project/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Setup project
description: Setup project with node docker-buildx
inputs:
node-version:
description: Node.js version
default: lts/*
required: false
node-registry-url:
description: Node.js registry URL
default: https://registry.npmjs.org
required: false
package-manager:
description: Package manager to use
required: false
default: yarn
package-manager-install-command:
description: Package manager install command
required: false
default: install
package-manager-install-args:
description: Package manager install arguments
required: false
default: --frozen-lockfile
dependencies:
description: Install dependencies
required: false
install-buildx:
description: Install docker buildx
required: false
install-playwright:
description: Install playwright
required: false
playwright-browsers:
description: Playwright browsers
required: false
default: chromium webkit firefox
runs:
using: composite
steps:
- name: Setup Node.js
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4
with:
registry-url: ${{ inputs.node-registry-url }}
node-version: ${{ inputs.node-version }}
cache: ${{ inputs.package-manager }}

- name: Install npm dependencies
if: ${{ inputs.dependencies == 'true' }}
shell: bash
run: ${{ inputs.package-manager }} ${{ inputs.package-manager-install-command }} ${{ inputs.package-manager-install-args }}

- name: Install docker buildx
if: ${{ inputs.install-buildx == 'true' }}
uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5 # v3

- name: Install playwright
if: ${{ inputs.install-playwright == 'true' }}
uses: ./.github/actions/setup-playwright
with:
browsers: ${{ inputs.playwright-browsers }}
57 changes: 57 additions & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:recommended"],
"baseBranches": ["main"],
"rangeStrategy": "replace",
"pinDigests": true,
"prConcurrentLimit": 5,
"semanticCommits": "enabled",
"semanticCommitScope": "deps",
"semanticCommitType": "chore",
"dependencyDashboard": true,
"branchPrefix": "renovate/",
"dependencyDashboardAutoclose": true,
"commitBodyTable": true,
"schedule": ["before 1am"],
"automerge": false,
"lockFileMaintenance": {
"enabled": true
},
"packageRules": [
{
"extends": ["monorepo:angular"],
"groupName": "angular monorepo",
"matchUpdateTypes": ["digest", "patch", "minor", "major"]
},
{
"groupName": "All patch dependencies",
"matchPackageNames": ["*"],
"matchUpdateTypes": ["patch"],
"automerge": true
},
{
"groupName": "Linting packages",
"matchPackageNames": [
"@types/eslint",
"babel-eslint",
"@babel/eslint-parser",
"@eslint/**",
"@eslint-community/**",
"@stylistic/eslint-plugin**",
"@types/eslint__**",
"@typescript-eslint/**",
"typescript-eslint",
"eslint**",
"@commitlint/**"
]
},
{
"groupName": "Testing libraries",
"matchPackageNames": ["/jest/", "/ts-jest/", "/@playwright/test/"]
},
{
"groupName": "Nx packages",
"matchPackageNames": ["/^@nx//", "/nx/", "@nx/jest"]
}
]
}
31 changes: 31 additions & 0 deletions .github/workflows/analysis.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Analysis

on:
workflow_dispatch:
push:
branches:
- main
pull_request:
branches:
- main
merge_group:
schedule:
- cron: 0 0 * * *

permissions:
contents: read
security-events: write

jobs:
codeql:
name: CodeQL Runner
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Initialize CodeQL
uses: github/codeql-action/init@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3
with:
languages: javascript
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3
Loading

0 comments on commit 14ee34a

Please sign in to comment.