Skip to content

Commit 4b600f6

Browse files
committed
fixes after review
- hide mode executors in modes/index.js - fixed use strict regex - break execution when not from console (e.g. load module by impress)
1 parent a77c361 commit 4b600f6

File tree

3 files changed

+24
-14
lines changed

3 files changed

+24
-14
lines changed

metarhia-build.js

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@ const {
88
loadLicense,
99
validateSourceFiles,
1010
} = require('./src/config/loader');
11-
const { executeLibMode } = require('./src/modes/lib-mode');
12-
const { executeIIFEMode } = require('./src/modes/iife-mode');
13-
const { executeAppMode } = require('./src/modes/app-mode');
11+
const { modeExecutors } = require('./src/modes');
1412
const logger = require('./src/utils/logger');
1513

1614
const main = async () => {
@@ -34,25 +32,24 @@ const main = async () => {
3432
validateSourceFiles(config.order, config.libDir, cwd);
3533
}
3634

37-
const modeExecutors = {
38-
lib: () => executeLibMode(config, packageJson, license),
39-
iife: () => executeIIFEMode(config, packageJson, license),
40-
app: () => executeAppMode(config),
41-
};
42-
4335
const executor = modeExecutors[config.mode];
4436
if (!executor) {
45-
logger.error(`Unknown mode: ${config.mode}`);
46-
process.exit(1);
37+
throw new Error(`Unknown mode: ${config.mode}`);
4738
}
4839

49-
await executor();
40+
await executor(config, packageJson, license);
5041
};
5142

43+
if (!process.stdin.isTTY) {
44+
// Running as a script file or input is redirected
45+
// Do nothing
46+
return;
47+
}
48+
5249
main().catch((error) => {
5350
logger.error(`Build failed: ${error.message}`);
5451
if (error.stack) {
55-
console.error(error.stack);
52+
logger.error(error.stack);
5653
}
5754
process.exit(1);
5855
});

src/bundler/bundler.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class Bundler {
2929
);
3030
let content = readFileSync(filePath, `processing ${filename}`);
3131

32-
content = content.replace(`'use strict';\n\n`, '');
32+
content = content.replace(/'use strict';?\n{0,2}/g, '');
3333
content = processImports(content, filename, this.importRegistry);
3434

3535
if (this.config.mode === 'iife') {

src/modes/index.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
'use strict';
2+
3+
const { executeLibMode } = require('./src/modes/lib-mode');
4+
const { executeIIFEMode } = require('./src/modes/iife-mode');
5+
const { executeAppMode } = require('./src/modes/app-mode');
6+
7+
module.exports = {
8+
modeExecutors: {
9+
lib: executeLibMode,
10+
iife: executeIIFEMode,
11+
app: executeAppMode,
12+
},
13+
};

0 commit comments

Comments
 (0)