Skip to content

Commit

Permalink
Require Administrator users on Windows Cygwin, and use symlinks always
Browse files Browse the repository at this point in the history
  • Loading branch information
fbennett committed Feb 10, 2018
1 parent b8443fa commit 0adac3c
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 9 deletions.
13 changes: 11 additions & 2 deletions scripts/build.js
@@ -1,16 +1,25 @@
const colors = require('colors/safe');

const adminCheck = require('is-admin');
const getBrowserify = require('./browserify');
const getCopy = require('./copy');
const getJS = require('./js');
const getSass = require('./sass');
const getSymlinks = require('./symlinks');
const { formatDirsForMatcher, getSignatures, writeSignatures, cleanUp, onSuccess, onError} = require('./utils');
const { isWindows, formatDirsForMatcher, getSignatures, writeSignatures, cleanUp, onSuccess, onError} = require('./utils');
const { dirs, symlinkDirs, copyDirs, symlinkFiles, jsFiles, ignoreMask } = require('./config');

if (require.main === module) {
(async () => {
try {
if (isWindows) {
var isAdmin = await adminCheck();
if(!isAdmin){
console.log("Must be run as Administrator on Windows.");
console.log(" (close the Cygwin terminal, reopen it with right-click, check the menu)");
process.exit();
}
}
const t1 = Date.now();
global.isError = false; // used to prevent further output to avoid concealing errors
const symlinks = symlinkFiles
Expand Down Expand Up @@ -41,4 +50,4 @@ if (require.main === module) {
onError(err);
}
})();
}
}
10 changes: 3 additions & 7 deletions scripts/symlinks.js
Expand Up @@ -4,7 +4,7 @@ const path = require('path');
const fs = require('fs-extra');
const globby = require('globby');

const { isWindows, formatDirsForMatcher, getSignatures, writeSignatures, cleanUp, onSuccess, onError, onProgress } = require('./utils');
const { formatDirsForMatcher, getSignatures, writeSignatures, cleanUp, onSuccess, onError, onProgress } = require('./utils');
const { dirs, symlinkDirs, copyDirs, symlinkFiles, ignoreMask } = require('./config');
const ROOT = path.resolve(__dirname, '..');

Expand Down Expand Up @@ -37,11 +37,7 @@ async function getSymlinks(source, options, signatures) {
while ((f = filesToProcess.pop()) != null) {
const dest = path.join('build', f);
try {
if (isWindows) {
await fs.copy(f, dest);
} else {
await fs.ensureSymlink(f, dest);
}
await fs.ensureSymlink(f, dest);
signatures[f] = {
isSymlinked: true
};
Expand Down Expand Up @@ -83,4 +79,4 @@ if (require.main === module) {
onError(err);
}
})();
}
}

0 comments on commit 0adac3c

Please sign in to comment.