pzl-spfx-tasks
v0.5.10-2
Published
One shared place for node tasks used by our SPFx solutions.
Downloads
377
Readme
SPFx tasks
One shared place for node tasks used by our SPFx solutions.
createEnviromentFile.js
Creates a .env
file in the current folder (process.cwd()
). This is ran as a part of the pre-watch.js
task.
createServeConfig.js
Creates a config/serve.json
file from the template config/serve.sample.json
for the current folder.
post-watch.js
Runs modifyConfig.js
.
pre-watch.js
Runs createEnviromentFile.js
. Also generates a config/.generated-solution-config.json
if the channel environment variable SERVE_CHANNEL
is set and not main.
Also runs ./modifyConfig.js
to modifiy the included bundles.
modifyConfig.js
Updates config/config.json
for the solution based on the environment variable SERVE_BUNDLE_REGEX
.
generateComponentOverview.js
This script generates an overview of components by loading configuration files and writing the result to an output file.
Dependencies
path
: Provides utilities for working with file and directory paths.glob
: Matches file paths using patterns.fs
: Provides file system-related functionality.util
: Custom utility functions for logging and file operations.colors
: Provides color formatting for console output.
Constants
ROOT_PATH
: The root directory of the project.CONFIG_FILES_PATTERN
: Pattern to match configuration files.OUTPUT_FILE
: Path to the output file where the overview will be written.
Functions
loadJsonFile(file)
- Description: Loads and parses a JSON file.
- Parameters:
file
: Path to the JSON file.
- Returns: Parsed JSON object or
null
on failure.
loadManifestFile(configFile, bundle)
- Description: Loads the manifest file for a given configuration file and bundle.
- Parameters:
configFile
: Path to the configuration file.bundle
: Bundle object containing information about the components.
- Returns: Manifest object containing component details or
null
on failure.
loadConfigFile(configFile)
- Description: Loads the configuration file and returns the application name and an array of manifests.
- Parameters:
configFile
: Path to the configuration file.
- Returns: An array containing the application name and an array of manifest objects.
generateComponentOverview()
- Description: Generates an overview of components by loading configuration files and writing the result to an output file.
- Process:
- Glob matches configuration files.
- Loads configuration files and extracts component manifests.
- Writes the overview to the output file.
generateComponentsClass.js
This script generates C# classes based on JSON data. It is designed to work with a specific JSON file structure containing information about SPFx components.
Dependencies
path
: Provides utilities for working with file and directory paths.glob
: Matches file paths using patterns.fs
: Provides file system-related functionality.util
: Custom utility functions for logging and file operations.lodash
: Provides utility functions for working with arrays, objects, and other data types.package.json
: Contains metadata about the project.
Constants
ROOT_PATH
: The root directory of the project.INPUT_JSON_FILE
: Path to the input JSON file containing component data.NAMESPACE
: Namespace for the generated C# classes.DIRNAME
: Path to the directory where the generated C# files will be saved.FILE_NAME
: Name of the generated C# file.MAIN_CLASS_NAME
: Name of the main static class containing all components.COMPONENT_CLASS_NAME
: Name of the C# class representing SPFx components.
Functions
generateClasses(jsonFile)
- Description: Generates C# classes for a JSON file.
- Parameters:
jsonFile
: Path to the JSON file containing component data.
generateComponentClass(component, classType = 'public readonly')
- Description: Generates a C# class for a component.
- Parameters:
component
: Component object containing information about the component.classType
: Type of the class to generate (default is 'public readonly').
generateAppClassName(app)
- Description: Generates the class name for the given SPFx app.
- Parameters:
app
: Name of the SPFx app.
- Returns: The generated class name.
generateAppClass(app, components, classType = 'public class', classMemberType = 'public static readonly')
- Description: Generates a C# class for the SPFx app with the provided app name and components.
- Parameters:
app
: Name of the SPFx app.components
: Array of component objects belonging to the app.classType
: Type of the class to generate (default is 'public class').classMemberType
: Type of the class members to generate (default is 'public static readonly').
generateCSharpCode(jsonContent)
- Description: Generates C# code based on the provided JSON content.
- Parameters:
jsonContent
: JSON content used to generate the C# code.
- Returns: Generated C# code as a string.