mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-20 23:48:05 +03:00
Extract backup-node-modules.js
This commit is contained in:
parent
effd0f5adf
commit
e01721f24a
20
script/lib/backup-node-modules.js
Normal file
20
script/lib/backup-node-modules.js
Normal file
@ -0,0 +1,20 @@
|
||||
const fs = require('fs-extra')
|
||||
const path = require('path')
|
||||
|
||||
module.exports = function(packagePath) {
|
||||
const nodeModulesPath = path.join(packagePath, 'node_modules')
|
||||
const nodeModulesBackupPath = path.join(packagePath, 'node_modules.bak')
|
||||
if (fs.existsSync(nodeModulesBackupPath)) {
|
||||
throw new Error("Cannot back up " + nodeModulesPath + "; " + nodeModulesBackupPath + " already exists")
|
||||
}
|
||||
|
||||
fs.copySync(nodeModulesPath, nodeModulesBackupPath)
|
||||
|
||||
return function restoreNodeModules() {
|
||||
if (!fs.existsSync(nodeModulesBackupPath)) {
|
||||
throw new Error("Cannot restore " + nodeModulesPath + "; " + nodeModulesBackupPath + " does not exist")
|
||||
}
|
||||
fs.removeSync(nodeModulesPath)
|
||||
fs.renameSync(nodeModulesBackupPath, nodeModulesPath)
|
||||
}
|
||||
}
|
@ -6,6 +6,7 @@ const glob = require('glob')
|
||||
const path = require('path')
|
||||
|
||||
const CONFIG = require('../config')
|
||||
const backupNodeModules = require('./backup-node-modules')
|
||||
const runApmInstall = require('./run-apm-install')
|
||||
|
||||
require('colors')
|
||||
@ -19,9 +20,7 @@ module.exports = function () {
|
||||
const metadata = require(metadataPath)
|
||||
if (metadata.atomTranspilers) {
|
||||
console.log(' transpiling for package '.cyan + packageName.cyan)
|
||||
const nodeModulesPath = path.join(packagePath, 'node_modules')
|
||||
const nodeModulesBackupPath = path.join(packagePath, 'node_modules.bak')
|
||||
fs.copySync(nodeModulesPath, nodeModulesBackupPath)
|
||||
const restoreNodeModules = backupNodeModules(packagePath)
|
||||
runApmInstall(packagePath)
|
||||
|
||||
CompileCache.addTranspilerConfigForPath(packagePath, metadata.name, metadata, metadata.atomTranspilers)
|
||||
@ -30,8 +29,7 @@ module.exports = function () {
|
||||
pathsToCompile.forEach(transpilePath)
|
||||
}
|
||||
|
||||
fs.removeSync(nodeModulesPath)
|
||||
fs.renameSync(nodeModulesBackupPath, nodeModulesPath)
|
||||
restoreNodeModules()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ const glob = require('glob')
|
||||
const path = require('path')
|
||||
|
||||
const CONFIG = require('./config')
|
||||
const backupNodeModules = require('./lib/backup-node-modules')
|
||||
const runApmInstall = require('./lib/run-apm-install')
|
||||
|
||||
const resourcePath = CONFIG.repositoryRootPath
|
||||
@ -94,11 +95,7 @@ for (let packageName in CONFIG.appMetadata.packageDependencies) {
|
||||
if (require(pkgJsonPath).atomTestRunner) {
|
||||
console.log(`Installing test runner dependencies for ${packageName}`.bold.green)
|
||||
if (fs.existsSync(nodeModulesPath)) {
|
||||
fs.copySync(nodeModulesPath, nodeModulesBackupPath)
|
||||
finalize = () => {
|
||||
fs.removeSync(nodeModulesPath)
|
||||
fs.renameSync(nodeModulesBackupPath, nodeModulesPath)
|
||||
}
|
||||
finalize = backupNodeModules(repositoryPackagePath)
|
||||
} else {
|
||||
finalize = () => fs.removeSync(nodeModulesPath)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user