Skip to content

Commit 65a2eac

Browse files
authored
Update extension to work with jupyterlab 3.0 (#17)
* Jupyterlab autoupgrade script, dev env cleanup * black formatting, - vs _ naming, and server compat fixes * Clean up packaging in makefile * Remove unused coveragerc * Add more dev make targets * Add Python 3.9 to package metadata * Switch debug logging to debug level * Add wheel to dev requirements * Run actions on all branches, test packaging too * Fix missing run in action * Make action steps runnable via make locally * Fix eslint errors and warnings * Match lint target name to acation * Fix check for jupyter server extensions * Fix missing eslint (I think) * Update README * Update release target, readme animation link * Update binder to work with latest release (I think) * Remove redundant branch * build * Update release instructions * Make local filesystem requirement clearer * Fix dev env setup text * Bump version to 1.0.0
1 parent 92e8459 commit 65a2eac

35 files changed

+3912
-4769
lines changed

.coveragerc

Lines changed: 0 additions & 9 deletions
This file was deleted.

.eslintignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
node_modules
2+
dist
3+
coverage
4+
**/*.d.ts
5+
tests

.eslintrc.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
module.exports = {
2+
extends: [
3+
'eslint:recommended',
4+
'plugin:@typescript-eslint/eslint-recommended',
5+
'plugin:@typescript-eslint/recommended',
6+
'plugin:prettier/recommended'
7+
],
8+
parser: '@typescript-eslint/parser',
9+
parserOptions: {
10+
project: 'tsconfig.json',
11+
sourceType: 'module'
12+
},
13+
plugins: ['@typescript-eslint'],
14+
rules: {
15+
'@typescript-eslint/interface-name-prefix': [
16+
'error',
17+
{ prefixWithI: 'always' }
18+
],
19+
'@typescript-eslint/no-unused-vars': ['warn', { args: 'none' }],
20+
'@typescript-eslint/no-explicit-any': 'off',
21+
'@typescript-eslint/no-namespace': 'off',
22+
'@typescript-eslint/no-use-before-define': 'off',
23+
'@typescript-eslint/quotes': [
24+
'error',
25+
'single',
26+
{ avoidEscape: true, allowTemplateLiterals: false }
27+
],
28+
curly: ['error', 'all'],
29+
eqeqeq: 'error',
30+
'prefer-arrow-callback': 'error'
31+
}
32+
};

.flake8

Lines changed: 0 additions & 2 deletions
This file was deleted.

.github/workflows/build.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
branches: master
6+
pull_request:
7+
branches: '*'
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v2
15+
- name: Install node
16+
uses: actions/setup-node@v1
17+
with:
18+
node-version: '12.x'
19+
- name: Install Python
20+
uses: actions/setup-python@v2
21+
with:
22+
python-version: '3.9'
23+
architecture: 'x64'
24+
- name: Install dev dependencies
25+
run: |
26+
pip install -r requirements-dev.txt
27+
jlpm
28+
- name: Build the extension
29+
run: make build
30+
- name: Lint the extension
31+
run: make eslint
32+
- name: Test extension install
33+
run: |
34+
python -m pip install .
35+
make check
36+
37+
package:
38+
runs-on: ubuntu-latest
39+
steps:
40+
- name: Checkout
41+
uses: actions/checkout@v2
42+
- name: Install node
43+
uses: actions/setup-node@v1
44+
with:
45+
node-version: '12.x'
46+
- name: Install Python
47+
uses: actions/setup-python@v2
48+
with:
49+
python-version: '3.9'
50+
architecture: 'x64'
51+
- name: Install packaging dependencies
52+
run: pip install -r requirements-dev.txt
53+
- name: Package the extension
54+
run: make packages
55+
- name: Test extension install
56+
run: |
57+
python -m pip install ./dist/jupyterlab_quickopen*.whl
58+
make check

.gitignore

Lines changed: 64 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,48 @@
1+
*.bundle.*
2+
lib/
3+
node_modules/
4+
*.egg-info/
5+
.ipynb_checkpoints
6+
*.tsbuildinfo
7+
jupyterlab_quickopen/labextension
8+
9+
# Created by https://www.gitignore.io/api/python
10+
# Edit at https://www.gitignore.io/?templates=python
11+
12+
### Python ###
113
# Byte-compiled / optimized / DLL files
214
__pycache__/
315
*.py[cod]
16+
*$py.class
417

518
# C extensions
619
*.so
720

821
# Distribution / packaging
922
.Python
10-
env/
11-
bin/
1223
build/
1324
develop-eggs/
1425
dist/
26+
downloads/
1527
eggs/
28+
.eggs/
1629
lib/
1730
lib64/
1831
parts/
1932
sdist/
2033
var/
21-
*.egg-info/
34+
wheels/
35+
pip-wheel-metadata/
36+
share/python-wheels/
2237
.installed.cfg
2338
*.egg
24-
doc/_build
39+
MANIFEST
40+
41+
# PyInstaller
42+
# Usually these files are written by a python script from a template
43+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
44+
*.manifest
45+
*.spec
2546

2647
# Installer logs
2748
pip-log.txt
@@ -30,72 +51,65 @@ pip-delete-this-directory.txt
3051
# Unit test / coverage reports
3152
htmlcov/
3253
.tox/
33-
cover/
54+
.nox/
3455
.coverage
56+
.coverage.*
3557
.cache
3658
nosetests.xml
3759
coverage.xml
38-
cover/
60+
*.cover
61+
.hypothesis/
62+
.pytest_cache/
3963

4064
# Translations
4165
*.mo
42-
43-
# Mr Developer
44-
.mr.developer.cfg
45-
.project
46-
.pydevproject
47-
48-
# Rope
49-
.ropeproject
50-
51-
# Django stuff:
52-
*.log
5366
*.pot
5467

68+
# Scrapy stuff:
69+
.scrapy
70+
5571
# Sphinx documentation
5672
docs/_build/
5773

58-
#mac
59-
.DS_Store
60-
*~
74+
# PyBuilder
75+
target/
76+
77+
# pyenv
78+
.python-version
6179

62-
#pycharm
63-
.idea/*
80+
# celery beat schedule file
81+
celerybeat-schedule
6482

65-
#Dolphin browser files
66-
.directory/
67-
.directory
83+
# SageMath parsed files
84+
*.sage.py
6885

69-
#Binary data files
70-
*.volume
71-
*.am
72-
*.tiff
73-
*.tif
74-
*.dat
75-
*.DAT
86+
# Spyder project settings
87+
.spyderproject
88+
.spyproject
7689

77-
#generated documntation files
78-
generated/
90+
# Rope project settings
91+
.ropeproject
7992

80-
#ipython notebook
81-
.ipynb_checkpoints/
93+
# Mr Developer
94+
.mr.developer.cfg
95+
.project
96+
.pydevproject
8297

83-
#vim
84-
*.swp
98+
# mkdocs documentation
99+
/site
85100

86-
#data files
87-
*.zip
88-
*.jpg
101+
# mypy
102+
.mypy_cache/
103+
.dmypy.json
104+
dmypy.json
89105

90-
# ctags
91-
.tags*
106+
# Pyre type checker
107+
.pyre/
92108

93-
# VSCode
94-
.vscode/
109+
# End of https://www.gitignore.io/api/python
95110

96-
# Node
97-
node_modules/
111+
# OSX files
112+
.DS_Store
98113

99-
# venv
100-
.venv/
101-
pip-wheel-metadata/
114+
# virtualenv
115+
.venv

.prettierignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
node_modules
2+
**/node_modules
3+
**/lib
4+
**/package.json

.prettierrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"singleQuote": true
3+
}

.travis.yml

Lines changed: 0 additions & 8 deletions
This file was deleted.

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2018, Peter Parente
1+
Copyright (c) 2018, 2020 Peter Parente
22
All rights reserved.
33

44
Redistribution and use in source and binary forms, with or without modification,

0 commit comments

Comments
 (0)