Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Villiger2019-10-15 16:31:19 +0000
committerMatthias Villiger2019-10-16 08:47:02 +0000
commit1ce49fbf8b575ad8c1647e10076bf5301aa3b73a (patch)
tree2a5d7a2785b4d1faf9e2bae68bad376a0869df70 /eclipse-scout-cli
parenta77fb806ffea6feefdbd7c2a99965ac4af37102b (diff)
downloadorg.eclipse.scout.rt-1ce49fbf8b575ad8c1647e10076bf5301aa3b73a.tar.gz
org.eclipse.scout.rt-1ce49fbf8b575ad8c1647e10076bf5301aa3b73a.tar.xz
org.eclipse.scout.rt-1ce49fbf8b575ad8c1647e10076bf5301aa3b73a.zip
Support for minimized script artifacts
Diffstat (limited to 'eclipse-scout-cli')
-rw-r--r--eclipse-scout-cli/scripts/list-files.js20
-rw-r--r--eclipse-scout-cli/scripts/post-build.js14
2 files changed, 29 insertions, 5 deletions
diff --git a/eclipse-scout-cli/scripts/list-files.js b/eclipse-scout-cli/scripts/list-files.js
new file mode 100644
index 0000000000..3a36cc2c8d
--- /dev/null
+++ b/eclipse-scout-cli/scripts/list-files.js
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) BSI Business Systems Integration AG. All rights reserved.
+ * http://www.bsiag.com/
+ */
+const fs = require('fs');
+const path = require('path');
+
+const _getAllFiles = dir => {
+ if (!fs.existsSync(dir)) {
+ return [];
+ }
+
+ return fs.readdirSync(dir).reduce((files, file) => {
+ const name = path.join(dir, file);
+ const isDirectory = fs.statSync(name).isDirectory();
+ return isDirectory ? [...files, ..._getAllFiles(name)] : [...files, name];
+ }, []);
+};
+
+module.exports = _getAllFiles;
diff --git a/eclipse-scout-cli/scripts/post-build.js b/eclipse-scout-cli/scripts/post-build.js
index b189d47d0b..7fc5e7ce65 100644
--- a/eclipse-scout-cli/scripts/post-build.js
+++ b/eclipse-scout-cli/scripts/post-build.js
@@ -12,6 +12,7 @@
const fs = require('fs');
const path = require('path');
const THEME_JS_OUT_FILTER = f => /.*theme.*\.js/.test(f);
+const listFiles = require('./list-files');
function deleteFile(filename) {
fs.access(filename, fs.constants.W_OK, err => {
@@ -32,13 +33,16 @@ module.exports = {
createFileList: dir => {
const scoutBuild = require('./constants');
let content = '';
- fs.readdirSync(dir, {withFileTypes: true})
- .filter(dirent => dirent.isFile())
- .map(dirent => dirent.name)
+ listFiles(dir)
.filter(fileName => fileName !== scoutBuild.fileListName)
.filter(fileName => !THEME_JS_OUT_FILTER(fileName))
+ .map(file => file.substring(dir.length + 1))
+ .map(path => path.replace(/\\/g, '/'))
.map(fileName => `${fileName}\n`)
.forEach(line => content += line);
+ if (content.length < 1) {
+ return;
+ }
fs.writeFileSync(path.join(dir, scoutBuild.fileListName), content, {flag: 'w'});
console.log(`created ${scoutBuild.fileListName}:\n${content}`);
},
@@ -46,9 +50,9 @@ module.exports = {
if (!fs.existsSync(dir)) {
return;
}
- fs.readdirSync(dir)
+ listFiles(dir)
.filter(THEME_JS_OUT_FILTER)
- .forEach(f => deleteFile(path.join(dir, f)));
+ .forEach(f => deleteFile(f));
}
};

Back to the top