Skip to content

Commit

Permalink
suppport gnome 45
Browse files Browse the repository at this point in the history
  • Loading branch information
IamRezaMousavi committed Aug 27, 2023
1 parent 1b54c04 commit cd1da03
Show file tree
Hide file tree
Showing 25 changed files with 1,988 additions and 565 deletions.
270 changes: 36 additions & 234 deletions .eslintrc.yml
Original file line number Diff line number Diff line change
@@ -1,239 +1,41 @@
---
# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
env:
es6: true
node: true
extends: 'eslint:recommended'
extends:
- ./lint/eslintrc-gjs.yml
- ./lint/eslintrc-shell.yml

parserOptions:
sourceType: module

rules:
array-bracket-newline:
- error
- consistent
array-bracket-spacing:
- error
- never
array-callback-return: error
arrow-parens:
- error
- as-needed
arrow-spacing:
- error
- before: true
after: true
block-scoped-var: error
block-spacing: error
brace-style: error
comma-dangle:
- error
- arrays: always-multiline
objects: always-multiline
functions: always-multiline
comma-spacing:
- error
- before: false
after: true
comma-style:
- error
- last
computed-property-spacing: error
curly:
- error
- multi
dot-location:
- error
- property
eol-last: error
eqeqeq: error
func-call-spacing: error
func-name-matching: error
func-style:
- error
- declaration
- allowArrowFunctions: true
indent:
- error
- 4
- ignoredNodes:
# Allow not indenting the body of GObject.registerClass, since in the
# future it's intended to be a decorator
- 'CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child'
# Allow dedenting chained member expressions
MemberExpression: 'off'
key-spacing:
- error
- beforeColon: false
afterColon: true
keyword-spacing:
- error
- before: true
after: true
linebreak-style:
- error
- unix
lines-between-class-members: error
max-nested-callbacks: error
max-statements-per-line: error
new-parens: error
no-array-constructor: error
no-await-in-loop: error
no-caller: error
no-constant-condition:
- error
- checkLoops: false
no-div-regex: error
no-empty: error
no-extra-bind: error
no-extra-parens:
- error
- all
- conditionalAssign: false
nestedBinaryExpressions: false
returnAssign: false
no-implicit-coercion:
- error
- allow:
- '!!'
no-invalid-this: error
no-iterator: error
no-label-var: error
no-lonely-if: error
no-loop-func: error
no-new-object: error
no-new-wrappers: error
no-octal-escape: error
no-proto: error
no-prototype-builtins: 'off'
no-restricted-properties:
- error
- object: Lang
property: copyProperties
message: Use Object.assign()
- object: Lang
property: bind
message: Use arrow notation or Function.prototype.bind()
- object: Lang
property: Class
message: Use ES6 classes
no-restricted-syntax:
- error
- selector: >-
MethodDefinition[key.name="_init"] >
FunctionExpression[params.length=1] >
BlockStatement[body.length=1]
CallExpression[arguments.length=1][callee.object.type="Super"][callee.property.name="_init"] >
Identifier:first-child
message: _init() that only calls super._init() is unnecessary
- selector: >-
MethodDefinition[key.name="_init"] >
FunctionExpression[params.length=0] >
BlockStatement[body.length=1]
CallExpression[arguments.length=0][callee.object.type="Super"][callee.property.name="_init"]
message: _init() that only calls super._init() is unnecessary
- selector: BinaryExpression[operator="instanceof"][right.name="Array"]
message: Use Array.isArray()
no-return-assign: error
no-return-await: error
no-self-compare: error
no-shadow: error
no-shadow-restricted-names: error
no-template-curly-in-string: error
no-throw-literal: error
no-trailing-spaces: error
no-undef-init: error
no-unneeded-ternary: error
no-unused-expressions: error
no-unused-vars:
- off
# Vars use a suffix _ instead of a prefix because of file-scope private vars
- varsIgnorePattern: ^_
argsIgnorePattern: ^_
no-useless-call: error
no-useless-computed-key: error
no-useless-concat: error
no-useless-constructor: error
no-useless-rename: error
no-useless-return: error
no-whitespace-before-property: error
no-with: error
nonblock-statement-body-position:
- error
- below
object-curly-newline:
- error
- consistent: true
object-curly-spacing: error
object-shorthand: error
operator-assignment: error
operator-linebreak: error
padded-blocks:
- error
- never
# prefer-const: error
prefer-numeric-literals: error
prefer-promise-reject-errors: error
prefer-rest-params: error
prefer-spread: error
prefer-template: error
quotes:
- error
- single
- avoidEscape: true
require-await: error
rest-spread-spacing:
- error
- never
semi:
- error
- always
semi-spacing:
- error
- before: false
after: true
semi-style: error
space-before-blocks: error
space-before-function-paren:
- error
- named: never
anonymous: always
asyncArrow: always
space-in-parens: error
space-infix-ops:
- error
- int32Hint: false
space-unary-ops: error
spaced-comment: error
switch-colon-spacing: error
symbol-description: error
template-curly-spacing: error
template-tag-spacing: error
unicode-bom: error
wrap-iife:
- error
- inside
yield-star-spacing: error
yoda: error
no-constant-binary-expression: error
no-constructor-return: error
no-duplicate-imports: error
no-use-before-define:
- error
- functions: false
no-unused-private-class-members: error
no-unmodified-loop-condition: error
no-new-native-nonconstructor: error
no-promise-executor-return: error
no-unmodified-loop-condition: error
no-unreachable-loop: error
no-unused-private-class-members: error
no-use-before-define: error
require-atomic-updates: error
arrow-body-style:
- error
- as-needed
consistent-return: error
default-case-last: error
globals:
ARGV: readonly
Debugger: readonly
GIRepositoryGType: readonly
globalThis: readonly
imports: readonly
Intl: readonly
log: readonly
logError: readonly
print: readonly
printerr: readonly
parserOptions:
ecmaVersion: 2020
default-param-last: error
dot-notation: error
func-names:
- error
- as-needed
logical-assignment-operators: error
no-confusing-arrow: error
no-else-return: error
no-eq-null: error
no-eval: error
no-extend-native: error
no-floating-decimal: error
no-implied-eval: error
no-labels: error
no-lone-blocks: error
no-new: error
no-new-func: error
no-param-reassign: error
no-script-url: error
no-var: error
no-multi-spaces: error
no-multiple-empty-lines: error
2 changes: 1 addition & 1 deletion .github/workflows/check-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
uses: actions/checkout@v3

- name: Install Modules
run: npm install eslint
run: npm i

- name: Run Lint
run: |
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ tmp/

# ESLint Dependency directories
node_modules/
package*.json

# Zip file
*.zip
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ Distributed under the GPL-3.0 License. See [LICENSE](https://github.com/IamRezaM
## Acknowledgements
* [Gnome Calendar Extension](https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/)
* [Gnome Calendar Extension](https://github.com/GNOME/gnome-shell/tree/main/js/ui)
* [GNOME Shell Extension Reference](https://github.com/julio641742/gnome-shell-extension-reference)
* [Omid Clalendar Extension](https://github.com/omid/Persian-Calendar-for-Gnome-Shell)
* [Felix Date Format lib](https://github.com/felixge/node-dateformat)
Loading

0 comments on commit cd1da03

Please sign in to comment.