One shared place for node tasks used by our SPFx solutions.
npm install pzl-spfx-tasks.env file in the current folder (process.cwd()). This is ran as a part of the pre-watch.js task.config/serve.json file from the template config/serve.sample.json for the current folder.modifyConfig.js.createEnviromentFile.js. Also generates a config/.generated-solution-config.json if the channel environment variable SERVE_CHANNEL is set and not main../modifyConfig.js to modifiy the included bundles.config/config.json for the solution based on the environment variable SERVE_BUNDLE_REGEX.This script generates an overview of components by loading configuration files and writing the result to an output file.
- 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.
- 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.
#### 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:
1. Glob matches configuration files.
2. Loads configuration files and extracts component manifests.
3. Writes the overview to the output file.
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.
- 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.
- 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.
#### 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.