Skip to content

Commit

Permalink
Merge pull request #1 from Muttley/develop
Browse files Browse the repository at this point in the history
Merge WIP
  • Loading branch information
Muttley authored Nov 25, 2023
2 parents e5008a3 + a6f36a6 commit b0ee2a2
Show file tree
Hide file tree
Showing 61 changed files with 7,844 additions and 3 deletions.
8 changes: 8 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
root = true

[*]
charset = utf-8
end_of_line = lf
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
163 changes: 163 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
{
"env": {
"browser": true,
"es2022": true,
"node": true,
"jquery": true
},
"ignorePatterns": ["**/*compiled.mjs"],
"parserOptions": {
"requireConfigFile": false,
"sourceType": "module",
"ecmaVersion": 2022
},
"rules": {
"array-bracket-spacing": ["warn", "never"],
"array-callback-return": "warn",
"arrow-spacing": "warn",
"brace-style": ["error", "stroustrup"],
"comma-dangle": ["warn", {
"arrays": "always-multiline",
"objects": "always-multiline",
"imports": "always-multiline",
"exports": "always-multiline",
"functions": "never"
}],
"comma-style": "warn",
"computed-property-spacing": "warn",
"constructor-super": "error",
"default-param-last": "warn",
"disallowTabs": 0,
"dot-location": ["warn", "property"],
"eol-last": ["error", "always"],
"eqeqeq": ["warn", "smart"],
"func-call-spacing": "warn",
"func-names": ["warn", "never"],
"getter-return": "warn",
"linebreak-style": ["warn", "unix"],
"lines-between-class-members": "warn",
"new-parens": ["warn", "always"],
"no-alert": "warn",
"no-array-constructor": "warn",
"no-class-assign": "warn",
"no-compare-neg-zero": "warn",
"no-cond-assign": "warn",
"no-const-assign": "error",
"no-constant-condition": "warn",
"no-constructor-return": "warn",
"no-delete-var": "warn",
"no-dupe-args": "warn",
"no-dupe-class-members": "warn",
"no-dupe-keys": "warn",
"no-duplicate-case": "warn",
"no-duplicate-imports": ["warn", {"includeExports": true}],
"no-empty": ["warn", {"allowEmptyCatch": true}],
"no-empty-character-class": "warn",
"no-empty-pattern": "warn",
"no-func-assign": "warn",
"no-global-assign": "warn",
"no-implicit-coercion": ["warn", {"allow": ["!!"]}],
"no-implied-eval": "warn",
"no-import-assign": "warn",
"no-invalid-regexp": "warn",
"no-irregular-whitespace": "warn",
"no-iterator": "warn",
"no-lone-blocks": "warn",
"no-lonely-if": "warn",
"no-loop-func": "warn",
"no-misleading-character-class": "warn",
"no-mixed-operators": "warn",
"no-multi-str": "warn",
"no-multiple-empty-lines": "warn",
"no-new-func": "warn",
"no-new-object": "warn",
"no-new-symbol": "warn",
"no-new-wrappers": "warn",
"no-nonoctal-decimal-escape": "warn",
"no-obj-calls": "warn",
"no-octal": "warn",
"no-octal-escape": "warn",
"no-promise-executor-return": "warn",
"no-proto": "warn",
"no-regex-spaces": "warn",
"no-script-url": "warn",
"no-self-assign": "warn",
"no-self-compare": "warn",
"no-setter-return": "warn",
"no-sequences": "warn",
"no-template-curly-in-string": "warn",
"no-this-before-super": "error",
"no-unexpected-multiline": "warn",
"no-unmodified-loop-condition": "warn",
"no-unneeded-ternary": "off",
"no-unreachable": "warn",
"no-unreachable-loop": "warn",
"no-unsafe-negation": ["warn", {"enforceForOrderingRelations": true}],
"no-unsafe-optional-chaining": ["warn", {"disallowArithmeticOperators": true}],
"no-unused-expressions": "warn",
"no-useless-backreference": "warn",
"no-useless-call": "warn",
"no-useless-catch": "warn",
"no-useless-computed-key": ["warn", {"enforceForClassMembers": true}],
"no-useless-concat": "warn",
"no-useless-constructor": "warn",
"no-useless-rename": "warn",
"no-useless-return": "warn",
"no-var": "warn",
"no-void": "warn",
"no-whitespace-before-property": "warn",
"prefer-numeric-literals": "warn",
"prefer-object-spread": "warn",
"prefer-regex-literals": "warn",
"prefer-spread": "warn",
"rest-spread-spacing": ["warn", "never"],
"semi-spacing": "warn",
"semi-style": ["warn", "last"],
"space-unary-ops": ["warn", {"words": true, "nonwords": false}],
"switch-colon-spacing": "warn",
"symbol-description": "warn",
"template-curly-spacing": ["warn", "never"],
"unicode-bom": ["warn", "never"],
"use-isnan": ["warn", {"enforceForSwitchCase": true, "enforceForIndexOf": true}],
"valid-typeof": ["warn", {"requireStringLiterals": true}],
"wrap-iife": ["warn", "inside"],
"arrow-parens": ["warn", "as-needed", {"requireForBlockBody": false}],
"capitalized-comments": "off",
"comma-spacing": "warn",
"dot-notation": "warn",
"indent": ["error", "tab", {"SwitchCase": 1}],
"key-spacing": "warn",
"keyword-spacing": ["warn", {"overrides": {"catch": {"before": true, "after": false}}}],
"max-len": ["warn", {
"code": 100,
"ignoreTrailingComments": false,
"ignoreUrls": true,
"ignoreStrings": true,
"ignoreTemplateLiterals": true
}],
"no-extra-boolean-cast": ["warn", {"enforceForLogicalOperands": true}],
"no-extra-semi": "warn",
"no-multi-spaces": "off",
"no-tabs": "off",
"no-throw-literal": "error",
"no-trailing-spaces": "error",
"no-useless-escape": "warn",
"no-unused-vars": ["warn", {"args": "none"}],
"nonblock-statement-body-position": ["warn", "beside"],
"one-var": ["warn", "never"],
"operator-linebreak": ["warn", "before", {
"overrides": {"=": "after", "+=": "after", "-=": "after"}
}],
"prefer-template": "warn",
"quote-props": ["warn", "consistent-as-needed", {"keywords": false}],
"quotes": ["warn", "double", {"avoidEscape": true, "allowTemplateLiterals": false}],
"semi": "warn",
"space-before-blocks": ["warn", "always"],
"space-before-function-paren": ["warn", {
"anonymous": "never",
"named": "never",
"asyncArrow": "always"
}],
"spaced-comment": "warn"
}
}
30 changes: 30 additions & 0 deletions .github/workflows/npm-gulp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Build CI

