Skip to content

Commit a4f1de1

Browse files
committed
[js] Disable stuff in the browser in an ugly manner
This allows parcel to bundle nqp::say('Hello World')
1 parent f91f8e2 commit a4f1de1

File tree

5 files changed

+30
-17
lines changed

5 files changed

+30
-17
lines changed

src/vm/js/nqp-runtime/browser.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
const op = {};
2+
exports.op = op;
3+
4+
op.say = function(arg) {
5+
console.log(arg);
6+
return arg;
7+
};

src/vm/js/nqp-runtime/core.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
const op = {};
44
exports.op = op;
55

6-
const os = require('os');
6+
const os = process.browser ? null : require('os');
77

88
const Hash = require('./hash.js');
99
const CodeRef = require('./code-ref.js');
@@ -57,9 +57,9 @@ const unicodeCollationAlgorithm = require('unicode-collation-algorithm');
5757

5858
const unicodeData = require('nqp-unicode-data');
5959

60-
const resolveSourceMap = require('./resolve-sourcemap.js');
60+
const resolveSourceMap = process.browser ? null : require('./resolve-sourcemap.js');
6161

62-
const path = require('path');
62+
const path = process.browser ? null : require('path');
6363

6464
const nullStr = require('./null_s.js');
6565

@@ -649,7 +649,7 @@ function toJS(obj) {
649649

650650
const nqp = require('./runtime.js');
651651

652-
const Script = require('vm').Script;
652+
const Script = process.browser ? null : require('vm').Script;
653653

654654
const sourceMaps = {};
655655
const evaledP6Sources = {};
@@ -865,7 +865,7 @@ op.getcomp = function(language) {
865865
return compilerRegistry.has(language) ? compilerRegistry.get(language) : Null;
866866
};
867867

868-
const child_process = require('child_process');
868+
const child_process = process.browser ? null : require('child_process');
869869

870870
function getConfigFromPerl() {
871871
const perlScript = `
@@ -1325,8 +1325,8 @@ op.replace = function(str, offset, count, repl) {
13251325
return str.substr(0, offset) + repl + str.substr(offset + count);
13261326
};
13271327

1328-
const fs = require('fs');
1329-
const sourceMapResolve = require('source-map-resolve');
1328+
const fs = process.browser ? null : require('fs');
1329+
const sourceMapResolve = process.browser ? null : require('source-map-resolve');
13301330

13311331
op.getcodelocation = function(code) {
13321332
let sourcePath;

src/vm/js/nqp-runtime/exceptions-stack.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const fibers = require('fibers');
1+
const fibers = process.browser ? {} : require('fibers');
22
const globalStack = [];
33
module.exports = function() {
44
if (fibers.current === undefined) {

src/vm/js/nqp-runtime/reprs.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ const nqp = require('./runtime.js');
1313

1414
const constants = require('./constants.js');
1515

16-
const ref = require('ref');
16+
const ref = process.browser ? null : require('ref');
1717

18-
const Union = require('ref-union');
19-
const StructType = require('ref-struct');
18+
const Union = process.browser ? null : require('ref-union');
19+
const StructType = process.browser ? null : require('ref-struct');
2020

2121
const codecs = require('./codecs.js');
2222

src/vm/js/nqp-runtime/runtime.js

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ const stripMarks = require('./strip-marks.js');
3333
const foldCase = require('fold-case');
3434
const graphemes = require('./graphemes.js');
3535

36-
const fs = require('fs');
36+
const fs = process.browser ? null : require('fs');
3737

3838

3939
exports.NQPInt = NQPInt;
@@ -63,8 +63,12 @@ exports.strToObj = core.strToObj;
6363

6464
exports.EvalResult = core.EvalResult;
6565

66-
const io = require('./io.js');
67-
loadOps(io);
66+
if (!process.browser) {
67+
const io = require('./io.js');
68+
loadOps(io);
69+
} else {
70+
loadOps(require('./browser.js'));
71+
}
6872

6973
const bignum = require('./bignum.js');
7074
loadOps(bignum);
@@ -87,13 +91,15 @@ loadOps(deserialization);
8791
const serialization = require('./serialization.js');
8892
loadOps(serialization);
8993

90-
const nativecall = require('./nativecall.js');
91-
loadOps(nativecall);
94+
if (!process.browser) {
95+
const nativecall = require('./nativecall.js');
96+
loadOps(nativecall);
97+
}
9298

9399
const CodeRef = require('./code-ref.js');
94100
exports.CodeRef = CodeRef;
95101

96-
const continuations = require('./fiber-continuations.js');
102+
const continuations = process.browser ? require('./async-continuations.js') : require('./fiber-continuations.js');
97103
loadOps(continuations);
98104

99105
exports.CodeRefWithStateVars = require('./code-ref-with-statevars.js');

0 commit comments

Comments
 (0)