https://github.com/cyanheads/scripts-ts
A cross-platform collection of standalone TypeScript utility scripts that automate common development tasks like cleaning artifacts, generating project structures, setting executable permissions, and updating dependencies.
https://github.com/cyanheads/scripts-ts
automation build-scripts cross-platform dev-tools ts typescript utilities
Last synced: 8 days ago
JSON representation
A cross-platform collection of standalone TypeScript utility scripts that automate common development tasks like cleaning artifacts, generating project structures, setting executable permissions, and updating dependencies.
- Host: GitHub
- URL: https://github.com/cyanheads/scripts-ts
- Owner: cyanheads
- License: apache-2.0
- Created: 2025-03-02T09:23:09.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-02T10:13:06.000Z (over 1 year ago)
- Last Synced: 2025-10-01T08:15:06.485Z (9 months ago)
- Topics: automation, build-scripts, cross-platform, dev-tools, ts, typescript, utilities
- Language: JavaScript
- Homepage:
- Size: 18.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ ๏ธ TypeScript Project Scripts
[](https://nodejs.org/)
[](LICENSE)
[](https://www.typescriptlang.org/)
[](https://github.com/cyanheads/scripts-ts)
A collection of standalone, platform-agnostic TypeScript utility scripts for managing common development tasks in any project.
---
## โจ Features
- **๐งน Clean Script** - Remove build artifacts and temp directories
- **๐ณ Generate Tree** - Create a markdown representation of your project structure
- **๐ Make Executable** - Set executable permissions for script files (chmod +x)
- **๐ฆ Update Dependencies** - Update package.json dependencies to latest versions
All scripts are:
- ๐ **Cross-platform** - Works on Windows, macOS, and Linux
- ๐งฉ **Standalone** - Each script is self-contained
- ๐ **Project-agnostic** - Use in any TypeScript/JavaScript project
- ๐ก๏ธ **Typed** - Full TypeScript definitions and type safety
## ๐ฅ Installation
```bash
# Install from npm
npm install scripts-ts --save-dev
# Or yarn
yarn add scripts-ts --dev
# Or pnpm
pnpm add -D scripts-ts
```
### ๐จ Build from Source
```bash
# Clone the repository
git clone https://github.com/cyanheads/scripts-ts.git
# Install dependencies
npm install
# Build the project
npm run build
```
## ๐ Usage
### Clean Script
```bash
# Default (cleans dist and logs directories)
npm run clean
# Specify custom directories
npm run clean temp coverage node_modules/.cache
# Direct usage
npx ts-clean temp cache
```
### Generate Tree Script
```bash
# Default (outputs to docs/tree.md)
npm run tree
# Custom output path
npm run tree ./documentation/project-structure.md
# Limit depth
npm run tree --depth=3
# Help
npm run tree --help
```
### Make Executable Script
```bash
# Default (makes dist/index.js executable)
npm run make-executable
# Specify files
npm run make-executable dist/cli.js bin/*.js
# Direct usage
npx ts-make-executable dist/cli.js
```
### Update Dependencies Script
```bash
# Update all dependencies
npm run update-deps
# Update specific packages
npm run update-deps react react-dom
# Update to minor versions only
npm run update-deps --target=minor
# Dry run
npm run update-deps --dry-run
```
## ๐ง Integration
Add to your project's package.json:
```json
"scripts": {
"clean": "scripts-ts-clean",
"tree": "scripts-ts-tree",
"make-executable": "scripts-ts-make-executable",
"update-deps": "scripts-ts-update-deps",
"rebuild": "npm run clean && npm run build",
"postbuild": "npm run make-executable"
}
```
## ๐ ๏ธ Customization
Each script is designed to be easily customizable:
1. Copy individual script files into your project
2. Modify default values to match your project needs
3. Add additional functionality as required
## ๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## ๐ License
This project is licensed under the [Apache License 2.0](LICENSE).