on:
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

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

steps:
- uses: actions/checkout@v3

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

- name: Install Dependencies
run: npm ci

- name: Build
run: npm run build
47 changes: 47 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Create Release

on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

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

steps:
- uses: actions/checkout@v3

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'

- name: Install Dependencies
run: npm ci

- name: Build
run: |
npm run build
cp --force LICENSE.txt system/.
cp --force README.md system/.
SYSTEM_VERSION=$(grep -oP '(?<="version": ")[^"]+' system/system.json | tr -d '\n')
perl -pi -E "s|latest/download/jcom\\.zip|download/release-$SYSTEM_VERSION/jcom.zip|" system/system.json
echo "systemVersion=$SYSTEM_VERSION" >> $GITHUB_ENV
- run: cd system && zip -r ../jcom.zip ./*

- name: Create Version Release
id: create_version_release
uses: ncipollo/release-action@v1
with:
allowUpdates: false
name: release-${{ env.systemVersion }}
draft: false
prerelease: false
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: './system/system.json, ./jcom.zip'
tag: release-${{ env.systemVersion }}
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
.vscode/
.vscode/*
node_modules/
scratch/
system/css/
system/i18n/

*.code-workspace
system/jcom-compiled.*

# Allow these specific files from the above directories
!.vscode/extensions.json
Expand Down
9 changes: 9 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"recommendations": [
"EditorConfig.EditorConfig",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"Gruntfuggly.todo-tree",
"lokalise.i18n-ally"
]
}
39 changes: 39 additions & 0 deletions .vscode/i18n-ally-custom-framework.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Author: FloRad from SWADE game system
# https://gitlab.com/peginc/swade

# .vscode/i18n-ally-custom-framework.yml

# An array of strings which contain Language Ids defined by VS Code
# You can check avaliable language ids here: https://code.visualstudio.com/docs/languages/overview#_language-id
languageIds:
- javascript
- typescript
- handlebars

# An array of RegExes to find the key usage. **The key should be captured in the first match group**.
# You should unescape RegEx strings in order to fit in the YAML file
# To help with this, you can use https://www.freeformatter.com/json-escape.html
usageMatchRegex:
# The following example shows how to detect `t("your.i18n.keys")`
# the `{key}` will be placed by a proper keypath matching regex,
# you can ignore it and use your own matching rules as well
- "[^\\w\\d]game\\.i18n\\.localize\\(['\"`]({key})['\"`]\\)"
- "[^\\w\\d]game\\.i18n\\.format\\(['\"`]({key})['\"`]"
- "[^\\w\\d]ui\\.notifications\\.info\\(['\"`]({key})['\"`],\\s{\\s*.*\\slocalize: true\\s*.*}"
- "[^\\w\\d]ui\\.notifications\\.warn\\(['\"`]({key})['\"`],\\s{\\s*.*\\slocalize: true\\s*.*}"
- "[^\\w\\d]ui\\.notifications\\.error\\(['\"`]({key})['\"`],\\s{\\s*.*\\slocalize: true\\s*.*}"
- "\\{\\{\\s*localize\\s+[\"']({key})['\"]\\}\\}"
- "\\{\\{[\\w\\.\\s\\=]*\\(localize\\s+[\"']({key})['\"]\\)[\\w\\.\\s\\=]*\\}\\}"
- "name:\\s+[\"'](SETTINGS.{key})[\"']"
- "hint:\\s+[\"'](SETTINGS.{key})[\"']"

# An array of strings containing refactor templates.
# The "$1" will be replaced by the keypath specified.
# Optional: uncomment the following two lines to use

# refactorTemplates:
# - "{{localize '$1'}}"
# - '{{localize "$1"}}'

# If set to true, only enables this custom framework (will disable all built-in frameworks)
monopoly: true
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"i18n-ally.localesPaths": "i18n"
}
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# foundryvtt-jcom
John Carter of Mars game system for Foundry VTT
# John Carter of Mars for Foundry VTT
John Carter of Mars RPG system for Foundry VTT
32 changes: 32 additions & 0 deletions gulpfile.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import gulp from "gulp";

import * as css from "./utils/css.mjs";
import * as lang from "./utils/lang.mjs";
import * as javascript from "./utils/javascript.mjs";

export default gulp.series(
gulp.parallel(
css.compile,
lang.compile,
javascript.lint,
javascript.compile
),

gulp.parallel(
css.watchUpdates,
lang.watchUpdates,
javascript.watchUpdates
)
);

export const build = gulp.parallel(
css.compile,
lang.compile,
javascript.lint,
javascript.compile
);

export const clean = gulp.parallel(css.clean, lang.clean);
export const compileCss = gulp.series(css.compile);
export const compileLang = gulp.series(lang.compile);
export const lintJs = gulp.series(javascript.lint);
14 changes: 14 additions & 0 deletions i18n/en.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
JCOM.actor.attribute.cunning: Cunning
JCOM.actor.attribute.daring: Daring
JCOM.actor.attribute.empathy: Empathy
JCOM.actor.attribute.might: Might
JCOM.actor.attribute.passion: Passion
JCOM.actor.attribute.reason: Reason
JCOM.actor.name.placeholder: Actor Name
JCOM.settings.debugEnabled.hint: Enable or Disable additional debug logging
JCOM.settings.debugEnabled.name: Enable/Disable Debug
JCOM.system.title: John Carter of Mars
TYPES.Actor.adventurer: Adventurer
TYPES.Actor.enemy: Enemy
TYPES.Item.race: Race
TYPES.Item.talent: Talent
Loading

0 comments on commit b0ee2a2

Please sign in to comment.