@shapediver/utils.script-checking
v1.0.0
Published
A Node.js package that removes comments from Python and C# scripts. Works as both a **CLI tool** and an **importable module**.
Keywords
Readme
shapediver.utils.script-checking
A Node.js package that removes comments from Python and C# scripts. Works as both a CLI tool and an importable module.
Features
- Supports Python (
.py) and C# (.cs) scripts. - Removes single-line (
**, **) and multi-line (``, triple quotes) comments. However, in-line comments are NOT removed! - Works as a CLI tool for batch processing.
- Can be used as an importable module in your Node.js applications.
- Automatically detects script language.
Additional Requirements
The tool cloc is used to actually remove the comments. This tool must be installed on the machine. Otherwise, the scripts are returned/written as they are.
Installation
npm install @shapediver/utils.script-checking" # For usage as a moduleUsage
CLI Usage
Remove comments from a CSV file
node dist/cli.js --csv path/to/scripts.csv --out path/to/cleaned.csvThis assumes the CSV format is <label>;<script> and removes comments while keeping labels.
CLI Options
| Option | Description |
| -------------- | -------------------------------------------------- |
| --csv <path> | Input CSV file (expects <label>;<script> format) |
| --out <path> | Output file for cleaned CSV |
| --tmp <path> | Temporary file location for file creation |
| --help | Show help information |
Importable Module Usage
Example: Removing comments from a script string
import { removeComments } from "@shapediver/utils.script-checking"";
const pythonScript = """
def hello():
# This is a comment
print("Hello, world!")
""";
console.log(removeComments(pythonScript, "path/to/tmp"));Output:
def hello():
print("Hello, world!")Example: Processing a CSV File
import { processCsvFile } from "@shapediver/utils.script-checking"";
processCsvFile(
"path/to/scripts.csv",
"path/to/cleaned.csv",
"path/to/tmp",
).then(() => {
console.log("Processing complete!");
});Language Detection
The package automatically detects whether a script is written in Python or C# based on syntax patterns.
If the language cannot be determined, the script remains unchanged to prevent accidental modifications.
Support
If you have questions, please use the ShapeDiver Help Center.
You can find out more about ShapeDiver right here.
License
This project is released under the MIT License
