Add a basic pre-commit lint and autoformat - #448

Closed
adehad wants to merge 8 commits into
geldata:masterfrom
adehad:chore/pre-commit
Closed

Add a basic pre-commit lint and autoformat#448
adehad wants to merge 8 commits into
geldata:masterfrom
adehad:chore/pre-commit

Conversation

@adehad

@adehadadehad commented Jul 1, 2023

Copy link
Copy Markdown

Following up on: #438

Summary of changes

  1. a pre-commit config file has been added with some simple rules
  2. Errors picked up during the linting have been addressed and added as separate commits for clarity

NOTE

Target branch

This is targetting the drop-py37 branch. As it was assumed this PR would be merged after #435 .

Running the lint

The assumption is that pre-commit.ci GitHub integration is going to be setup for this project and therefore a dedicate lint GHA has NOT been setup, although it may look like:

---
name: Linton:
push:
branches:
- master
- cipull_request:
branches:
- masterworkflow_dispatch:
inputs: {}jobs:
test:
runs-on: ubuntu-latestdefaults:
run:
shell: bashenv:
PIP_DISABLE_PIP_VERSION_CHECK: 1steps:
- uses: actions/checkout@v3with:
fetch-depth: 1submodules: true
- name: pre-commitrun: | python -m pip install pre-commit python -m pre_commit run --all-files

@gel-data-cla

gel-data-claBot commented Jul 1, 2023

Copy link
Copy Markdown

All commit authors signed the Contributor License Agreement.
CLA signed

@adehad

adehad commented Jul 1, 2023

Copy link
Copy Markdown
Author

@fantix Might be an issue that tests aren't running on this PR yet (due to it not targetting the master branch).
Happy to wait for #435 to be merged first

