reactonite package¶
Submodules¶
reactonite.Config module¶
-
class
reactonite.Config.
Config
(config_path, load=False)[source]¶ Bases:
object
A 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:
object
Default 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:
object
Node 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:
object
A 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.HTMLParser
Extends 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:
object
Class 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:
object
Transpiler 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.
-