4949
5050bundle_vscode () {
5151 mkdir -p " $VSCODE_OUT_PATH "
52- rsync " $VSCODE_SRC_PATH /package.json" " $VSCODE_OUT_PATH "
5352 rsync " $VSCODE_SRC_PATH /yarn.lock" " $VSCODE_OUT_PATH "
54- rsync " $VSCODE_SRC_PATH /node_modules" " $VSCODE_OUT_PATH "
5553 rsync " $VSCODE_SRC_PATH /out-vscode${MINIFY+-min} /" " $VSCODE_OUT_PATH /out"
54+
5655 rsync " $VSCODE_SRC_PATH /.build/extensions/" " $VSCODE_OUT_PATH /extensions"
56+ rm -Rf " $VSCODE_OUT_PATH /extensions/node_modules"
57+ rsync " $VSCODE_SRC_PATH /extensions/package.json" " $VSCODE_OUT_PATH /extensions"
58+ rsync " $VSCODE_SRC_PATH /extensions/yarn.lock" " $VSCODE_OUT_PATH /extensions"
59+ rsync " $VSCODE_SRC_PATH /extensions/postinstall.js" " $VSCODE_OUT_PATH /extensions"
5760
5861 mkdir -p " $VSCODE_OUT_PATH /resources/linux"
5962 rsync " $VSCODE_SRC_PATH /resources/linux/code.png" " $VSCODE_OUT_PATH /resources/linux/code.png"
@@ -68,26 +71,10 @@ bundle_vscode() {
6871EOF
6972 ) > " $VSCODE_OUT_PATH /product.json"
7073
71- pushd " $VSCODE_OUT_PATH "
72- yarn --production --frozen-lockfile --ignore-scripts
73- popd
74-
75- # We clear any native module builds.
76- local native_modules
77- mapfile -t native_modules < <( find " $VSCODE_OUT_PATH /node_modules" -name " binding.gyp" -exec dirname {} \; )
78- local nm
79- for nm in " ${native_modules[@]} " ; do
80- rm -R " $nm /build"
81- done
82-
83- # We have to rename node_modules to node_modules.bundled to avoid them being ignored by yarn.
84- local node_modules
85- mapfile -t node_modules < <( find " $VSCODE_OUT_PATH " -depth -name " node_modules" )
86- local nm
87- for nm in " ${node_modules[@]} " ; do
88- rm -Rf " $nm .bundled"
89- mv " $nm " " $nm .bundled"
90- done
74+ # We remove the scripts field so that later on we can run
75+ # yarn to fetch node_modules if necessary without build scripts running.
76+ # We cannot use --no-scripts because we still want dependant package scripts to run.
77+ jq ' del(.scripts)' < " $VSCODE_SRC_PATH /package.json" > " $VSCODE_OUT_PATH /package.json"
9178}
9279
9380main " $@ "
0 commit comments