Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
].join(' ');
let cmd_options = {
// we need to call python from the root project dir so the __target__ location
// stays the same for all .py files in the run. This allows them to share the
// same __runtime__ and thus a common "memory" space.
'cwd': this.options.rootDir,
'encoding': 'utf8',
};
logger.progress(`${LOG_PREFIX} ${cmd}`);
try {
let stdout = child_process.execSync(cmd, cmd_options).toString();
} catch (err) {
logger.error(`${LOG_PREFIX} Error compiling ${this.name}\n${err.stdout.toString()}`);
throw err;
} //try
logger.clear();
// we now have a __target__ directory with our .py -> .js, plus all its
// dependencies. instead of reading it in here, we create an intermediary
// script to bridge the __target__ files into this location.
// this is a hack around the difference in the way parcel and transcrypt
// work. when parcel calls this Asset class, it sees all imports as relative
// to the source .py file directory, not the __target__ directory. that means
// all the dependencies transcrypt sends to __target__ are in the wrong directory.
// i tried doing multiple calls to transcrypt, custom JSAsset classes, moving the
// files around, and sacrificing copies of windows to the coding gods. after more
// hours than I want to admit to, i'm doing this intermediary file because it
// leaves everything where each project expects. please do fix it a better
// way, but be warned...there be dragons here! [dragon by Donovan Blake]
// .
// .> )\;`a__
// ( _ _)/ /-." ~~