Skip to content

Commit

Permalink
init commit
Browse files Browse the repository at this point in the history
  • Loading branch information
woss committed Jul 3, 2024
0 parents commit b9d7b6d
Show file tree
Hide file tree
Showing 260 changed files with 410,814 additions and 0 deletions.
70 changes: 70 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
module.exports = {
extends: [
"eslint:recommended",
"plugin:@typescript-eslint/strict-type-checked", // Enable type checking, max strictness
"plugin:prettier/recommended" // prettier rules
],

parser: "@typescript-eslint/parser",

parserOptions: {
project: true,
tsconfigRootDir: __dirname
},

plugins: ["@typescript-eslint"],

root: true,

ignorePatterns: [
".eslintrc.js",
"*.spec.ts",
"*.test.ts",
"dist/",
"coverage/",
"lib/",
"pnpm-lock.yaml",
".pnpm-store/"
], // ESLINT IGNORE

env: {
// ESLINT ENV
node: true,
jest: true
},

rules: {
"no-else-return": ["error", { allowElseIf: false }],
"consistent-return": "error",
"no-console": "warn",
"@typescript-eslint/typedef": [
"error",
{
variableDeclaration: true,
memberVariableDeclaration: true
}
],
"@typescript-eslint/explicit-module-boundary-types": "error",
"@typescript-eslint/naming-convention": [
"error",
{
selector: "class",
format: ["PascalCase"]
}
],
"@typescript-eslint/prefer-readonly": "error",
"@typescript-eslint/explicit-member-accessibility": [
"error",
{
accessibility: "explicit",
overrides: {
accessors: "explicit",
constructors: "no-public",
methods: "explicit",
properties: "explicit",
parameterProperties: "explicit"
}
}
]
}
};
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "npm" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
53 changes: 53 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Continuous Integration

on:
workflow_dispatch:
pull_request:
branches:
- main
push:
branches:
- main

permissions:
contents: read

jobs:
test-typescript:
name: TypeScript Tests
runs-on: ubuntu-latest

steps:
- name: Checkout
id: checkout
uses: actions/checkout@v4

- name: Install pnpm
id: setup-pnpm
uses: pnpm/action-setup@v3

- name: Set node version
id: setup-node
uses: actions/setup-node@v4
with:
node-version-file: .node-version
cache: "pnpm"

- name: Install Dependencies
id: install
run: pnpm install

- name: Check Format
id: pnpm-format-check
run: pnpm run format:check

- name: Lint
id: pnpm-lint
run: pnpm run lint

- name: Load Exiftool
id: exiftool
uses: ./

- name: Run Exiftool
run: exiftool -ver
48 changes: 48 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: CodeQL

on:
pull_request:
branches:
- main
push:
branches:
- main
# schedule:
# - cron: "31 7 * * 3"

permissions:
actions: read
checks: write
contents: read
security-events: write

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
language:
- TypeScript

steps:
- name: Checkout
id: checkout
uses: actions/checkout@v4

- name: Initialize CodeQL
id: initialize
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
source-root: src

- name: Autobuild
id: autobuild
uses: github/codeql-action/autobuild@v3

- name: Perform CodeQL Analysis
id: analyze
uses: github/codeql-action/analyze@v3
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Dependency directory
node_modules
exiftool_git
1 change: 1 addition & 0 deletions .node-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
20.6.0
3 changes: 3 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package-manager-strict=false
save=true
save-exact=true
13 changes: 13 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.pnpm-store/
dist/
node_modules/
coverage/
__tests__/
.devcontainer/
.github/
badges/
script/
pnpm-lock.yaml
.eslintrc.js
*.md
exiftool
16 changes: 16 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"printWidth": 80,
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": false,
"quoteProps": "as-needed",
"jsxSingleQuote": false,
"trailingComma": "none",
"bracketSpacing": true,
"bracketSameLine": true,
"arrowParens": "avoid",
"proseWrap": "always",
"htmlWhitespaceSensitivity": "css",
"endOfLine": "lf"
}
3 changes: 3 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"recommendations": ["cschleiden.vscode-github-actions", "redhat.vscode-yaml"]
}
29 changes: 29 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"workbench.sideBar.location": "right",
"files.associations": {
"*.json": "jsonc",
"package.json": "json",
".sql": "sql",
".devops/ci/*.gitlab-ci.yml": "yaml",
".tmux.conf.local": "properties"
},
"editor.codeActionsOnSave": {
"source.fixAll": "explicit"
},
"editor.formatOnSave": true,
"eslint.enable": true,
"eslint.format.enable": true,
"eslint.useESLintClass": true,
"zenMode.fullScreen": false,
"git.autofetch": true,
"scm.defaultViewMode": "tree",
"terminal.integrated.defaultProfile.linux": "zsh",
"tailwindCSS.experimental.classRegex": ["[cC]lass=['\"](.*)['|\"]"],
"html.customData": ["./ui/app/node_modules/vidstack/vscode.html-data.json"],
// Controls the rendering size of tabs in characters. Accepted values: "auto", 2, 4, 6, etc. If set to "auto", the value will be guessed when a file is opened.
"editor.tabSize": 2,
// Controls after how many characters the editor will wrap to the next line. Setting this to 0 turns on viewport width wrapping
// When enabled, will trim trailing whitespace when you save a file.
"files.trimTrailingWhitespace": true,
"workbench.colorTheme": "Monokai"
}
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Exiftool Github action


When you need to get the exiftool in your actions but you don't want to do manual job.

The versioning of this action and the repo, follow the exiftool versioning, which currently is not a semver.

## Usage
Simply include it like this before your tests and the code that needs `exiftool`.

```yaml
- name: Use Exiftool
uses: woss/exiftool-action@v12.87
```
This repo is updated whenever Mr. Phil Harvey updates the [exiftool](https://exiftool.org)
6 changes: 6 additions & 0 deletions action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: "exiftool-action"
description:
"Exiftool github action. Adds exiftool to the PATH environment variable."
runs:
using: "node20"
main: "dist/index.js"
Loading

0 comments on commit b9d7b6d

Please sign in to comment.