Coverage for /home/runner/work/coxbuild/coxbuild/src/coxbuild/extensions/nodejs/__init__.py: 0%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

26 statements  

1from pathlib import Path 

2 

3import coxbuild 

4from coxbuild.configurations import Configuration 

5from coxbuild.schema import group, run, task 

6 

7from .. import ProjectSettings, withProject 

8 

9grouped = group("nodejs") 

10 

11 

12@grouped 

13@withProject 

14@task 

15def restore(path: Path | None = None, *, project: ProjectSettings): 

16 """Restore npm packages (ci).""" 

17 run(["npm", "ci"], cwd=path or project.src, retry=3) 

18 

19 

20@grouped 

21@withProject 

22@task 

23def build(path: Path | None = None, *, project: ProjectSettings): 

24 """Build npm project.""" 

25 run(["npm", "run", "build"], cwd=path or project.src) 

26 

27 

28@grouped 

29@withProject 

30@task 

31def dev(path: Path | None = None, *, project: ProjectSettings): 

32 """Run dev script.""" 

33 run(["npm", "run", "dev"], cwd=path or project.src) 

34 

35 

36@grouped 

37@withProject 

38@task 

39def serve(path: Path | None = None, *, project: ProjectSettings): 

40 """Run serve script.""" 

41 run(["npm", "run", "serve"], cwd=path or project.src)