Skip to content

Commit f20740e

Browse files
committed
feat: new release command
- added: config format versioning - added: pyodide version - added: conf update function - added: npm command by default it tries to call npm run build - added: release command - [BREAKING]: vue command removed, use npm instead - [BREAKING]: assets command removed, use npm instead
1 parent 65142a0 commit f20740e

File tree

10 files changed

+108
-154
lines changed

10 files changed

+108
-154
lines changed

CHANGELOG.md

+9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
# Changelog
22

33
This file documents any relevant changes.
4+
## [0.6.5] - 2022-02-22
5+
- added: config format versioning
6+
- added: pyodide version
7+
- added: conf update function
8+
- added: npm command by default it tries to call npm run build
9+
- added: release command
10+
- [BREAKING]: vue command removed, use npm instead
11+
- [BREAKING]: assets command removed, use npm instead
12+
-
413
## [0.6.4] - 2022-02-21
514
- fix: get-pyodide now uses 0.19
615

src/viur_cli/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from .version import *
22

33
from .cli import *
4+
from .npm import *
5+
from .release import *
46
from .flare import *
57
from .deploy import *
68
from .local import *
79
from .vi import *
8-
from .assets import *
9-
from .vue import *
1010
from .setup import *

src/viur_cli/assets.py

-60
This file was deleted.

src/viur_cli/conf.py

+20-1
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,17 @@ def create_new_config(ctx, path=None):
2222
else:
2323
sourcesFolder = click.prompt('distribution folder', default="./sources")
2424

25+
26+
2527
_projectconf = {
2628
"default": {
29+
"format":"1.0.0",
2730
"distribution_folder": deployFolder,
2831
"sources_folder": sourcesFolder,
2932
"flare": {},
3033
"vi": "submodule",
31-
"core": "submodule"
34+
"core": "submodule",
35+
"pyodide": click.prompt('pyodide', default="v0.19.0")
3236
},
3337

3438
"develop": {
@@ -84,6 +88,9 @@ def load_config(path=None):
8488
except:
8589
echo_error("no project.json found")
8690

91+
92+
update_config()
93+
8794
return projectConfig
8895

8996

@@ -170,3 +177,15 @@ def fetch_core_version():
170177
if projectConfig and projectConfig["default"]:
171178
projectConfig["default"]["core"] = "submodule"
172179
write_config(projectConfig)
180+
181+
def update_config():
182+
if "format" not in projectConfig["default"]:
183+
projectConfig["default"]["format"] = "1.0.0"
184+
185+
if "pyodide" not in projectConfig["default"]:
186+
projectConfig["default"]["pyodide"] = "v0.19.0"
187+
188+
# conf updates musst increase format version
189+
190+
191+
write_config(projectConfig)

src/viur_cli/local.py

+2
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ def env():
3131
try:
3232
click.echo(f'Vi: {projectConfig["default"]["vi"]}')
3333
click.echo(f'Core: {projectConfig["default"]["core"]}')
34+
click.echo(f'Pyodide: {projectConfig["default"]["pyodide"]}')
35+
click.echo(f'format: {projectConfig["default"]["format"]}')
3436
except:
3537
echo_error("Error while collecting viur info")
3638
click.echo(f"\nCurrent Environment:\n--------------------------------")

src/viur_cli/npm.py

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import click, os, shutil
2+
from . import cli, echo_error, get_config
3+
4+
5+
@cli.command(context_settings={"ignore_unknown_options": True})
6+
@click.argument("name", default='develop')
7+
@click.argument("additional_args", nargs=-1)
8+
def npm(name, additional_args):
9+
"""create a release build"""
10+
projectConfig = get_config()
11+
12+
if name not in projectConfig:
13+
echo_error(f"{name} is not a valid config name.")
14+
return
15+
16+
conf = projectConfig["default"].copy()
17+
conf.update(projectConfig[name])
18+
19+
20+
if additional_args:
21+
script = additional_args[0]
22+
else:
23+
script = "build"
24+
25+
# start sources build
26+
os.system(f'cd {conf["sources_folder"]} && npm run {script}')
27+

src/viur_cli/release.py

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import click, os, shutil
2+
from . import cli, echo_error, get_config,utils
3+
4+
5+
@cli.command(context_settings={"ignore_unknown_options": True})
6+
@click.argument("name", default='develop')
7+
@click.argument("additional_args", nargs=-1)
8+
def release(name, additional_args):
9+
"""create a release build"""
10+
11+
utils.echo_info("building started...")
12+
projectConfig = get_config()
13+
14+
if name not in projectConfig:
15+
echo_error(f"{name} is not a valid config name.")
16+
return
17+
18+
conf = projectConfig["default"].copy()
19+
conf.update(projectConfig[name])
20+
21+
#get pyodide 0.19. Enforce pyodide
22+
if not conf.get("pyodide"):
23+
pyodide_version = "v0.19.0"
24+
else:
25+
pyodide_version = conf.get("pyodide")
26+
27+
os.system(f'get-pyodide -t {conf["distribution_folder"]}/pyodide -v {pyodide_version}')
28+
29+
#build all flare apps
30+
if conf.get("flare"):
31+
if "debug" in additional_args:
32+
flare_build_type = "debug"
33+
else:
34+
flare_build_type = "release"
35+
36+
for name,flare in conf["flare"].items():
37+
os.system(f'viur flare {flare_build_type} {name}')
38+
39+
#build all other apps and assets
40+
os.system('viur npm')
41+
utils.echo_info("building finished!")
42+
43+
44+

src/viur_cli/scripts/get_pyodide.py

+3
Original file line numberDiff line numberDiff line change
@@ -154,3 +154,6 @@
154154
print("Done")
155155

156156
print(f"Done installing Pyodide {args.version}")
157+
158+
def main():
159+
pass

src/viur_cli/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.6.4"
1+
__version__ = "0.6.5"

src/viur_cli/vue.py

-90
This file was deleted.

0 commit comments

Comments
 (0)