rapydscript-ns 0.9.2 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agignore +1 -1
- package/.github/workflows/ci.yml +38 -38
- package/=template.pyj +5 -5
- package/CHANGELOG.md +19 -0
- package/HACKING.md +103 -103
- package/LICENSE +24 -24
- package/PYTHON_GAPS.md +420 -0
- package/README.md +153 -29
- package/TODO.md +16 -118
- package/add-toc-to-readme +2 -2
- package/bin/export +75 -75
- package/bin/rapydscript +70 -70
- package/bin/web-repl-export +102 -102
- package/build +2 -2
- package/language-service/index.js +237 -8
- package/memory/project_string_impl.md +43 -0
- package/package.json +1 -1
- package/publish.py +37 -37
- package/release/baselib-plain-pretty.js +248 -38
- package/release/baselib-plain-ugly.js +8 -8
- package/release/compiler.js +778 -277
- package/release/signatures.json +30 -30
- package/session.vim +4 -4
- package/setup.cfg +2 -2
- package/src/ast.pyj +4 -1
- package/src/baselib-builtins.pyj +56 -2
- package/src/baselib-containers.pyj +2 -0
- package/src/baselib-errors.pyj +7 -3
- package/src/baselib-internal.pyj +51 -6
- package/src/baselib-str.pyj +5 -3
- package/src/compiler.pyj +36 -36
- package/src/errors.pyj +30 -30
- package/src/lib/aes.pyj +646 -646
- package/src/lib/asyncio.pyj +534 -0
- package/src/lib/base64.pyj +399 -0
- package/src/lib/bisect.pyj +73 -0
- package/src/lib/collections.pyj +1 -1
- package/src/lib/copy.pyj +120 -120
- package/src/lib/csv.pyj +494 -0
- package/src/lib/elementmaker.pyj +83 -83
- package/src/lib/encodings.pyj +126 -126
- package/src/lib/gettext.pyj +569 -569
- package/src/lib/heapq.pyj +98 -0
- package/src/lib/html.pyj +382 -0
- package/src/lib/http/__init__.pyj +98 -0
- package/src/lib/http/client.pyj +304 -0
- package/src/lib/http/cookies.pyj +236 -0
- package/src/lib/itertools.pyj +580 -580
- package/src/lib/logging.pyj +672 -0
- package/src/lib/math.pyj +193 -193
- package/src/lib/operator.pyj +11 -11
- package/src/lib/pythonize.pyj +20 -20
- package/src/lib/random.pyj +118 -118
- package/src/lib/react.pyj +74 -74
- package/src/lib/string.pyj +357 -0
- package/src/lib/textwrap.pyj +329 -0
- package/src/lib/traceback.pyj +63 -63
- package/src/lib/urllib/__init__.pyj +14 -0
- package/src/lib/urllib/error.pyj +66 -0
- package/src/lib/urllib/parse.pyj +475 -0
- package/src/lib/urllib/request.pyj +86 -0
- package/src/lib/uuid.pyj +77 -77
- package/src/monaco-language-service/analyzer.js +5 -2
- package/src/monaco-language-service/completions.js +26 -0
- package/src/monaco-language-service/diagnostics.js +202 -3
- package/src/monaco-language-service/dts.js +550 -550
- package/src/monaco-language-service/scope.js +1 -0
- package/src/output/comments.pyj +45 -45
- package/src/output/exceptions.pyj +201 -201
- package/src/output/functions.pyj +152 -6
- package/src/output/jsx.pyj +164 -164
- package/src/output/loops.pyj +17 -2
- package/src/output/modules.pyj +1 -1
- package/src/output/operators.pyj +15 -0
- package/src/output/stream.pyj +0 -1
- package/src/output/treeshake.pyj +182 -182
- package/src/output/utils.pyj +72 -72
- package/src/parse.pyj +80 -17
- package/src/string_interpolation.pyj +72 -72
- package/src/tokenizer.pyj +1 -1
- package/src/unicode_aliases.pyj +576 -576
- package/src/utils.pyj +192 -192
- package/test/_import_one.pyj +37 -37
- package/test/_import_two/__init__.pyj +11 -11
- package/test/_import_two/level2/deep.pyj +4 -4
- package/test/_import_two/other.pyj +6 -6
- package/test/_import_two/sub.pyj +13 -13
- package/test/aes_vectors.pyj +421 -421
- package/test/annotations.pyj +80 -80
- package/test/async_generators.pyj +144 -0
- package/test/asyncio.pyj +307 -0
- package/test/base64.pyj +202 -0
- package/test/bisect.pyj +178 -0
- package/test/csv.pyj +405 -0
- package/test/decorators.pyj +77 -77
- package/test/docstrings.pyj +39 -39
- package/test/elementmaker_test.pyj +45 -45
- package/test/float_special.pyj +64 -0
- package/test/functions.pyj +151 -151
- package/test/generators.pyj +41 -41
- package/test/generic.pyj +370 -370
- package/test/heapq.pyj +174 -0
- package/test/html.pyj +212 -0
- package/test/http.pyj +259 -0
- package/test/imports.pyj +79 -72
- package/test/internationalization.pyj +73 -73
- package/test/lint.pyj +164 -164
- package/test/logging.pyj +356 -0
- package/test/long.pyj +130 -0
- package/test/loops.pyj +85 -85
- package/test/numpy.pyj +734 -734
- package/test/parenthesized_with.pyj +141 -0
- package/test/python_compat.pyj +3 -5
- package/test/python_modulo.pyj +76 -0
- package/test/python_modulo_off.pyj +21 -0
- package/test/repl.pyj +121 -121
- package/test/scoped_flags.pyj +76 -76
- package/test/str.pyj +14 -0
- package/test/string.pyj +245 -0
- package/test/textwrap.pyj +172 -0
- package/test/type_display.pyj +48 -0
- package/test/type_enforcement.pyj +164 -0
- package/test/unit/index.js +14 -6
- package/test/unit/language-service-completions.js +119 -0
- package/test/unit/language-service-dts.js +543 -543
- package/test/unit/language-service-hover.js +455 -455
- package/test/unit/language-service-scope.js +32 -0
- package/test/unit/language-service.js +127 -3
- package/test/unit/run-language-service.js +17 -3
- package/test/unit/web-repl.js +2094 -29
- package/test/urllib.pyj +193 -0
- package/tools/compile.js +1 -1
- package/tools/compiler.d.ts +367 -367
- package/tools/completer.js +131 -131
- package/tools/embedded_compiler.js +7 -7
- package/tools/gettext.js +185 -185
- package/tools/ini.js +65 -65
- package/tools/msgfmt.js +187 -187
- package/tools/repl.js +223 -223
- package/tools/test.js +118 -118
- package/tools/utils.js +128 -128
- package/tools/web_repl.js +95 -95
- package/try +41 -41
- package/web-repl/env.js +196 -196
- package/web-repl/index.html +163 -163
- package/web-repl/main.js +1 -1
- package/web-repl/prism.css +139 -139
- package/web-repl/prism.js +113 -113
- package/web-repl/rapydscript.js +224 -224
- package/web-repl/sha1.js +25 -25
- package/test/omit_function_metadata.pyj +0 -20
package/tools/completer.js
CHANGED
|
@@ -1,131 +1,131 @@
|
|
|
1
|
-
/* vim:fileencoding=utf-8
|
|
2
|
-
*
|
|
3
|
-
* Copyright (C) 2016 Kovid Goyal <kovid at kovidgoyal.net>
|
|
4
|
-
*
|
|
5
|
-
* Distributed under terms of the BSD license
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
module.exports = function(compiler, options) {
|
|
10
|
-
"use strict";
|
|
11
|
-
var all_keywords = compiler.ALL_KEYWORDS.split(' ');
|
|
12
|
-
var vm = require('vm');
|
|
13
|
-
options = options || {};
|
|
14
|
-
if (!options.enum_global) options.enum_global = "var global = Function('return this')(); Object.getOwnPropertyNames(global);";
|
|
15
|
-
|
|
16
|
-
function global_names(ctx) {
|
|
17
|
-
try {
|
|
18
|
-
var ans = vm.runInContext(options.enum_global, ctx);
|
|
19
|
-
ans = ans.concat(all_keywords);
|
|
20
|
-
ans.sort();
|
|
21
|
-
var seen = {};
|
|
22
|
-
ans.filter(function (item) {
|
|
23
|
-
if (Object.prototype.hasOwnProperty.call(seen, item)) return false;
|
|
24
|
-
seen[item] = true;
|
|
25
|
-
return true;
|
|
26
|
-
});
|
|
27
|
-
return ans;
|
|
28
|
-
} catch(e) {
|
|
29
|
-
console.log(e.stack || e.toString());
|
|
30
|
-
}
|
|
31
|
-
return [];
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function object_names(obj, prefix) {
|
|
35
|
-
if (obj === null || obj === undefined) return [];
|
|
36
|
-
var groups = [], prefix_len = prefix.length, p;
|
|
37
|
-
|
|
38
|
-
function prefix_filter(name) { return (prefix_len) ? (name.substr(0, prefix_len) === prefix) : true; }
|
|
39
|
-
|
|
40
|
-
function add(o) {
|
|
41
|
-
var items = Object.getOwnPropertyNames(o).filter(prefix_filter);
|
|
42
|
-
if (items.length) groups.push(items);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
if (typeof obj === 'object' || typeof obj === 'function') {
|
|
46
|
-
add(obj);
|
|
47
|
-
p = Object.getPrototypeOf(obj);
|
|
48
|
-
} else p = obj.constructor ? obj.constructor.prototype : null;
|
|
49
|
-
|
|
50
|
-
// Walk the prototype chain
|
|
51
|
-
try {
|
|
52
|
-
var sentinel = 5;
|
|
53
|
-
while (p !== null && sentinel > 0) {
|
|
54
|
-
add(p);
|
|
55
|
-
p = Object.getPrototypeOf(p);
|
|
56
|
-
// Circular refs possible? Let's guard against that.
|
|
57
|
-
sentinel--;
|
|
58
|
-
}
|
|
59
|
-
} catch (e) {
|
|
60
|
-
// console.error("completion error walking prototype chain:" + e);
|
|
61
|
-
}
|
|
62
|
-
if (!groups.length) return [];
|
|
63
|
-
var seen = {}, ans = [];
|
|
64
|
-
function uniq(name) {
|
|
65
|
-
if (Object.prototype.hasOwnProperty.call(seen, name)) return false;
|
|
66
|
-
seen[name] = true;
|
|
67
|
-
return true;
|
|
68
|
-
}
|
|
69
|
-
for (var i = 0; i < groups.length; i++) {
|
|
70
|
-
var group = groups[i];
|
|
71
|
-
group.sort();
|
|
72
|
-
ans = ans.concat(group.filter(uniq));
|
|
73
|
-
ans.push(''); // group separator
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
while (ans.length && ans[ans.length - 1] === '') ans.pop();
|
|
77
|
-
return ans;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
function prefix_matches(prefix, items) {
|
|
81
|
-
var len = prefix.length;
|
|
82
|
-
var ans = items.filter(function(item) { return item.substr(0, len) === prefix; });
|
|
83
|
-
ans.sort();
|
|
84
|
-
return ans;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
function find_completions(line, ctx) {
|
|
88
|
-
var t;
|
|
89
|
-
try {
|
|
90
|
-
t = compiler.tokenizer(line, '<repl>');
|
|
91
|
-
} catch(e) { return []; }
|
|
92
|
-
var tokens = [], token;
|
|
93
|
-
while (true) {
|
|
94
|
-
try {
|
|
95
|
-
token = t();
|
|
96
|
-
} catch (e) { return []; }
|
|
97
|
-
if (token.type === 'eof') break;
|
|
98
|
-
if (token.type === 'punc' && '(){},;:'.indexOf(token.value) > -1)
|
|
99
|
-
tokens = [];
|
|
100
|
-
tokens.push(token);
|
|
101
|
-
}
|
|
102
|
-
if (!tokens.length) {
|
|
103
|
-
// New line or trailing space
|
|
104
|
-
return [global_names(ctx), ''];
|
|
105
|
-
}
|
|
106
|
-
var last_tok = tokens[tokens.length - 1];
|
|
107
|
-
if (last_tok.value === '.' || (last_tok.type === 'name' && compiler.IDENTIFIER_PAT.test(last_tok.value))) {
|
|
108
|
-
last_tok = last_tok.value;
|
|
109
|
-
if (last_tok === '.') {
|
|
110
|
-
tokens.push({'value':''});
|
|
111
|
-
last_tok = '';
|
|
112
|
-
}
|
|
113
|
-
if (tokens.length > 1 && tokens[tokens.length - 2].value === '.') {
|
|
114
|
-
// A compound expression
|
|
115
|
-
var prefix = '', result;
|
|
116
|
-
tokens.slice(0, tokens.length - 2).forEach(function (tok) { prefix += tok.value; });
|
|
117
|
-
if (prefix) {
|
|
118
|
-
try {
|
|
119
|
-
result = vm.runInContext(prefix, ctx, {'displayErrors':false});
|
|
120
|
-
} catch(e) { return []; }
|
|
121
|
-
return [object_names(result, last_tok), last_tok];
|
|
122
|
-
}
|
|
123
|
-
} else {
|
|
124
|
-
return [prefix_matches(last_tok, global_names(ctx)), last_tok];
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return [];
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
return find_completions;
|
|
131
|
-
};
|
|
1
|
+
/* vim:fileencoding=utf-8
|
|
2
|
+
*
|
|
3
|
+
* Copyright (C) 2016 Kovid Goyal <kovid at kovidgoyal.net>
|
|
4
|
+
*
|
|
5
|
+
* Distributed under terms of the BSD license
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
module.exports = function(compiler, options) {
|
|
10
|
+
"use strict";
|
|
11
|
+
var all_keywords = compiler.ALL_KEYWORDS.split(' ');
|
|
12
|
+
var vm = require('vm');
|
|
13
|
+
options = options || {};
|
|
14
|
+
if (!options.enum_global) options.enum_global = "var global = Function('return this')(); Object.getOwnPropertyNames(global);";
|
|
15
|
+
|
|
16
|
+
function global_names(ctx) {
|
|
17
|
+
try {
|
|
18
|
+
var ans = vm.runInContext(options.enum_global, ctx);
|
|
19
|
+
ans = ans.concat(all_keywords);
|
|
20
|
+
ans.sort();
|
|
21
|
+
var seen = {};
|
|
22
|
+
ans.filter(function (item) {
|
|
23
|
+
if (Object.prototype.hasOwnProperty.call(seen, item)) return false;
|
|
24
|
+
seen[item] = true;
|
|
25
|
+
return true;
|
|
26
|
+
});
|
|
27
|
+
return ans;
|
|
28
|
+
} catch(e) {
|
|
29
|
+
console.log(e.stack || e.toString());
|
|
30
|
+
}
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function object_names(obj, prefix) {
|
|
35
|
+
if (obj === null || obj === undefined) return [];
|
|
36
|
+
var groups = [], prefix_len = prefix.length, p;
|
|
37
|
+
|
|
38
|
+
function prefix_filter(name) { return (prefix_len) ? (name.substr(0, prefix_len) === prefix) : true; }
|
|
39
|
+
|
|
40
|
+
function add(o) {
|
|
41
|
+
var items = Object.getOwnPropertyNames(o).filter(prefix_filter);
|
|
42
|
+
if (items.length) groups.push(items);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (typeof obj === 'object' || typeof obj === 'function') {
|
|
46
|
+
add(obj);
|
|
47
|
+
p = Object.getPrototypeOf(obj);
|
|
48
|
+
} else p = obj.constructor ? obj.constructor.prototype : null;
|
|
49
|
+
|
|
50
|
+
// Walk the prototype chain
|
|
51
|
+
try {
|
|
52
|
+
var sentinel = 5;
|
|
53
|
+
while (p !== null && sentinel > 0) {
|
|
54
|
+
add(p);
|
|
55
|
+
p = Object.getPrototypeOf(p);
|
|
56
|
+
// Circular refs possible? Let's guard against that.
|
|
57
|
+
sentinel--;
|
|
58
|
+
}
|
|
59
|
+
} catch (e) {
|
|
60
|
+
// console.error("completion error walking prototype chain:" + e);
|
|
61
|
+
}
|
|
62
|
+
if (!groups.length) return [];
|
|
63
|
+
var seen = {}, ans = [];
|
|
64
|
+
function uniq(name) {
|
|
65
|
+
if (Object.prototype.hasOwnProperty.call(seen, name)) return false;
|
|
66
|
+
seen[name] = true;
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
for (var i = 0; i < groups.length; i++) {
|
|
70
|
+
var group = groups[i];
|
|
71
|
+
group.sort();
|
|
72
|
+
ans = ans.concat(group.filter(uniq));
|
|
73
|
+
ans.push(''); // group separator
|
|
74
|
+
|
|
75
|
+
}
|
|
76
|
+
while (ans.length && ans[ans.length - 1] === '') ans.pop();
|
|
77
|
+
return ans;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function prefix_matches(prefix, items) {
|
|
81
|
+
var len = prefix.length;
|
|
82
|
+
var ans = items.filter(function(item) { return item.substr(0, len) === prefix; });
|
|
83
|
+
ans.sort();
|
|
84
|
+
return ans;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
function find_completions(line, ctx) {
|
|
88
|
+
var t;
|
|
89
|
+
try {
|
|
90
|
+
t = compiler.tokenizer(line, '<repl>');
|
|
91
|
+
} catch(e) { return []; }
|
|
92
|
+
var tokens = [], token;
|
|
93
|
+
while (true) {
|
|
94
|
+
try {
|
|
95
|
+
token = t();
|
|
96
|
+
} catch (e) { return []; }
|
|
97
|
+
if (token.type === 'eof') break;
|
|
98
|
+
if (token.type === 'punc' && '(){},;:'.indexOf(token.value) > -1)
|
|
99
|
+
tokens = [];
|
|
100
|
+
tokens.push(token);
|
|
101
|
+
}
|
|
102
|
+
if (!tokens.length) {
|
|
103
|
+
// New line or trailing space
|
|
104
|
+
return [global_names(ctx), ''];
|
|
105
|
+
}
|
|
106
|
+
var last_tok = tokens[tokens.length - 1];
|
|
107
|
+
if (last_tok.value === '.' || (last_tok.type === 'name' && compiler.IDENTIFIER_PAT.test(last_tok.value))) {
|
|
108
|
+
last_tok = last_tok.value;
|
|
109
|
+
if (last_tok === '.') {
|
|
110
|
+
tokens.push({'value':''});
|
|
111
|
+
last_tok = '';
|
|
112
|
+
}
|
|
113
|
+
if (tokens.length > 1 && tokens[tokens.length - 2].value === '.') {
|
|
114
|
+
// A compound expression
|
|
115
|
+
var prefix = '', result;
|
|
116
|
+
tokens.slice(0, tokens.length - 2).forEach(function (tok) { prefix += tok.value; });
|
|
117
|
+
if (prefix) {
|
|
118
|
+
try {
|
|
119
|
+
result = vm.runInContext(prefix, ctx, {'displayErrors':false});
|
|
120
|
+
} catch(e) { return []; }
|
|
121
|
+
return [object_names(result, last_tok), last_tok];
|
|
122
|
+
}
|
|
123
|
+
} else {
|
|
124
|
+
return [prefix_matches(last_tok, global_names(ctx)), last_tok];
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return [];
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
return find_completions;
|
|
131
|
+
};
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"use strict"; /*jshint node:true */
|
|
8
8
|
|
|
9
9
|
var has_prop = Object.prototype.hasOwnProperty.call.bind(Object.prototype.hasOwnProperty);
|
|
10
|
-
var PYTHON_MODE_FLAGS = ['dict_literals', 'overload_getitem', 'bound_methods', 'hash_literals', 'overload_operators', 'truthiness', 'jsx'];
|
|
10
|
+
var PYTHON_MODE_FLAGS = ['dict_literals', 'overload_getitem', 'bound_methods', 'hash_literals', 'overload_operators', 'truthiness', 'jsx', 'type_enforcement'];
|
|
11
11
|
|
|
12
12
|
function build_scoped_flags(flags_str) {
|
|
13
13
|
var result = Object.create(null);
|
|
@@ -28,8 +28,8 @@ module.exports = function(compiler, baselib, runjs, name, vf_context) {
|
|
|
28
28
|
runjs(print_ast(compiler.parse(''), true));
|
|
29
29
|
runjs('var __name__ = "' + (name || '__embedded__') + '";');
|
|
30
30
|
|
|
31
|
-
function print_ast(ast, keep_baselib, keep_docstrings, js_version, private_scope, write_name,
|
|
32
|
-
var output_options = {omit_baselib:!keep_baselib, write_name:!!write_name, private_scope:!!private_scope, beautify:true, js_version: (js_version || 6), keep_docstrings:keep_docstrings,
|
|
31
|
+
function print_ast(ast, keep_baselib, keep_docstrings, js_version, private_scope, write_name, pythonize_strings) {
|
|
32
|
+
var output_options = {omit_baselib:!keep_baselib, write_name:!!write_name, private_scope:!!private_scope, beautify:true, js_version: (js_version || 6), keep_docstrings:keep_docstrings, pythonize_strings:!!pythonize_strings};
|
|
33
33
|
if (keep_baselib) output_options.baselib_plain = baselib;
|
|
34
34
|
var output = new compiler.OutputStream(output_options);
|
|
35
35
|
ast.print(output);
|
|
@@ -105,8 +105,8 @@ module.exports = function(compiler, baselib, runjs, name, vf_context) {
|
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
function print_ast_with_sourcemap(ast, keep_baselib, keep_docstrings, js_version, private_scope, write_name,
|
|
109
|
-
var output_options = {omit_baselib:!keep_baselib, write_name:!!write_name, private_scope:!!private_scope, beautify:true, js_version:(js_version||6), keep_docstrings:keep_docstrings,
|
|
108
|
+
function print_ast_with_sourcemap(ast, keep_baselib, keep_docstrings, js_version, private_scope, write_name, pythonize_strings, source_name, source_content) {
|
|
109
|
+
var output_options = {omit_baselib:!keep_baselib, write_name:!!write_name, private_scope:!!private_scope, beautify:true, js_version:(js_version||6), keep_docstrings:keep_docstrings, pythonize_strings:!!pythonize_strings};
|
|
110
110
|
if (keep_baselib) output_options.baselib_plain = baselib;
|
|
111
111
|
var raw_mappings = [];
|
|
112
112
|
var output = new compiler.OutputStream(output_options);
|
|
@@ -171,7 +171,7 @@ module.exports = function(compiler, baselib, runjs, name, vf_context) {
|
|
|
171
171
|
});
|
|
172
172
|
}
|
|
173
173
|
var pythonize_strings = (opts.legacy_rapydscript !== true) ? true : !!opts.pythonize_strings;
|
|
174
|
-
var ans = print_ast(this.toplevel, opts.keep_baselib, opts.keep_docstrings, opts.js_version, opts.private_scope, opts.write_name,
|
|
174
|
+
var ans = print_ast(this.toplevel, opts.keep_baselib, opts.keep_docstrings, opts.js_version, opts.private_scope, opts.write_name, pythonize_strings);
|
|
175
175
|
if (opts.export_main) {
|
|
176
176
|
ans = ans.replace(/^(function\smain)/gm, 'export $1')
|
|
177
177
|
.replace(/^(async\sfunction\smain)/gm, 'export $1');
|
|
@@ -233,7 +233,7 @@ module.exports = function(compiler, baselib, runjs, name, vf_context) {
|
|
|
233
233
|
var result = print_ast_with_sourcemap(
|
|
234
234
|
this.toplevel,
|
|
235
235
|
opts.keep_baselib, opts.keep_docstrings, opts.js_version,
|
|
236
|
-
opts.private_scope, opts.write_name,
|
|
236
|
+
opts.private_scope, opts.write_name,
|
|
237
237
|
pythonize_strings_sm,
|
|
238
238
|
opts.filename || '<input>',
|
|
239
239
|
code
|