Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Thomas Gambier
slapos
Commits
b5a4fc57
Commit
b5a4fc57
authored
Oct 10, 2023
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Plain Diff
Theia 1.42.1
See merge request
nexedi/slapos!1443
parents
e2926ab2
91cf2d1f
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
2438 additions
and
2377 deletions
+2438
-2377
component/git/buildout.cfg
component/git/buildout.cfg
+2
-2
component/nodejs/buildout.cfg
component/nodejs/buildout.cfg
+28
-9
component/theia/buildout.cfg
component/theia/buildout.cfg
+5
-0
component/theia/buildout.hash.cfg
component/theia/buildout.hash.cfg
+2
-2
component/theia/download-plugins.cfg
component/theia/download-plugins.cfg
+66
-66
component/theia/generate_download_plugins_cfg.py
component/theia/generate_download_plugins_cfg.py
+1
-3
component/theia/preloadTemplate.html
component/theia/preloadTemplate.html
+1
-0
component/theia/yarn.lock
component/theia/yarn.lock
+2290
-2267
software/peertube/software.cfg
software/peertube/software.cfg
+2
-2
software/theia/buildout.hash.cfg
software/theia/buildout.hash.cfg
+1
-1
software/theia/instance-theia.cfg.jinja.in
software/theia/instance-theia.cfg.jinja.in
+8
-5
software/theia/test/test.py
software/theia/test/test.py
+14
-2
stack/slapos.cfg
stack/slapos.cfg
+18
-18
No files found.
component/git/buildout.cfg
View file @
b5a4fc57
...
@@ -18,8 +18,8 @@ parts =
...
@@ -18,8 +18,8 @@ parts =
[git]
[git]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.4
0.1
.tar.xz
url = https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.4
2.0
.tar.xz
md5sum =
125d13c374a9ec9253f42c483bacec31
md5sum =
e61c187f6863d5e977e60cdedf213ec0
configure-options =
configure-options =
--with-curl=${curl:location}
--with-curl=${curl:location}
--with-openssl=${openssl:location}
--with-openssl=${openssl:location}
...
...
component/nodejs/buildout.cfg
View file @
b5a4fc57
...
@@ -12,13 +12,25 @@ extends =
...
@@ -12,13 +12,25 @@ extends =
parts =
parts =
nodejs
nodejs
[nodejs]
# nodejs >= 16 needs gcc >= 8.3
<= nodejs-16.19.0
# nodejs 16 needs gcc > 8.3
[gcc]
[gcc]
min_version = 8.3
min_version = 8.3
[nodejs]
<= nodejs-18.18.0
[nodejs-headers]
<= nodejs-headers-18.18.0
[node-gyp-environment]
# environment section to build with node-gyp.
# node-gyp downloads a tarball containing nodejs headers by default
# this uses a locally downloaded tarball, for reproductibility.
npm_config_tarball = ${nodejs-headers:target}
[nodejs-16.19.0]
[nodejs-16.19.0]
<= nodejs-base
<= nodejs-base
openssl_location = ${openssl:location}
openssl_location = ${openssl:location}
...
@@ -38,6 +50,18 @@ post-install =
...
@@ -38,6 +50,18 @@ post-install =
version = v16.19.0
version = v16.19.0
md5sum = e7bfbf135ae54d1dcca63bf17be84818
md5sum = e7bfbf135ae54d1dcca63bf17be84818
[nodejs-18.18.0]
<= nodejs-base
openssl_location = ${openssl:location}
version = v18.18.0
md5sum = a1ce8df7e6b9df9f4ba3ff1d4e2173d2
[nodejs-headers-18.18.0]
<= nodejs-headers-base
version = v18.18.0
md5sum = c5ab3e98977dfd639d830625d79eff52
[nodejs-14.16.0]
[nodejs-14.16.0]
<= nodejs-base
<= nodejs-base
openssl_location = ${openssl:location}
openssl_location = ${openssl:location}
...
@@ -57,11 +81,6 @@ version = v8.9.4
...
@@ -57,11 +81,6 @@ version = v8.9.4
md5sum = 4ddc1daff327d7e6f63da57fdfc24f55
md5sum = 4ddc1daff327d7e6f63da57fdfc24f55
PATH = ${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s
PATH = ${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s
[nodejs-8.6.0]
<= nodejs-base
version = v8.6.0
md5sum = 0c95e08220667d8a18b97ecec8218ac6
PATH = ${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s
[nodejs-8.12.0]
[nodejs-8.12.0]
<= nodejs-base
<= nodejs-base
...
...
component/theia/buildout.cfg
View file @
b5a4fc57
...
@@ -39,6 +39,7 @@ environment =
...
@@ -39,6 +39,7 @@ environment =
PATH=${nodejs:location}/bin:${pkgconfig:location}/bin:${python3:location}/bin:%(PATH)s
PATH=${nodejs:location}/bin:${pkgconfig:location}/bin:${python3:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${libsecret:location}/lib/pkgconfig:${libsecret:pkg_config_depends}
PKG_CONFIG_PATH=${libsecret:location}/lib/pkgconfig:${libsecret:pkg_config_depends}
LDFLAGS=-Wl,-rpath=${libsecret:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -Wl,-rpath=${glib:location}/lib
LDFLAGS=-Wl,-rpath=${libsecret:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -Wl,-rpath=${glib:location}/lib
npm_config_tarball=${node-gyp-environment:npm_config_tarball}
NODE_OPTIONS=--max_old_space_size=4096
NODE_OPTIONS=--max_old_space_size=4096
pre-configure =
pre-configure =
mkdir -p $TMPDIR
mkdir -p $TMPDIR
...
@@ -71,6 +72,7 @@ post-install =
...
@@ -71,6 +72,7 @@ post-install =
# and anyway not used once the software is installed
# and anyway not used once the software is installed
rm -f %(location)s/node_modules/@msgpackr-extract/*/*.node
rm -f %(location)s/node_modules/@msgpackr-extract/*/*.node
rm -rf $HOME/.cache/yarn/
rm -rf $HOME/.cache/yarn/
rm -rf $HOME/.cache/puppeteer/
# remove "which" command added in $PATH that does not correctly
# remove "which" command added in $PATH that does not correctly
# handle executables thanks to a secondary group of the user.
# handle executables thanks to a secondary group of the user.
# https://www.npmjs.com/package/which https://www.npmjs.com/package/isexe
# https://www.npmjs.com/package/which https://www.npmjs.com/package/isexe
...
@@ -179,6 +181,7 @@ content =
...
@@ -179,6 +181,7 @@ content =
"@theia/mini-browser": "latest",
"@theia/mini-browser": "latest",
"@theia/monaco": "latest",
"@theia/monaco": "latest",
"@theia/navigator": "latest",
"@theia/navigator": "latest",
"@theia/notebook": "latest",
"@theia/outline-view": "latest",
"@theia/outline-view": "latest",
"@theia/output": "latest",
"@theia/output": "latest",
"@theia/plugin-dev": "latest",
"@theia/plugin-dev": "latest",
...
@@ -191,9 +194,11 @@ content =
...
@@ -191,9 +194,11 @@ content =
"@theia/scm": "latest",
"@theia/scm": "latest",
"@theia/scm-extra": "latest",
"@theia/scm-extra": "latest",
"@theia/search-in-workspace": "latest",
"@theia/search-in-workspace": "latest",
"@theia/secondary-window": "latest",
"@theia/task": "latest",
"@theia/task": "latest",
"@theia/terminal": "latest",
"@theia/terminal": "latest",
"@theia/timeline": "latest",
"@theia/timeline": "latest",
"@theia/toolbar": "latest",
"@theia/typehierarchy": "latest",
"@theia/typehierarchy": "latest",
"@theia/userstorage": "latest",
"@theia/userstorage": "latest",
"@theia/variable-resolver": "latest",
"@theia/variable-resolver": "latest",
...
...
component/theia/buildout.hash.cfg
View file @
b5a4fc57
...
@@ -15,11 +15,11 @@
...
@@ -15,11 +15,11 @@
[preloadTemplate.html]
[preloadTemplate.html]
_update_hash_filename_ = preloadTemplate.html
_update_hash_filename_ = preloadTemplate.html
md5sum =
6343592161a349bb40e0de16ce67aa51
md5sum =
a27e2cb34e4efe2ed0d4698f505554f0
[yarn.lock]
[yarn.lock]
_update_hash_filename_ = yarn.lock
_update_hash_filename_ = yarn.lock
md5sum =
6435aaf48cbbfe7911505c2c45cc53ea
md5sum =
bb7444ebfeea21fed1960700aa6becf9
[ms-python-disable-jedi-buildout.patch]
[ms-python-disable-jedi-buildout.patch]
_update_hash_filename_ = ms-python-disable-jedi-buildout.patch
_update_hash_filename_ = ms-python-disable-jedi-buildout.patch
...
...
component/theia/download-plugins.cfg
View file @
b5a4fc57
This diff is collapsed.
Click to expand it.
component/theia/generate_download_plugins_cfg.py
View file @
b5a4fc57
...
@@ -49,9 +49,7 @@ for plugin_and_version in '''\
...
@@ -49,9 +49,7 @@ for plugin_and_version in '''\
vscode/lua/latest
vscode/lua/latest
vscode/make/latest
vscode/make/latest
vscode/markdown/latest
vscode/markdown/latest
# Activating extension 'Markdown Language Features (built-in)' failed:
vscode/markdown-language-features/latest
# i.workspace.onWillDropOnTextEditor is not a function
vscode/markdown-language-features/1.64.2
vscode/merge-conflict/latest
vscode/merge-conflict/latest
vscode/npm/latest
vscode/npm/latest
ms-vscode/node-debug/latest
ms-vscode/node-debug/latest
...
...
component/theia/preloadTemplate.html
View file @
b5a4fc57
...
@@ -7,6 +7,7 @@
...
@@ -7,6 +7,7 @@
link
=
document
.
createElement
(
'
link
'
);
link
=
document
.
createElement
(
'
link
'
);
link
.
rel
=
"
manifest
"
;
link
.
rel
=
"
manifest
"
;
link
.
href
=
"
/theia.webmanifest
"
;
link
.
href
=
"
/theia.webmanifest
"
;
link
.
crossOrigin
=
"
use-credentials
"
;
document
.
head
.
appendChild
(
link
);
document
.
head
.
appendChild
(
link
);
if
(
'
serviceWorker
'
in
navigator
)
{
if
(
'
serviceWorker
'
in
navigator
)
{
...
...
component/theia/yarn.lock
View file @
b5a4fc57
This diff is collapsed.
Click to expand it.
software/peertube/software.cfg
View file @
b5a4fc57
...
@@ -43,8 +43,6 @@ parts =
...
@@ -43,8 +43,6 @@ parts =
gcc
gcc
unzip
unzip
curl
curl
nodejs
yarn
openssl
openssl
python3
python3
nginx
nginx
...
@@ -57,6 +55,8 @@ parts =
...
@@ -57,6 +55,8 @@ parts =
peertube-build
peertube-build
instance-profile
instance-profile
[nodejs]
<= nodejs-16.19.0
[peertube]
[peertube]
recipe = slapos.recipe.build:download-unpacked
recipe = slapos.recipe.build:download-unpacked
...
...
software/theia/buildout.hash.cfg
View file @
b5a4fc57
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
[instance-theia]
[instance-theia]
_update_hash_filename_ = instance-theia.cfg.jinja.in
_update_hash_filename_ = instance-theia.cfg.jinja.in
md5sum =
c484bba770c6404ba0a5b2a958b07a68
md5sum =
b31e74f018ae92607f4ff63984b33c7a
[instance]
[instance]
_update_hash_filename_ = instance.cfg.in
_update_hash_filename_ = instance.cfg.in
...
...
software/theia/instance-theia.cfg.jinja.in
View file @
b5a4fc57
...
@@ -260,15 +260,18 @@ content =
...
@@ -260,15 +260,18 @@ content =
frontend app
frontend app
log global
log global
bind $${:ip}:$${:port} ssl crt $${frontend-instance-certificate:cert-file} alpn h2,http/1.1
bind $${:ip}:$${:port} ssl crt $${frontend-instance-certificate:cert-file} alpn h2,http/1.1
# writing twice the same ACL is doing OR
acl is_public path_beg /public/
acl is_public path_beg /public/
acl is_public path /$${frontend-instance-favicon.ico:filename}
acl is_public path /$${frontend-instance-theia.webmanifest:filename}
acl is_public path /$${frontend-instance-theia-serviceworker.js:filename}
acl auth_ok http_auth(basic-auth-list)
acl auth_ok http_auth(basic-auth-list)
# writing twice the same ACL is doing OR
acl is_static path_beg /$${frontend-instance-fonts:folder-name}
acl is_static path_beg /$${frontend-instance-slapos.css:folder-name}
acl is_static path /$${frontend-instance-logo:filename}
acl is_static path /$${frontend-instance-favicon.ico:filename}
acl is_static path /$${frontend-instance-theia.webmanifest:filename}
acl is_static path /$${frontend-instance-theia-serviceworker.js:filename}
# No authentication for public folder
# No authentication for public folder
http-request auth unless auth_ok || is_public
http-request auth unless auth_ok || is_public
use_backend static if
{ path_beg /$${frontend-instance-fonts:folder-name} } || { path_beg /$${frontend-instance-slapos.css:folder-name} } || { path /$${frontend-instance-logo:filename} }
|| is_public
use_backend static if
is_static
|| is_public
default_backend nodejs
default_backend nodejs
backend nodejs
backend nodejs
...
...
software/theia/test/test.py
View file @
b5a4fc57
...
@@ -161,10 +161,22 @@ class TestTheia(TheiaTestCase):
...
@@ -161,10 +161,22 @@ class TestTheia(TheiaTestCase):
self
.
assertIn
(
'test_file'
,
get
(
'/public/'
))
self
.
assertIn
(
'test_file'
,
get
(
'/public/'
))
self
.
assertEqual
(
'hello'
,
get
(
'/public/test_file'
))
self
.
assertEqual
(
'hello'
,
get
(
'/public/test_file'
))
# there's a (not empty) favicon (no need for authentication)
# favicon is not empty
resp
=
self
.
get
(
urljoin
(
url
,
'/favicon.ico'
))
self
.
get
(
urljoin
(
url
,
'/favicon.ico'
),
requests
.
codes
.
unauthorized
)
resp
=
self
.
get
(
urljoin
(
authenticated_url
,
'/favicon.ico'
))
resp
.
raise_for_status
()
self
.
assertTrue
(
resp
.
raw
)
self
.
assertTrue
(
resp
.
raw
)
self
.
get
(
urljoin
(
url
,
'/theia-serviceworker.js'
),
requests
.
codes
.
unauthorized
)
resp
=
self
.
get
(
urljoin
(
authenticated_url
,
'/theia-serviceworker.js'
))
resp
.
raise_for_status
()
self
.
assertTrue
(
resp
.
raw
)
self
.
get
(
urljoin
(
url
,
'/theia.webmanifest'
),
requests
.
codes
.
unauthorized
)
resp
=
self
.
get
(
urljoin
(
authenticated_url
,
'/theia.webmanifest'
))
resp
.
raise_for_status
()
self
.
assertIn
(
'Theia SlapOS'
,
resp
.
text
)
# there is a CSS referencing fonts
# there is a CSS referencing fonts
css_text
=
self
.
get
(
urljoin
(
authenticated_url
,
'/css/slapos.css'
)).
text
css_text
=
self
.
get
(
urljoin
(
authenticated_url
,
'/css/slapos.css'
)).
text
css_urls
=
re
.
findall
(
r'url\
([
\'"]+([^
\
)]+)[
\
'"
]
+
\
)
', css_text)
css_urls
=
re
.
findall
(
r'url\
([
\'"]+([^
\
)]+)[
\
'"
]
+
\
)
', css_text)
...
...
stack/slapos.cfg
View file @
b5a4fc57
...
@@ -136,17 +136,17 @@ zc.buildout = 2.7.1+slapos019
...
@@ -136,17 +136,17 @@ zc.buildout = 2.7.1+slapos019
# Use SlapOS patched zc.recipe.egg (zc.recipe.egg 2.x is for Buildout 2)
# Use SlapOS patched zc.recipe.egg (zc.recipe.egg 2.x is for Buildout 2)
zc.recipe.egg = 2.0.3+slapos003
zc.recipe.egg = 2.0.3+slapos003
aiohttp = 3.8.
3
:whl
aiohttp = 3.8.
5
:whl
aiosignal = 1.3.1:whl
aiosignal = 1.3.1:whl
apache-libcloud = 2.4.0
apache-libcloud = 2.4.0
argon2-cffi = 20.1.0
argon2-cffi = 20.1.0
asn1crypto = 1.3.0
asn1crypto = 1.3.0
astor = 0.5
astor = 0.5
async-generator = 1.10
async-generator = 1.10
async-timeout = 4.0.
2
async-timeout = 4.0.
3
atomicwrites = 1.4.0
atomicwrites = 1.4.0
atomize = 0.2.0
atomize = 0.2.0
attrs = 2
2.2.0
attrs = 2
3.1.0:whl
backcall = 0.2.0
backcall = 0.2.0
backports-abc = 0.5
backports-abc = 0.5
backports.functools-lru-cache = 1.6.1:whl
backports.functools-lru-cache = 1.6.1:whl
...
@@ -155,12 +155,12 @@ backports.shutil-get-terminal-size = 1.0.0
...
@@ -155,12 +155,12 @@ backports.shutil-get-terminal-size = 1.0.0
bcrypt = 3.1.4
bcrypt = 3.1.4
bleach = 5.0.1
bleach = 5.0.1
CacheControl = 0.12.6:whl
CacheControl = 0.12.6:whl
cachetools = 5.
2.0
cachetools = 5.
3.1
cattrs = 22.2.0
cattrs = 22.2.0
certifi = 202
2.12.7
certifi = 202
3.7.22
cffi = 1.15.0
cffi = 1.15.0
chardet = 3.0.4
chardet = 3.0.4
charset-normalizer =
2.1.1
charset-normalizer =
3.3.0
click = 8.1.3
click = 8.1.3
cliff = 2.8.3:whl
cliff = 2.8.3:whl
cmd2 = 0.7.0
cmd2 = 0.7.0
...
@@ -180,10 +180,10 @@ entrypoints = 0.3
...
@@ -180,10 +180,10 @@ entrypoints = 0.3
enum34 = 1.1.10
enum34 = 1.1.10
erp5.util = 0.4.74
erp5.util = 0.4.74
et-xmlfile = 1.0.1
et-xmlfile = 1.0.1
exceptiongroup = 1.
0.0
:whl
exceptiongroup = 1.
1.3
:whl
feedparser = 6.0.10
feedparser = 6.0.10
Flask = 1.1.2
Flask = 1.1.2
frozenlist = 1.
3.3
:whl
frozenlist = 1.
4.0
:whl
funcsigs = 1.0.2
funcsigs = 1.0.2
functools32 = 3.2.3.post2
functools32 = 3.2.3.post2
gevent = 20.9.0
gevent = 20.9.0
...
@@ -196,7 +196,7 @@ h5py = 2.7.1
...
@@ -196,7 +196,7 @@ h5py = 2.7.1
idna = 3.4:whl
idna = 3.4:whl
igmp = 1.0.4
igmp = 1.0.4
Importing = 1.10
Importing = 1.10
importlib-metadata =
1.7
.0:whl
importlib-metadata =
6.8
.0:whl
importlib-resources = 5.10.2:whl
importlib-resources = 5.10.2:whl
inotify-simple = 1.1.1
inotify-simple = 1.1.1
ipaddress = 1.0.23
ipaddress = 1.0.23
...
@@ -218,7 +218,7 @@ jupyterlab-launcher = 0.3.1
...
@@ -218,7 +218,7 @@ jupyterlab-launcher = 0.3.1
jupyterlab-pygments = 0.1.2
jupyterlab-pygments = 0.1.2
lock-file = 2.0
lock-file = 2.0
lockfile = 0.12.2:whl
lockfile = 0.12.2:whl
lsprotocol = 202
2.0.0a9
:whl
lsprotocol = 202
3.0.0b1
:whl
lxml = 4.9.1
lxml = 4.9.1
manuel = 1.11.2
manuel = 1.11.2
MarkupSafe = 2.0.1
MarkupSafe = 2.0.1
...
@@ -239,7 +239,7 @@ netifaces = 0.10.7
...
@@ -239,7 +239,7 @@ netifaces = 0.10.7
notebook = 6.1.5
notebook = 6.1.5
openpyxl = 2.5.2
openpyxl = 2.5.2
outcome = 1.2.0
outcome = 1.2.0
packaging = 2
2.0
:whl
packaging = 2
3.2
:whl
pandocfilters = 1.4.3
pandocfilters = 1.4.3
paramiko = 2.11.0
paramiko = 2.11.0
parso = 0.7.1
parso = 0.7.1
...
@@ -266,7 +266,7 @@ pyasn1 = 0.4.5
...
@@ -266,7 +266,7 @@ pyasn1 = 0.4.5
pycparser = 2.20
pycparser = 2.20
pycurl = 7.43.0
pycurl = 7.43.0
pydantic = 1.9.1
pydantic = 1.9.1
pygls = 1.
0
.0:whl
pygls = 1.
1
.0:whl
Pygments = 2.9.0
Pygments = 2.9.0
PyNaCl = 1.3.0
PyNaCl = 1.3.0
pyOpenSSL = 19.1.0
pyOpenSSL = 19.1.0
...
@@ -283,7 +283,7 @@ pyzmq = 22.3.0
...
@@ -283,7 +283,7 @@ pyzmq = 22.3.0
qtconsole = 4.3.0
qtconsole = 4.3.0
random2 = 1.0.1
random2 = 1.0.1
regex = 2020.9.27
regex = 2020.9.27
requests = 2.
28.1
requests = 2.
31.0
rpdb = 0.1.5
rpdb = 0.1.5
rubygemsrecipe = 0.4.3
rubygemsrecipe = 0.4.3
scandir = 1.10.0
scandir = 1.10.0
...
@@ -319,8 +319,8 @@ tornado = 6.1
...
@@ -319,8 +319,8 @@ tornado = 6.1
traitlets = 5.0.5
traitlets = 5.0.5
trio = 0.22.0
trio = 0.22.0
trio-websocket = 0.9.2
trio-websocket = 0.9.2
typeguard =
2.13.3
:whl
typeguard =
3.0.2
:whl
typing-extensions = 4.
3
.0:whl
typing-extensions = 4.
8
.0:whl
tzlocal = 1.5.1
tzlocal = 1.5.1
unicodecsv = 0.14.1
unicodecsv = 0.14.1
uritemplate = 3.0.0
uritemplate = 3.0.0
...
@@ -330,13 +330,13 @@ webencodings = 0.5.1
...
@@ -330,13 +330,13 @@ webencodings = 0.5.1
websockets = 10.4
websockets = 10.4
websocket-client = 1.5.1
websocket-client = 1.5.1
Werkzeug = 2.0.2
Werkzeug = 2.0.2
wheel = 0.
38.4
:whl
wheel = 0.
41.2
:whl
widgetsnbextension = 2.0.0
widgetsnbextension = 2.0.0
wsproto = 1.2.0
wsproto = 1.2.0
xlrd = 1.1.0
xlrd = 1.1.0
xml-marshaller = 1.0.2
xml-marshaller = 1.0.2
yarl = 1.
8
.2
yarl = 1.
9
.2
zc.buildout.languageserver = 0.
9
.0
zc.buildout.languageserver = 0.
11
.0
zc.lockfile = 1.4
zc.lockfile = 1.4
ZConfig = 3.6.1
ZConfig = 3.6.1
zdaemon = 4.2.0
zdaemon = 4.2.0
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment