@@ -341,19 +341,25 @@ class Builder {
341
341
] ) ;
342
342
} ) ;
343
343
344
- // TODO: fix onigasm dep
345
- // # onigasm 2.2.2 has a bug that makes it broken for PHP files so use 2.2.1.
346
- // # https://github.com/NeekSandhu/onigasm/issues/17
347
- // function fix-onigasm() {
348
- // local onigasmPath="${buildPath}/node_modules/onigasm-umd"
349
- // rm -rf "${onigasmPath}"
350
- // git clone "https://github.com/alexandrudima/onigasm-umd" "${onigasmPath}"
351
- // cd "${onigasmPath}" && yarn && yarn add --dev onigasm@2.2.1 && yarn package
352
- // mkdir "${onigasmPath}-temp"
353
- // mv "${onigasmPath}/"{release,LICENSE} "${onigasmPath}-temp"
354
- // rm -rf "${onigasmPath}"
355
- // mv "${onigasmPath}-temp" "${onigasmPath}"
356
- // }
344
+ // onigasm 2.2.2 has a bug that makes it broken for PHP files so use 2.2.1.
345
+ // https://github.com/NeekSandhu/onigasm/issues/17
346
+ await this . task ( "Applying onigasm PHP fix" , async ( ) => {
347
+ const onigasmPath = path . join ( finalBuildPath , "node_modules/onigasm-umd" ) ;
348
+ const onigasmTmpPath = `${ onigasmPath } -temp` ;
349
+ await Promise . all ( [
350
+ fs . remove ( onigasmPath ) ,
351
+ fs . mkdir ( onigasmTmpPath ) ,
352
+ ] ) ;
353
+ await util . promisify ( cp . exec ) ( `git clone "https://github.com/alexandrudima/onigasm-umd" "${ onigasmPath } "` ) ;
354
+ await util . promisify ( cp . exec ) ( "yarn" , { cwd : onigasmPath } ) ;
355
+ await util . promisify ( cp . exec ) ( "yarn add --dev onigasm@2.2.1" , { cwd : onigasmPath } ) ;
356
+ await util . promisify ( cp . exec ) ( "yarn package" , { cwd : onigasmPath } ) ;
357
+ await Promise . all ( [ "release" , "LICENSE" , "package.json" ] . map ( ( fileName ) => {
358
+ return fs . copy ( path . join ( onigasmPath , fileName ) , path . join ( onigasmTmpPath , fileName ) ) ;
359
+ } ) ) ;
360
+ await fs . remove ( onigasmPath ) ;
361
+ await fs . move ( onigasmTmpPath , onigasmPath ) ;
362
+ } ) ;
357
363
358
364
this . log ( `Final build: ${ finalBuildPath } ` ) ;
359
365
}
0 commit comments