reactonite package¶
Submodules¶
reactonite.Config module¶
-
class
reactonite.Config.Config(config_path, load=False)[source]¶ Bases:
objectA Class to manage and maintain project configuration. One can add/remove/modify config variables and save/load it easily
-
config_path¶ Path to configuration file from where to load/save
- Type
str
-
config¶ Config settings dictionary
- Type
dict
- Parameters
config_path (str) – Path to configuration file from where to load/save
load (bool) – Whether to load config on object creation, default is False
-
reactonite.Constants module¶
-
class
reactonite.Constants.DEFAULTS[source]¶ Bases:
objectDefault variables used in code execution
-
INIT_FILES_DIR¶ Directory for initial files for setup.
- Type
str
-
SRC_DIR¶ Source directory for reactonite codebase.
- Type
str
-
DEST_DIR¶ Destination directory for React codebase.
- Type
str
-
CONFIG_FILE_NAME¶ Config file name for config variables.
- Type
str
-
PROPS_MAP¶ Mapping for HTML to React props
- Type
dict
-
reactonite.CreateHtmlCss module¶
reactonite.Helpers module¶
-
reactonite.Helpers.create_dir(path)[source]¶ Creates directory at the given path if it doesn’t exist.
- Parameters
path (str) – Path to directory which needs to be created.
- Raises
RuntimeError – Raised if directory can’t be created.
-
reactonite.Helpers.create_file(path)[source]¶ Creates the file at the given path if it doesn’t exist.
- Parameters
path (str) – Path to file which needs to be created.
- Raises
RuntimeError – Raised if file can’t be created.
-
reactonite.Helpers.get_parent_dir(path)[source]¶ Returns location of the parent directory for a given path.
- Parameters
path (str) – Path of the file or folder for which we need the parent directory.
- Returns
Location of the parent directory
- Return type
str
-
reactonite.Helpers.write_to_json_file(path, content)[source]¶ Writes content to a json file at the given path. Raises exception if file not exists.
- Parameters
path (str) – Path to file where content will be dumped.
content (dict) – Dictonary to be dumped into the file.
- Raises
FileNotFoundError – Raised if file doesn’t exist.
RuntimeError – Raised if not enough permissions to write in file
reactonite.NodeWrapper module¶
-
class
reactonite.NodeWrapper.NodeWrapper[source]¶ Bases:
objectNode wrapper to execute commands corresponding to node js using python.
-
npx¶ Commandline to be used for npx according to system(Linux, Windows)
- Type
str
-
npm¶ Commandline to be used for npm according to system(Linux, Windows)
- Type
str
-
node¶ Commandline to be used for node according to system(Linux, Windows)
- Type
str
-
build(working_dir)[source]¶ Create an optimized build of your app in the build folder
- Parameters
working_dir (str) – Directory containing npm project root
-
check_react_install()[source]¶ Checks the installation of Nodejs/npm/npx. If npm is not available it throws an error.
- Raises
RuntimeError – Raised if Nodejs/npm/npx is not available.
-
create_react_app(project_name, rename_to, working_dir='.')[source]¶ Creates a new react app and renames it as specified.
- Parameters
project_name (str) – Project name to be used to create the app
rename_to (str) – Renames the created React app to this
working_dir (str) – Working dir to run commands inside
-
install(package_name, working_dir)[source]¶ Installs the given package in npm and saves in package.json
- Parameters
package_name (str) – Package to be installed.
working_dir (str) – Directory containing npm project root
-
prettify(path, working_dir='.')[source]¶ Runs code formatting using prettier on the given path
- Parameters
path (str) – Filepath or directory to run prettier on
working_dir (str) – Directory from which command is run
-
reactonite.PropsMap module¶
reactonite.ReactoniteWatcher module¶
-
class
reactonite.ReactoniteWatcher.ReactoniteWatcher(config_settings, patterns='*', ignore_patterns='', ignore_directories=False, case_sensitive=True, recursive=True)[source]¶ Bases:
objectA file/directory watcher to report events incase they are modified/created/deleted.
-
src_dir¶ Path of the source direectory to watch and report for events.
- Type
str
-
dest_dir¶ Path of the destination direectory to write transpiled code.
- Type
str
-
config_settings¶ Path to src_dir and dest_dir as dict object, stored in config.json
- Type
dict
-
patterns¶ Pattern of files/directories to watch, defaults to “*”
- Type
str, optional
-
ignore_patterns¶ Pattern of files/directories to ignore or not watch, defaults to “”
- Type
str, optional
-
ignore_directories¶ Parameter whether the watcher should ignore directories or not, defaults to False
- Type
bool, optional
-
case sensitive Parameter explaining whether file/directory names are case-sensitive or not, defaults to True
- Type
bool
-
recursive¶ Parameter whether the watcher should recursively watch inside directories or not, defaults to True
- Type
bool
-
reactonite.Transpiler module¶
-
class
reactonite.Transpiler.AttributesParser(*, convert_charrefs=True)[source]¶ Bases:
html.parser.HTMLParserExtends HTMLParser to extract tags with attributes from a given HTML string
Call feed method of HTMLParser to generate data and then retriece it from the object of the class. Here’s an usage example:
attributes_parser = AttributesParser() attributes_parser.feed(“YOUR_HTML_STRING”) tag_with_attributes = attributes_parser.data print(tag_with_attributes)
-
data¶ Stores the tags with their attributes
- Type
list
-
-
class
reactonite.Transpiler.ReactCodeMapper(src_dir, dest_dir, props_map)[source]¶ Bases:
objectClass to convert tags and props from HTML to React
Call getReactMap method for converting tags fed for HTML and get corresponding React Mapping. Here’s an usage example:
reactCodeMapper = ReactCodeMapper(source_dir, destination_dir, props_map) react_map = reactCodeMapper.getReactMap(tag_with_attributes) print(react_map)
-
CUSTOM_TAG_HANDLERS¶ Stores mapping correspoding to tags which are handled seperately.
- Type
dict
-
src_dir¶ Source directory for the HTML codebase.
- Type
str
-
dest_dir¶ Destination directory for the React codebase.
- Type
str
-
props_map¶ Mapping of attrs for HTML to React from props_map.py
- Type
dict
-
add_to_import¶ Stores imports corresponding to variables created during transpilation.
- Type
list
-
add_variables¶ Stores newly created variables during transpilation.
- Type
list
-
router_link_imported¶ Saves wether Link tag needs to be imported for current page.
- Type
bool, optional
-
getReactMap(tags, filepath_from_src)[source]¶ Wrapper to generate React Map object comprising of all data needed to convert HTML to React
- Parameters
tags (dict) – HTML attributes extracted using AttributesParser
filepath_from_src (str) – Path to file from src directory
- Returns
Final mapping of tags with imports and varibles for React, if any attribute is None then tag needs to be deleted
- Return type
dict
-
-
class
reactonite.Transpiler.Transpiler(config_settings, props_map, verbose=False, create_project=False)[source]¶ Bases:
objectTranspiler responsible for translating HTML code to React
-
project_name¶ Name of the project as stored in config
- Type
str
-
src_dir¶ Path of the source directory within the project directory
- Type
str
-
dest_dir¶ Path to the transpiled React app within the project directory
- Type
str
-
index_routes¶ Stores Routes data corresponding to different pages for index.js
- Type
dict
-
parser¶ Specify which parser to use for reading HTML files, defaults to “html.parser”
- Type
str, optional
-
verbose¶ Specify the verbosity of the transpiler, defaults to False
- Type
bool, optional
-
transpileFile(filepath)[source]¶ Transpiles the source HTML file given at the given filepath to a React code, which is then copied over to the React build directory, if not HTML file then get’s copied directly.
- Parameters
filepath (str) – Path to the source HTML file which is to be transpiled
- Raises
RuntimeError – Raised if the source html file is not found
-
transpile_project(copy_static=True)[source]¶ Runs initial checks like ensuring the source directories exist, and the source file is present. After that, copies non html files and transpiles the source.
- Parameters
copy_static (bool, optional) – Will copy non .html files if True, only .html files will be transpiled if False, default True
- Raises
RuntimeError – Raised source html file is missing.
-