@chrisemkechrisemke left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consideration should be given to using the following hooks to enable it in the future:
id: blacken-docs (https://github.com/asottile/blacken-docs)
id: insert-license (https://github.com/Lucas-C/pre-commit-hooks)
id: conventional-pre-commit (https://github.com/compilerla/conventional-pre-commit)

Also re-enable mypy is very important for the future

Comment on lines +25 to +22
- id: check-yaml
files: .*\.(yaml|yml)$

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-added-large-files
- id: check-toml

Comment thread.pre-commit-config.yaml Outdated
- repo: https://github.com/psf/black
rev: 23.3.0
hooks:
- id: black

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the name to make it more readable and beautiful when running

Suggested change
- id: black
- id: black
name: Black (Python formatter)

- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: "v0.0.275"
hooks:
- id: ruff

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the name to make it more readable and beautiful when running

Suggested change
- id: ruff
- id: ruff
name: Ruff (Python linter)

@chrisemke

Copy link
Copy Markdown

Another thing that would be really cool would be an edgedb hook to (but not limited to) verifying or formatting the .esdl and .edgeql files

@adehad

Copy link
Copy Markdown
Author

@fantix feel free commit any of the suggestions.
(Personally I don't think the name addition to the pre-commit config adds much, I've mainly used it when I am running the same tool multiple times but with different configurations)

@fantix
fantix deleted the branch geldata:masterSeptember 14, 2023 20:04
@fantixfantix closed this Sep 14, 2023
@fantix

Copy link
Copy Markdown
Member

Sorry, I didn't mean to close this PR.

@fantixfantix reopened this Sep 14, 2023
@adehad

Copy link
Copy Markdown
Author

@fantix do let me know if you would like me to target the main branch instead of this drop-py37 branch

@fantix

Copy link
Copy Markdown
Member

Yes, please! Let's retarget and rebase to the master branch, and get this merged 🙏

@adehad
adehad changed the base branch from drop-py37 to masterSeptember 18, 2023 16:25
@adehad

Copy link
Copy Markdown
Author

@fantix should be ready for review again now

@adehad

Copy link
Copy Markdown
Author

Didn't realise there were merge conflicts, should now be resolved and ready for review @fantix

@adehad

Copy link
Copy Markdown
Author

(bump) @fantix

@adehad

Copy link
Copy Markdown
Author

@fantix have just rebased now

@fantix

Copy link
Copy Markdown
Member

Thanks for the updates! I talked to the team and decided we don't want a pre-commit hook yet. However, I think the formatted code could stay (with a few nitpicking, for which I'll add comments on this PR) and we can probably have a test that runs the linter and formatter for checking.

@adehad

Copy link
Copy Markdown
Author

and we can probably have a test that runs the linter and formatter for checking.

Yep, we do this too rather that as a pre-commit hook itself. I can recommend using the pre-commit.ci github action/app as this automates the process of checking PRs

@adehad

Copy link
Copy Markdown
Author

@msullivan any contributions accepted in this vein or shall I delete the branch on my end as well?

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@adehad@chrisemke@fantix@msullivan
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Add a basic pre-commit lint and autoformat - #448

Closed
adehad wants to merge 8 commits into
geldata:masterfrom
adehad:chore/pre-commit
Closed

Add a basic pre-commit lint and autoformat#448
adehad wants to merge 8 commits into
geldata:masterfrom
adehad:chore/pre-commit

Conversation

@adehad

@adehadadehad commented Jul 1, 2023

Copy link
Copy Markdown

Following up on: #438

Summary of changes

  1. a pre-commit config file has been added with some simple rules
  2. Errors picked up during the linting have been addressed and added as separate commits for clarity

NOTE

Target branch

This is targetting the drop-py37 branch. As it was assumed this PR would be merged after #435 .

Running the lint

The assumption is that pre-commit.ci GitHub integration is going to be setup for this project and therefore a dedicate lint GHA has NOT been setup, although it may look like:

---
name: Linton:
push:
branches:
- master
- cipull_request:
branches:
- masterworkflow_dispatch:
inputs: {}jobs:
test:
runs-on: ubuntu-latestdefaults:
run:
shell: bashenv:
PIP_DISABLE_PIP_VERSION_CHECK: 1steps:
- uses: actions/checkout@v3with:
fetch-depth: 1submodules: true
- name: pre-commitrun: | python -m pip install pre-commit python -m pre_commit run --all-files

@gel-data-cla

gel-data-claBot commented Jul 1, 2023

Copy link
Copy Markdown

All commit authors signed the Contributor License Agreement.
CLA signed

@adehad

adehad commented Jul 1, 2023

Copy link
Copy Markdown
Author

@fantix Might be an issue that tests aren't running on this PR yet (due to it not targetting the master branch).
Happy to wait for #435 to be merged first

@chrisemkechrisemke left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consideration should be given to using the following hooks to enable it in the future:
id: blacken-docs (https://github.com/asottile/blacken-docs)
id: insert-license (https://github.com/Lucas-C/pre-commit-hooks)
id: conventional-pre-commit (https://github.com/compilerla/conventional-pre-commit)

Also re-enable mypy is very important for the future

Comment on lines +25 to +22
- id: check-yaml
files: .*\.(yaml|yml)$

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-added-large-files
- id: check-toml

Comment thread.pre-commit-config.yaml Outdated
- repo: https://github.com/psf/black
rev: 23.3.0
hooks:
- id: black

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the name to make it more readable and beautiful when running

Suggested change
- id: black
- id: black
name: Black (Python formatter)

- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: "v0.0.275"
hooks:
- id: ruff

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the name to make it more readable and beautiful when running

Suggested change
- id: ruff
- id: ruff
name: Ruff (Python linter)

@chrisemke

Copy link
Copy Markdown

Another thing that would be really cool would be an edgedb hook to (but not limited to) verifying or formatting the .esdl and .edgeql files

@adehad

Copy link
Copy Markdown
Author

@fantix feel free commit any of the suggestions.
(Personally I don't think the name addition to the pre-commit config adds much, I've mainly used it when I am running the same tool multiple times but with different configurations)

@fantix
fantix deleted the branch geldata:masterSeptember 14, 2023 20:04
@fantixfantix closed this Sep 14, 2023
@fantix

Copy link
Copy Markdown
Member

Sorry, I didn't mean to close this PR.

@fantixfantix reopened this Sep 14, 2023
@adehad

Copy link
Copy Markdown
Author

@fantix do let me know if you would like me to target the main branch instead of this drop-py37 branch

@fantix

Copy link
Copy Markdown
Member

Yes, please! Let's retarget and rebase to the master branch, and get this merged 🙏

@adehad
adehad changed the base branch from drop-py37 to masterSeptember 18, 2023 16:25
@adehad

Copy link
Copy Markdown
Author

@fantix should be ready for review again now

@adehad

Copy link
Copy Markdown
Author

Didn't realise there were merge conflicts, should now be resolved and ready for review @fantix

@adehad

Copy link
Copy Markdown
Author

(bump) @fantix

@adehad

Copy link
Copy Markdown
Author

@fantix have just rebased now

@fantix

Copy link
Copy Markdown
Member

Thanks for the updates! I talked to the team and decided we don't want a pre-commit hook yet. However, I think the formatted code could stay (with a few nitpicking, for which I'll add comments on this PR) and we can probably have a test that runs the linter and formatter for checking.

@adehad

Copy link
Copy Markdown
Author

and we can probably have a test that runs the linter and formatter for checking.

Yep, we do this too rather that as a pre-commit hook itself. I can recommend using the pre-commit.ci github action/app as this automates the process of checking PRs

@adehad

Copy link
Copy Markdown
Author

@msullivan any contributions accepted in this vein or shall I delete the branch on my end as well?

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@adehad@chrisemke@fantix@msullivan
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add a basic pre-commit lint and autoformat - #448

Closed
adehad wants to merge 8 commits into
geldata:masterfrom
adehad:chore/pre-commit
Closed

Add a basic pre-commit lint and autoformat#448
adehad wants to merge 8 commits into
geldata:masterfrom
adehad:chore/pre-commit

Conversation

@adehad

@adehadadehad commented Jul 1, 2023

Copy link
Copy Markdown

Following up on: #438

Summary of changes

  1. a pre-commit config file has been added with some simple rules
  2. Errors picked up during the linting have been addressed and added as separate commits for clarity

NOTE

Target branch

This is targetting the drop-py37 branch. As it was assumed this PR would be merged after #435 .

Running the lint

The assumption is that pre-commit.ci GitHub integration is going to be setup for this project and therefore a dedicate lint GHA has NOT been setup, although it may look like:

---
name: Linton:
push:
branches:
- master
- cipull_request:
branches:
- masterworkflow_dispatch:
inputs: {}jobs:
test:
runs-on: ubuntu-latestdefaults:
run:
shell: bashenv:
PIP_DISABLE_PIP_VERSION_CHECK: 1steps:
- uses: actions/checkout@v3with:
fetch-depth: 1submodules: true
- name: pre-commitrun: | python -m pip install pre-commit python -m pre_commit run --all-files

@gel-data-cla

gel-data-claBot commented Jul 1, 2023

Copy link
Copy Markdown

All commit authors signed the Contributor License Agreement.
CLA signed

@adehad

adehad commented Jul 1, 2023

Copy link
Copy Markdown
Author

@fantix Might be an issue that tests aren't running on this PR yet (due to it not targetting the master branch).
Happy to wait for #435 to be merged first

@chrisemkechrisemke left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consideration should be given to using the following hooks to enable it in the future:
id: blacken-docs (https://github.com/asottile/blacken-docs)
id: insert-license (https://github.com/Lucas-C/pre-commit-hooks)
id: conventional-pre-commit (https://github.com/compilerla/conventional-pre-commit)

Also re-enable mypy is very important for the future

Comment on lines +25 to +22
- id: check-yaml
files: .*\.(yaml|yml)$

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-added-large-files
- id: check-toml

Comment thread.pre-commit-config.yaml Outdated
- repo: https://github.com/psf/black
rev: 23.3.0
hooks:
- id: black

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the name to make it more readable and beautiful when running

Suggested change
- id: black
- id: black
name: Black (Python formatter)

- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: "v0.0.275"
hooks:
- id: ruff

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the name to make it more readable and beautiful when running

Suggested change
- id: ruff
- id: ruff
name: Ruff (Python linter)

@chrisemke

Copy link
Copy Markdown

Another thing that would be really cool would be an edgedb hook to (but not limited to) verifying or formatting the .esdl and .edgeql files

@adehad

Copy link
Copy Markdown
Author

@fantix feel free commit any of the suggestions.
(Personally I don't think the name addition to the pre-commit config adds much, I've mainly used it when I am running the same tool multiple times but with different configurations)

@fantix
fantix deleted the branch geldata:masterSeptember 14, 2023 20:04
@fantixfantix closed this Sep 14, 2023
@fantix

Copy link
Copy Markdown
Member

Sorry, I didn't mean to close this PR.

@fantixfantix reopened this Sep 14, 2023
@adehad

Copy link
Copy Markdown
Author

@fantix do let me know if you would like me to target the main branch instead of this drop-py37 branch

@fantix

Copy link
Copy Markdown
Member

Yes, please! Let's retarget and rebase to the master branch, and get this merged 🙏

@adehad
adehad changed the base branch from drop-py37 to masterSeptember 18, 2023 16:25
@adehad

Copy link
Copy Markdown
Author

@fantix should be ready for review again now

@adehad

Copy link
Copy Markdown
Author

Didn't realise there were merge conflicts, should now be resolved and ready for review @fantix

@adehad

Copy link
Copy Markdown
Author

(bump) @fantix

@adehad

Copy link
Copy Markdown
Author

@fantix have just rebased now

@fantix

Copy link
Copy Markdown
Member

Thanks for the updates! I talked to the team and decided we don't want a pre-commit hook yet. However, I think the formatted code could stay (with a few nitpicking, for which I'll add comments on this PR) and we can probably have a test that runs the linter and formatter for checking.

@adehad

Copy link
Copy Markdown
Author

and we can probably have a test that runs the linter and formatter for checking.

Yep, we do this too rather that as a pre-commit hook itself. I can recommend using the pre-commit.ci github action/app as this automates the process of checking PRs

@adehad

Copy link
Copy Markdown
Author

@msullivan any contributions accepted in this vein or shall I delete the branch on my end as well?

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@adehad@chrisemke@fantix@msullivan
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add a basic pre-commit lint and autoformat - #448

Closed
adehad wants to merge 8 commits into
geldata:masterfrom
adehad:chore/pre-commit
Closed

Add a basic pre-commit lint and autoformat#448
adehad wants to merge 8 commits into
geldata:masterfrom
adehad:chore/pre-commit

Conversation

@adehad

@adehadadehad commented Jul 1, 2023

Copy link
Copy Markdown

Following up on: #438

Summary of changes

  1. a pre-commit config file has been added with some simple rules
  2. Errors picked up during the linting have been addressed and added as separate commits for clarity

NOTE

Target branch

This is targetting the drop-py37 branch. As it was assumed this PR would be merged after #435 .

Running the lint

The assumption is that pre-commit.ci GitHub integration is going to be setup for this project and therefore a dedicate lint GHA has NOT been setup, although it may look like:

---
name: Linton:
push:
branches:
- master
- cipull_request:
branches:
- masterworkflow_dispatch:
inputs: {}jobs:
test:
runs-on: ubuntu-latestdefaults:
run:
shell: bashenv:
PIP_DISABLE_PIP_VERSION_CHECK: 1steps:
- uses: actions/checkout@v3with:
fetch-depth: 1submodules: true
- name: pre-commitrun: | python -m pip install pre-commit python -m pre_commit run --all-files

@gel-data-cla

gel-data-claBot commented Jul 1, 2023

Copy link
Copy Markdown

All commit authors signed the Contributor License Agreement.
CLA signed

@adehad

adehad commented Jul 1, 2023

Copy link
Copy Markdown
Author

@fantix Might be an issue that tests aren't running on this PR yet (due to it not targetting the master branch).
Happy to wait for #435 to be merged first

@chrisemkechrisemke left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consideration should be given to using the following hooks to enable it in the future:
id: blacken-docs (https://github.com/asottile/blacken-docs)
id: insert-license (https://github.com/Lucas-C/pre-commit-hooks)
id: conventional-pre-commit (https://github.com/compilerla/conventional-pre-commit)

Also re-enable mypy is very important for the future

Comment on lines +25 to +22
- id: check-yaml
files: .*\.(yaml|yml)$

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-added-large-files
- id: check-toml

Comment thread.pre-commit-config.yaml Outdated
- repo: https://github.com/psf/black
rev: 23.3.0
hooks:
- id: black

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the name to make it more readable and beautiful when running

Suggested change
- id: black
- id: black
name: Black (Python formatter)

- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: "v0.0.275"
hooks:
- id: ruff

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the name to make it more readable and beautiful when running

Suggested change
- id: ruff
- id: ruff
name: Ruff (Python linter)

@chrisemke

Copy link
Copy Markdown

Another thing that would be really cool would be an edgedb hook to (but not limited to) verifying or formatting the .esdl and .edgeql files

@adehad

Copy link
Copy Markdown
Author

@fantix feel free commit any of the suggestions.
(Personally I don't think the name addition to the pre-commit config adds much, I've mainly used it when I am running the same tool multiple times but with different configurations)

@fantix
fantix deleted the branch geldata:masterSeptember 14, 2023 20:04
@fantixfantix closed this Sep 14, 2023
@fantix

Copy link
Copy Markdown
Member

Sorry, I didn't mean to close this PR.

@fantixfantix reopened this Sep 14, 2023
@adehad

Copy link
Copy Markdown
Author

@fantix do let me know if you would like me to target the main branch instead of this drop-py37 branch

@fantix

Copy link
Copy Markdown
Member

Yes, please! Let's retarget and rebase to the master branch, and get this merged 🙏

@adehad
adehad changed the base branch from drop-py37 to masterSeptember 18, 2023 16:25
@adehad

Copy link
Copy Markdown
Author

@fantix should be ready for review again now

@adehad

Copy link
Copy Markdown
Author

Didn't realise there were merge conflicts, should now be resolved and ready for review @fantix

@adehad

Copy link
Copy Markdown
Author

(bump) @fantix

@adehad

Copy link
Copy Markdown
Author

@fantix have just rebased now

@fantix

Copy link
Copy Markdown
Member

Thanks for the updates! I talked to the team and decided we don't want a pre-commit hook yet. However, I think the formatted code could stay (with a few nitpicking, for which I'll add comments on this PR) and we can probably have a test that runs the linter and formatter for checking.

@adehad

Copy link
Copy Markdown
Author

and we can probably have a test that runs the linter and formatter for checking.

Yep, we do this too rather that as a pre-commit hook itself. I can recommend using the pre-commit.ci github action/app as this automates the process of checking PRs

@adehad

Copy link
Copy Markdown
Author

@msullivan any contributions accepted in this vein or shall I delete the branch on my end as well?

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@adehad@chrisemke@fantix@msullivan
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Add a basic pre-commit lint and autoformat - #448

Closed
adehad wants to merge 8 commits into
geldata:masterfrom
adehad:chore/pre-commit
Closed

Add a basic pre-commit lint and autoformat#448
adehad wants to merge 8 commits into
geldata:masterfrom
adehad:chore/pre-commit

Conversation

@adehad

@adehadadehad commented Jul 1, 2023

Copy link
Copy Markdown

Following up on: #438

Summary of changes

  1. a pre-commit config file has been added with some simple rules
  2. Errors picked up during the linting have been addressed and added as separate commits for clarity

NOTE

Target branch

This is targetting the drop-py37 branch. As it was assumed this PR would be merged after #435 .

Running the lint

The assumption is that pre-commit.ci GitHub integration is going to be setup for this project and therefore a dedicate lint GHA has NOT been setup, although it may look like:

---
name: Linton:
push:
branches:
- master
- cipull_request:
branches:
- masterworkflow_dispatch:
inputs: {}jobs:
test:
runs-on: ubuntu-latestdefaults:
run:
shell: bashenv:
PIP_DISABLE_PIP_VERSION_CHECK: 1steps:
- uses: actions/checkout@v3with:
fetch-depth: 1submodules: true
- name: pre-commitrun: | python -m pip install pre-commit python -m pre_commit run --all-files

@gel-data-cla

gel-data-claBot commented Jul 1, 2023

Copy link
Copy Markdown

All commit authors signed the Contributor License Agreement.
CLA signed

@adehad

adehad commented Jul 1, 2023

Copy link
Copy Markdown
Author

@fantix Might be an issue that tests aren't running on this PR yet (due to it not targetting the master branch).
Happy to wait for #435 to be merged first

@chrisemkechrisemke left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consideration should be given to using the following hooks to enable it in the future:
id: blacken-docs (https://github.com/asottile/blacken-docs)
id: insert-license (https://github.com/Lucas-C/pre-commit-hooks)
id: conventional-pre-commit (https://github.com/compilerla/conventional-pre-commit)

Also re-enable mypy is very important for the future

Comment on lines +25 to +22
- id: check-yaml
files: .*\.(yaml|yml)$

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-added-large-files
- id: check-toml

Comment thread.pre-commit-config.yaml Outdated
- repo: https://github.com/psf/black
rev: 23.3.0
hooks:
- id: black

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the name to make it more readable and beautiful when running

Suggested change
- id: black
- id: black
name: Black (Python formatter)

- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: "v0.0.275"
hooks:
- id: ruff

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the name to make it more readable and beautiful when running

Suggested change
- id: ruff
- id: ruff
name: Ruff (Python linter)

@chrisemke

Copy link
Copy Markdown

Another thing that would be really cool would be an edgedb hook to (but not limited to) verifying or formatting the .esdl and .edgeql files

@adehad

Copy link
Copy Markdown
Author

@fantix feel free commit any of the suggestions.
(Personally I don't think the name addition to the pre-commit config adds much, I've mainly used it when I am running the same tool multiple times but with different configurations)

@fantix
fantix deleted the branch geldata:masterSeptember 14, 2023 20:04
@fantixfantix closed this Sep 14, 2023
@fantix

Copy link
Copy Markdown
Member

Sorry, I didn't mean to close this PR.

@fantixfantix reopened this Sep 14, 2023
@adehad

Copy link
Copy Markdown
Author

@fantix do let me know if you would like me to target the main branch instead of this drop-py37 branch

@fantix

Copy link
Copy Markdown
Member

Yes, please! Let's retarget and rebase to the master branch, and get this merged 🙏

@adehad
adehad changed the base branch from drop-py37 to masterSeptember 18, 2023 16:25
@adehad

Copy link
Copy Markdown
Author

@fantix should be ready for review again now

@adehad

Copy link
Copy Markdown
Author

Didn't realise there were merge conflicts, should now be resolved and ready for review @fantix

@adehad

Copy link
Copy Markdown
Author

(bump) @fantix

@adehad

Copy link
Copy Markdown
Author

@fantix have just rebased now

@fantix

Copy link
Copy Markdown
Member

Thanks for the updates! I talked to the team and decided we don't want a pre-commit hook yet. However, I think the formatted code could stay (with a few nitpicking, for which I'll add comments on this PR) and we can probably have a test that runs the linter and formatter for checking.

@adehad

Copy link
Copy Markdown
Author

and we can probably have a test that runs the linter and formatter for checking.

Yep, we do this too rather that as a pre-commit hook itself. I can recommend using the pre-commit.ci github action/app as this automates the process of checking PRs

@adehad

Copy link
Copy Markdown
Author

@msullivan any contributions accepted in this vein or shall I delete the branch on my end as well?

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@adehad@chrisemke@fantix@msullivan
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add a basic pre-commit lint and autoformat - #448

Closed
adehad wants to merge 8 commits into
geldata:masterfrom
adehad:chore/pre-commit
Closed

Add a basic pre-commit lint and autoformat#448
adehad wants to merge 8 commits into
geldata:masterfrom
adehad:chore/pre-commit

Conversation

@adehad

@adehadadehad commented Jul 1, 2023

Copy link
Copy Markdown

Following up on: #438

Summary of changes

  1. a pre-commit config file has been added with some simple rules
  2. Errors picked up during the linting have been addressed and added as separate commits for clarity

NOTE

Target branch

This is targetting the drop-py37 branch. As it was assumed this PR would be merged after #435 .

Running the lint

The assumption is that pre-commit.ci GitHub integration is going to be setup for this project and therefore a dedicate lint GHA has NOT been setup, although it may look like:

---
name: Linton:
push:
branches:
- master
- cipull_request:
branches:
- masterworkflow_dispatch:
inputs: {}jobs:
test:
runs-on: ubuntu-latestdefaults:
run:
shell: bashenv:
PIP_DISABLE_PIP_VERSION_CHECK: 1steps:
- uses: actions/checkout@v3with:
fetch-depth: 1submodules: true
- name: pre-commitrun: | python -m pip install pre-commit python -m pre_commit run --all-files

@gel-data-cla

gel-data-claBot commented Jul 1, 2023

Copy link
Copy Markdown

All commit authors signed the Contributor License Agreement.
CLA signed

@adehad

adehad commented Jul 1, 2023

Copy link
Copy Markdown
Author

@fantix Might be an issue that tests aren't running on this PR yet (due to it not targetting the master branch).
Happy to wait for #435 to be merged first

@chrisemkechrisemke left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consideration should be given to using the following hooks to enable it in the future:
id: blacken-docs (https://github.com/asottile/blacken-docs)
id: insert-license (https://github.com/Lucas-C/pre-commit-hooks)
id: conventional-pre-commit (https://github.com/compilerla/conventional-pre-commit)

Also re-enable mypy is very important for the future

Comment on lines +25 to +22
- id: check-yaml
files: .*\.(yaml|yml)$

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-added-large-files
- id: check-toml

Comment thread.pre-commit-config.yaml Outdated
- repo: https://github.com/psf/black
rev: 23.3.0
hooks:
- id: black

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the name to make it more readable and beautiful when running

Suggested change
- id: black
- id: black
name: Black (Python formatter)

- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: "v0.0.275"
hooks:
- id: ruff

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the name to make it more readable and beautiful when running

Suggested change
- id: ruff
- id: ruff
name: Ruff (Python linter)

@chrisemke

Copy link
Copy Markdown

Another thing that would be really cool would be an edgedb hook to (but not limited to) verifying or formatting the .esdl and .edgeql files

@adehad

Copy link
Copy Markdown
Author

@fantix feel free commit any of the suggestions.
(Personally I don't think the name addition to the pre-commit config adds much, I've mainly used it when I am running the same tool multiple times but with different configurations)

@fantix
fantix deleted the branch geldata:masterSeptember 14, 2023 20:04
@fantixfantix closed this Sep 14, 2023
@fantix

Copy link
Copy Markdown
Member

Sorry, I didn't mean to close this PR.

@fantixfantix reopened this Sep 14, 2023
@adehad

Copy link
Copy Markdown
Author

@fantix do let me know if you would like me to target the main branch instead of this drop-py37 branch

@fantix

Copy link
Copy Markdown
Member

Yes, please! Let's retarget and rebase to the master branch, and get this merged 🙏

@adehad
adehad changed the base branch from drop-py37 to masterSeptember 18, 2023 16:25
@adehad

Copy link
Copy Markdown
Author

@fantix should be ready for review again now

@adehad

Copy link
Copy Markdown
Author

Didn't realise there were merge conflicts, should now be resolved and ready for review @fantix

@adehad

Copy link
Copy Markdown
Author

(bump) @fantix

@adehad

Copy link
Copy Markdown
Author

@fantix have just rebased now

@fantix

Copy link
Copy Markdown
Member

Thanks for the updates! I talked to the team and decided we don't want a pre-commit hook yet. However, I think the formatted code could stay (with a few nitpicking, for which I'll add comments on this PR) and we can probably have a test that runs the linter and formatter for checking.

@adehad

Copy link
Copy Markdown
Author

and we can probably have a test that runs the linter and formatter for checking.

Yep, we do this too rather that as a pre-commit hook itself. I can recommend using the pre-commit.ci github action/app as this automates the process of checking PRs

@adehad

Copy link
Copy Markdown
Author

@msullivan any contributions accepted in this vein or shall I delete the branch on my end as well?

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@adehad@chrisemke@fantix@msullivan
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add a basic pre-commit lint and autoformat - #448

Closed
adehad wants to merge 8 commits into
geldata:masterfrom
adehad:chore/pre-commit
Closed

Add a basic pre-commit lint and autoformat#448
adehad wants to merge 8 commits into
geldata:masterfrom
adehad:chore/pre-commit

Conversation

@adehad

@adehadadehad commented Jul 1, 2023

Copy link
Copy Markdown

Following up on: #438

Summary of changes

  1. a pre-commit config file has been added with some simple rules
  2. Errors picked up during the linting have been addressed and added as separate commits for clarity

NOTE

Target branch

This is targetting the drop-py37 branch. As it was assumed this PR would be merged after #435 .

Running the lint

The assumption is that pre-commit.ci GitHub integration is going to be setup for this project and therefore a dedicate lint GHA has NOT been setup, although it may look like:

---
name: Linton:
push:
branches:
- master
- cipull_request:
branches:
- masterworkflow_dispatch:
inputs: {}jobs:
test:
runs-on: ubuntu-latestdefaults:
run:
shell: bashenv:
PIP_DISABLE_PIP_VERSION_CHECK: 1steps:
- uses: actions/checkout@v3with:
fetch-depth: 1submodules: true
- name: pre-commitrun: | python -m pip install pre-commit python -m pre_commit run --all-files

@gel-data-cla

gel-data-claBot commented Jul 1, 2023

Copy link
Copy Markdown

All commit authors signed the Contributor License Agreement.
CLA signed

@adehad

adehad commented Jul 1, 2023

Copy link
Copy Markdown
Author

@fantix Might be an issue that tests aren't running on this PR yet (due to it not targetting the master branch).
Happy to wait for #435 to be merged first

@chrisemkechrisemke left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consideration should be given to using the following hooks to enable it in the future:
id: blacken-docs (https://github.com/asottile/blacken-docs)
id: insert-license (https://github.com/Lucas-C/pre-commit-hooks)
id: conventional-pre-commit (https://github.com/compilerla/conventional-pre-commit)

Also re-enable mypy is very important for the future

Comment on lines +25 to +22
- id: check-yaml
files: .*\.(yaml|yml)$

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-added-large-files
- id: check-toml

Comment thread.pre-commit-config.yaml Outdated
- repo: https://github.com/psf/black
rev: 23.3.0
hooks:
- id: black

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the name to make it more readable and beautiful when running

Suggested change
- id: black
- id: black
name: Black (Python formatter)

- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: "v0.0.275"
hooks:
- id: ruff

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the name to make it more readable and beautiful when running

Suggested change
- id: ruff
- id: ruff
name: Ruff (Python linter)

@chrisemke

Copy link
Copy Markdown

Another thing that would be really cool would be an edgedb hook to (but not limited to) verifying or formatting the .esdl and .edgeql files

@adehad

Copy link
Copy Markdown
Author

@fantix feel free commit any of the suggestions.
(Personally I don't think the name addition to the pre-commit config adds much, I've mainly used it when I am running the same tool multiple times but with different configurations)

@fantix
fantix deleted the branch geldata:masterSeptember 14, 2023 20:04
@fantixfantix closed this Sep 14, 2023
@fantix

Copy link
Copy Markdown
Member

Sorry, I didn't mean to close this PR.

@fantixfantix reopened this Sep 14, 2023
@adehad

Copy link
Copy Markdown
Author

@fantix do let me know if you would like me to target the main branch instead of this drop-py37 branch

@fantix

Copy link
Copy Markdown
Member

Yes, please! Let's retarget and rebase to the master branch, and get this merged 🙏

@adehad
adehad changed the base branch from drop-py37 to masterSeptember 18, 2023 16:25
@adehad

Copy link
Copy Markdown
Author

@fantix should be ready for review again now

@adehad

Copy link
Copy Markdown
Author

Didn't realise there were merge conflicts, should now be resolved and ready for review @fantix

@adehad

Copy link
Copy Markdown
Author

(bump) @fantix

@adehad

Copy link
Copy Markdown
Author

@fantix have just rebased now

@fantix

Copy link
Copy Markdown
Member

Thanks for the updates! I talked to the team and decided we don't want a pre-commit hook yet. However, I think the formatted code could stay (with a few nitpicking, for which I'll add comments on this PR) and we can probably have a test that runs the linter and formatter for checking.

@adehad

Copy link
Copy Markdown
Author

and we can probably have a test that runs the linter and formatter for checking.

Yep, we do this too rather that as a pre-commit hook itself. I can recommend using the pre-commit.ci github action/app as this automates the process of checking PRs

@adehad

Copy link
Copy Markdown
Author

@msullivan any contributions accepted in this vein or shall I delete the branch on my end as well?

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@adehad@chrisemke@fantix@msullivan
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Add a basic pre-commit lint and autoformat - #448

Closed
adehad wants to merge 8 commits into
geldata:masterfrom
adehad:chore/pre-commit
Closed

Add a basic pre-commit lint and autoformat#448
adehad wants to merge 8 commits into
geldata:masterfrom
adehad:chore/pre-commit

Conversation

@adehad

@adehadadehad commented Jul 1, 2023

Copy link
Copy Markdown

Following up on: #438

Summary of changes

  1. a pre-commit config file has been added with some simple rules
  2. Errors picked up during the linting have been addressed and added as separate commits for clarity

NOTE

Target branch

This is targetting the drop-py37 branch. As it was assumed this PR would be merged after #435 .

Running the lint

The assumption is that pre-commit.ci GitHub integration is going to be setup for this project and therefore a dedicate lint GHA has NOT been setup, although it may look like:

---
name: Linton:
push:
branches:
- master
- cipull_request:
branches:
- masterworkflow_dispatch:
inputs: {}jobs:
test:
runs-on: ubuntu-latestdefaults:
run:
shell: bashenv:
PIP_DISABLE_PIP_VERSION_CHECK: 1steps:
- uses: actions/checkout@v3with:
fetch-depth: 1submodules: true
- name: pre-commitrun: | python -m pip install pre-commit python -m pre_commit run --all-files

@gel-data-cla

gel-data-claBot commented Jul 1, 2023

Copy link
Copy Markdown

All commit authors signed the Contributor License Agreement.
CLA signed

@adehad

adehad commented Jul 1, 2023

Copy link
Copy Markdown
Author

@fantix Might be an issue that tests aren't running on this PR yet (due to it not targetting the master branch).
Happy to wait for #435 to be merged first

@chrisemkechrisemke left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consideration should be given to using the following hooks to enable it in the future:
id: blacken-docs (https://github.com/asottile/blacken-docs)
id: insert-license (https://github.com/Lucas-C/pre-commit-hooks)
id: conventional-pre-commit (https://github.com/compilerla/conventional-pre-commit)

Also re-enable mypy is very important for the future

Comment on lines +25 to +22
- id: check-yaml
files: .*\.(yaml|yml)$

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-added-large-files
- id: check-toml

Comment thread.pre-commit-config.yaml Outdated
- repo: https://github.com/psf/black
rev: 23.3.0
hooks:
- id: black

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the name to make it more readable and beautiful when running

Suggested change
- id: black
- id: black
name: Black (Python formatter)

- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: "v0.0.275"
hooks:
- id: ruff

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the name to make it more readable and beautiful when running

Suggested change
- id: ruff
- id: ruff
name: Ruff (Python linter)

@chrisemke

Copy link
Copy Markdown

Another thing that would be really cool would be an edgedb hook to (but not limited to) verifying or formatting the .esdl and .edgeql files

@adehad

Copy link
Copy Markdown
Author

@fantix feel free commit any of the suggestions.
(Personally I don't think the name addition to the pre-commit config adds much, I've mainly used it when I am running the same tool multiple times but with different configurations)

@fantix
fantix deleted the branch geldata:masterSeptember 14, 2023 20:04
@fantixfantix closed this Sep 14, 2023
@fantix

Copy link
Copy Markdown
Member

Sorry, I didn't mean to close this PR.

@fantixfantix reopened this Sep 14, 2023
@adehad

Copy link
Copy Markdown
Author

@fantix do let me know if you would like me to target the main branch instead of this drop-py37 branch

@fantix

Copy link
Copy Markdown
Member

Yes, please! Let's retarget and rebase to the master branch, and get this merged 🙏

@adehad
adehad changed the base branch from drop-py37 to masterSeptember 18, 2023 16:25
@adehad

Copy link
Copy Markdown
Author

@fantix should be ready for review again now

@adehad

Copy link
Copy Markdown
Author

Didn't realise there were merge conflicts, should now be resolved and ready for review @fantix

@adehad

Copy link
Copy Markdown
Author

(bump) @fantix

@adehad

Copy link
Copy Markdown
Author

@fantix have just rebased now

@fantix

Copy link
Copy Markdown
Member

Thanks for the updates! I talked to the team and decided we don't want a pre-commit hook yet. However, I think the formatted code could stay (with a few nitpicking, for which I'll add comments on this PR) and we can probably have a test that runs the linter and formatter for checking.

@adehad

Copy link
Copy Markdown
Author

and we can probably have a test that runs the linter and formatter for checking.

Yep, we do this too rather that as a pre-commit hook itself. I can recommend using the pre-commit.ci github action/app as this automates the process of checking PRs

@adehad

Copy link
Copy Markdown
Author

@msullivan any contributions accepted in this vein or shall I delete the branch on my end as well?

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@adehad@chrisemke@fantix@msullivan