
Research
Security News
The Growing Risk of Malicious Browser Extensions
Socket researchers uncover how browser extensions in trusted stores are used to hijack sessions, redirect traffic, and manipulate user behavior.
babel-plugin-python
Advanced tools
Load Python (Javascripthon) code in babel, supports requiring from and to JS/TS.
Babel plugin to load Python (Javascripthon) code
npm install babel-plugin-python
Then add 'python' to your babel plugins wether it's on babelrc, babel.config.json or if you use a bundler usually they add directives for you to add babel plugins (if the bundler use babel or is configured to use babel as a loader).
In any of your JS code, require a py file:
//index.js
//Either ES6 import or CommonJS' require works, dynamic import is still on the work
import from_python from './test.py';
const same_object_from_python = require('./test.py');
console.log(from_python === same_object_from_python);
console.log(from_python);
And in your Python code:
#test.py
def some_function():
print('I log some string')
return 'and return another string'
class SomeClass:
some_class_property = [1, {}]
another_property = 'could be anything'
def __init__(self):
self.some_object_property = 'not a class one'
module.exports = [some_function, SomeClass(), SomeClass.some_class_property, SomeClass().some_object_property, some_function()]
We choose to make this module a babel plugin instead of a webpack loader because we want to target bundlers as much as possible. Unfortunately making this plugin to be compatible to all bundler forces us to make some sacrifices:
__pycache__/python-cache-*
folders that are created on project root during transpilation.__pycache__/python-cache-*
folders can't be hidden with dot (unix).__pycache__
to .gitignore (just like standard Python project .gitignore) to prevent acidentally adding them to your commits.FAQs
Load Python (Javascripthon) code in babel, supports requiring from and to JS/TS.
The npm package babel-plugin-python receives a total of 20 weekly downloads. As such, babel-plugin-python popularity was classified as not popular.
We found that babel-plugin-python demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover how browser extensions in trusted stores are used to hijack sessions, redirect traffic, and manipulate user behavior.
Research
Security News
An in-depth analysis of credential stealers, crypto drainers, cryptojackers, and clipboard hijackers abusing open source package registries to compromise Web3 development environments.
Security News
pnpm 10.12.1 introduces a global virtual store for faster installs and new options for managing dependencies with version catalogs.