@@ -113,28 +113,34 @@ containsElement () {
113113# Arguments:
114114# param1 - Base source folder
115115# param2 - Destination directory
116+ # param3 - Package name
117+ # param4 - Is sub directory
116118# Returns:
117119# None
118120# ######################################
119121rollupIndex () {
120122 # Iterate over the files in this directory, rolling up each into ${2} directory
121- local regex=" .+/(.+)/index.js"
122- in_file=" ${1} /index.js"
123- out_file=" ${2} /index.js"
123+ in_file=" ${1} /${3} .js"
124+ if [ ${4:- } ]; then
125+ out_file=" $( dropLast ${2} ) /${3} .js"
126+ else
127+ out_file=" ${2} /${3} .js"
128+ fi
124129
125130 BANNER_TEXT=` cat ${LICENSE_BANNER} `
126-
127131 if [[ -f ${in_file} ]]; then
128- echo " =========== $ROLLUP -i ${in_file} -o ${out_file} -c ${ROOT_DIR} /rollup.config.js --sourcemap "
132+ echo " =========== $ROLLUP -i ${in_file} -o ${out_file} --sourcemap -f es --banner BANNER_TEXT >/dev/null 2>&1 "
129133 $ROLLUP -i ${in_file} -o ${out_file} --sourcemap -f es --banner " $BANNER_TEXT " > /dev/null 2>&1
130134 fi
131135
132136 # Recurse for sub directories
133137 for DIR in ${1} /* ; do
138+ local sub_package=$( basename " ${DIR} " )
134139 isIgnoredDirectory ${DIR} && continue
135- # NOTE: We need to re-run this regex and use the new match as Bash doesn't have closures
136- if [[ " ${DIR} /index.js" =~ $regex ]]; then
137- rollupIndex ${DIR} ${2} /${BASH_REMATCH[1]}
140+ local regex=" .+/(.+)/${sub_package} .js"
141+ if [[ " ${DIR} /${sub_package} .js" =~ $regex ]]; then
142+
143+ rollupIndex ${DIR} ${2} /${BASH_REMATCH[1]} ${sub_package} true
138144 fi
139145 done
140146}
@@ -218,8 +224,8 @@ compilePackage() {
218224 local package_name=$( basename " ${2} " )
219225 $NGC -p ${1} /tsconfig-build.json
220226 echo " ====== Create ${1} /../${package_name} .d.ts re-export file for tsickle"
221- echo " $( cat ${LICENSE_BANNER} ) ${N} export * from './${package_name} /index '" > ${2} /../${package_name} .d.ts
222- echo " {\" __symbolic\" :\" module\" ,\" version\" :3,\" metadata\" :{},\" exports\" :[{\" from\" :\" ./${package_name} /index \" }],\" flatModuleIndexRedirect\" :true}" > ${2} /../${package_name} .metadata.json
227+ echo " $( cat ${LICENSE_BANNER} ) ${N} export * from './${package_name} /${package_name} '" > ${2} /../${package_name} .d.ts
228+ echo " {\" __symbolic\" :\" module\" ,\" version\" :3,\" metadata\" :{},\" exports\" :[{\" from\" :\" ./${package_name} /${package_name} \" }],\" flatModuleIndexRedirect\" :true}" > ${2} /../${package_name} .metadata.json
223229 fi
224230
225231 for DIR in ${1} /* ; do
@@ -265,10 +271,10 @@ compilePackageES5() {
265271addNgcPackageJson () {
266272 for DIR in ${1} /* ; do
267273 [ -d " ${DIR} " ] || continue
268- # Confirm there is an index .d.ts and index .metadata.json file. If so, create
274+ # Confirm there is an ${PACKAGE} .d.ts and ${PACKAGE} .metadata.json file. If so, create
269275 # the package.json and recurse.
270- if [[ -f ${DIR} /index .d.ts && -f ${DIR} /index .metadata.json ]]; then
271- echo ' {"typings": "index .d.ts"}' > ${DIR} /package.json
276+ if [[ -f ${DIR} /${PACKAGE} .d.ts && -f ${DIR} /${PACKAGE} .metadata.json ]]; then
277+ echo ' {"typings": "${PACKAGE} .d.ts"}' > ${DIR} /package.json
272278 addNgcPackageJson ${DIR}
273279 fi
274280 done
@@ -284,6 +290,25 @@ updateVersionReferences() {
284290 )
285291}
286292
293+ # ######################################
294+ # Drops the last entry of a path. Similar to normalizing a path such as
295+ # /parent/child/.. to /parent.
296+ # Arguments:
297+ # param1 - Directory on which to drop the last item
298+ # Returns:
299+ # None
300+ # ######################################
301+
302+ dropLast () {
303+ local last_item=$( basename ${1} )
304+ local regex=local regex=" (.+)/${last_item} "
305+ if [[ " ${1} " =~ $regex ]]; then
306+ echo " ${BASH_REMATCH[1]} "
307+ else
308+ echo " ${1} "
309+ fi
310+ }
311+
287312VERSION=" ${VERSION_PREFIX}${VERSION_SUFFIX} "
288313echo " ====== BUILDING: Version ${VERSION} "
289314
394419 OUT_DIR=${ROOT_OUT_DIR} /${PACKAGE}
395420 OUT_DIR_ESM5=${ROOT_OUT_DIR} /${PACKAGE} /esm5
396421 NPM_DIR=${PWD} /dist/packages-dist/${PACKAGE}
397- ESM15_DIR =${NPM_DIR} /esm15
422+ ESM2015_DIR =${NPM_DIR} /esm2015
398423 ESM5_DIR=${NPM_DIR} /esm5
399424 BUNDLES_DIR=${NPM_DIR} /bundles
400425
418443 (
419444 cd ${SRC_DIR}
420445 echo " ====== Rollup ${PACKAGE} "
421- rollupIndex ${OUT_DIR} ${ESM15_DIR } ${ROOT_DIR }
446+ rollupIndex ${OUT_DIR} ${ESM2015_DIR } ${PACKAGE }
422447
423448 echo " ====== Produce ESM5 version"
424449 compilePackageES5 ${SRC_DIR} ${OUT_DIR_ESM5} ${PACKAGE}
425- rollupIndex ${OUT_DIR_ESM5} ${ESM5_DIR} ${ROOT_DIR }
450+ rollupIndex ${OUT_DIR_ESM5} ${ESM5_DIR} ${PACKAGE }
426451
427452 echo " ====== Run rollup conversions on ${PACKAGE} "
428453 runRollup ${SRC_DIR}
0 commit comments