Conversation
|
@frankwallis you might find this helpful. |
|
thanks! |
src/compiler/emitter.ts
Outdated
There was a problem hiding this comment.
Maybe make this a Debug.fail
src/compiler/emitter.ts
Outdated
|
Is the algorithm provided basically saying:
If so, i would personally prefer breaking out the two parts of this process. The UTF8 encoding, and the Base64 conversion. Note: MDN already covers a good way to do this: function utf8_to_b64( str ) {
return window.btoa(unescape(encodeURIComponent( str )));
}
or
function b64EncodeUnicode(str) {
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {
return String.fromCharCode('0x' + p1);
}));
}Now, if we don't have access to these functions in Node or Chakra, we could still do the above steps, just individually. i.e. break up a string into utf8 bytes. Then convert those bytes to Base64. I think this would be far easier to understand (and verify). |
|
mm. let me try this out then. i remember there was a reason why i did not do that :) |
fda9974 to
a998abb
Compare
|
So btoa is not available on node, and escape is not available on chakra :), so there is not an easy way to use these. I did split them into two functions, and added unit tests as well. I have also handled --inlineSourceMap to be a parallel to --sourceMap instead of a dependent. The reason covertToBase64 is in utilities is to allow for targeted unit tests. I have limited compiler baselines to limt the noise in .js files as the map is actually included in the .js file. |
There was a problem hiding this comment.
:%s/correctelly/correctly/g
|
LGTM |
|
Can you also update |
|
thanks @teppeis. fixed |
Support for inline source maps. As referenced in #2233, this change allows us to emit single file with source maps instead of having a separate file.