u
This commit is contained in:
16
boot_link.js
16
boot_link.js
@@ -2,16 +2,18 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
|
||||
console.log('\n::*** Overwriting node_modules libraries if available in openShare')
|
||||
|
||||
// Main function to link libraries
|
||||
const openSharePath = fs.existsSync(path.resolve('./env_loc.gitomit.sfomit.json')) ? require(path.resolve('./env_loc.gitomit.sfomit.json')).openShare : ''
|
||||
console.log('openShare:', openSharePath)
|
||||
console.log('::--- openShare =', openSharePath)
|
||||
if (!openSharePath) {
|
||||
console.log('openShare not found, exiting now.')
|
||||
console.log('::--- openShare not found, exiting now.')
|
||||
return
|
||||
}
|
||||
|
||||
const nodeModulesPath = path.resolve('./node_modules')
|
||||
console.log('nodeModulesPath:', nodeModulesPath)
|
||||
console.log('::--- nodeModulesPath:', nodeModulesPath)
|
||||
|
||||
// Get the list of libraries
|
||||
const libs = fs.readdirSync(nodeModulesPath).filter((libName) => libName.startsWith('wo_') || libName.startsWith('wo-') || libName === 'tic-crypto')
|
||||
@@ -19,7 +21,7 @@ const libs = fs.readdirSync(nodeModulesPath).filter((libName) => libName.startsW
|
||||
libs.forEach((libName) => {
|
||||
const libPath = path.join(openSharePath, libName)
|
||||
if (fs.existsSync(libPath)) {
|
||||
console.log(`Copying ${libName}`)
|
||||
console.log(`Overwriting ${libName}`)
|
||||
const sourceFiles = fs.readdirSync(libPath).filter((fileName) => fileName.endsWith('.js') || fileName.endsWith('.json'))
|
||||
sourceFiles.forEach((file) => {
|
||||
const sourceFile = path.join(libPath, file)
|
||||
@@ -29,9 +31,11 @@ libs.forEach((libName) => {
|
||||
try {
|
||||
// fs.linkSync creates hard links on both Windows and Unix/Linux
|
||||
fs.linkSync(sourceFile, tempFile)
|
||||
// console.log('Linked ', sourceFile)
|
||||
} catch (err) {
|
||||
// Fallback to copy if hard link fails
|
||||
fs.copyFileSync(sourceFile, tempFile)
|
||||
// console.log('Copied', sourceFile)
|
||||
}
|
||||
try {
|
||||
fs.unlinkSync(destFile)
|
||||
@@ -44,8 +48,8 @@ libs.forEach((libName) => {
|
||||
/*
|
||||
script in package.json:
|
||||
|
||||
"boot_link.sh": "echo '#<<< Copy local lib to node_modules'; for LIB in $(cd node_modules && ls -d wo_* wo-* tic-crypto 2>&1); do if [ -d ../../npm/$LIB ]; then echo $LIB; ln -f $(realpath ../../npm/$LIB)/*.js ./node_modules/$LIB/; fi; done;"
|
||||
"boot_link.sh": "echo '::*** Copy local lib to node_modules'; for LIB in $(cd node_modules && ls -d wo_* wo-* tic-crypto 2>&1); do if [ -d ../../npm/$LIB ]; then echo $LIB; ln -f $(realpath ../../npm/$LIB)/*.js ./node_modules/$LIB/; fi; done;"
|
||||
|
||||
echo #<<< Copy local lib to node_modules; for LIB in $(cd node_modules && ls -d wo_* wo-* tic-crypto 2>&1); do if [ -d $(jq -r .openShare env_loc.gitomit.sfomit.json)/$LIB ]; then echo copying $LIB; ln -f $(realpath $(jq -r .openShare env_loc.gitomit.sfomit.json))/$LIB/*.js ./node_modules/$LIB/; fi; done;
|
||||
echo ::*** Copy local lib to node_modules; for LIB in $(cd node_modules && ls -d wo_* wo-* tic-crypto 2>&1); do if [ -d $(jq -r .openShare env_loc.gitomit.sfomit.json)/$LIB ]; then echo copying $LIB; ln -f $(realpath $(jq -r .openShare env_loc.gitomit.sfomit.json))/$LIB/*.js ./node_modules/$LIB/; fi; done;
|
||||
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user