@@ -23,10 +23,8 @@ def build_dist(package, dist_dir):
23
23
os .remove (pkg )
24
24
25
25
if osp .isdir (package ):
26
- basedir = package
27
26
tarball = osp .join (package , util .run ("npm pack" , cwd = package ).split ("\n " )[- 1 ])
28
27
else :
29
- basedir = osp .dirname (package )
30
28
tarball = package
31
29
32
30
data = extract_package (tarball )
@@ -41,22 +39,15 @@ def build_dist(package, dist_dir):
41
39
return
42
40
43
41
if "workspaces" in data :
44
- all_data = dict ()
42
+ paths = []
45
43
for path in _get_workspace_packages (data ):
46
44
package_json = path / "package.json"
47
45
data = json .loads (package_json .read_text (encoding = "utf-8" ))
48
46
if data .get ("private" , False ):
49
47
continue
50
- data ["__path__" ] = path
51
- all_data [data ["name" ]] = data
48
+ paths .append (str (osp .abspath (path )).replace (os .sep , "/" ))
52
49
53
- i = 0
54
- for (name , data ) in sorted (all_data .items ()):
55
- i += 1
56
- path = data ["__path__" ]
57
- util .log (f'({ i } /{ len (all_data )} ) Packing { data ["name" ]} ...' )
58
- tarball = path / util .run ("npm pack" , cwd = path , quiet = True )
59
- shutil .move (str (tarball ), str (dest ))
50
+ util .run (f"npm pack { ' ' .join (paths )} " , cwd = dest , quiet = True )
60
51
61
52
62
53
def extract_dist (dist_dir , target ):
@@ -171,7 +162,7 @@ def tag_workspace_packages():
171
162
return
172
163
173
164
data = json .loads (PACKAGE_JSON .read_text (encoding = "utf-8" ))
174
- tags = util .run ("git tag" ).splitlines ()
165
+ tags = util .run ("git tag" , quiet = True ).splitlines ()
175
166
if "workspaces" not in data :
176
167
return
177
168
0 commit comments