pulse website
npm install @rtstic.dev/pulseA modern, production-ready starter template for building custom JavaScript/TypeScript code for Webflow projects. Streamline your development workflow with TypeScript, automated builds, and comprehensive code quality tools.



- π§ Modern TypeScript Setup - Full TypeScript support with strict type checking
- β‘ Lightning Fast Builds - Powered by esbuild for instant compilation
- π¦ Optimized Production Builds - Minified, tree-shaken, and ES2020-compatible output
- π Code Quality - ESLint, Prettier, and TypeScript integration
- π― Path Aliases - Clean imports with custom path mappings
- π Changesets - Automated versioning and changelog generation
- π Webflow Ready - Optimized for Webflow custom code integration
Ensure you have the following installed:
- Node.js (v18.0.0 or higher) - Download here
- pnpm (v10.0.0 or higher) - Install guide
1. Create a new repository from this template
> Note: You must be authenticated with a Fynd Design Engineering GitHub account
2. Clone and install dependencies
After creating a project with above template install all dependencies using pnpm
``bash`
pnpm install
3. Start developing
`bash`
pnpm dev
Open http://localhost:3000 to see your project in action!
Launch the development server:
`bash`
pnpm dev
What happens:
- π¦ Bundles TypeScript files in real-time
- π Serves files at http://localhost:3000
- πΊοΈ Generates source maps for debugging
- π Displays a helpful table of served files with import suggestions
Create an optimized build for deployment:
`bash`
pnpm build
Build optimizations:
- ποΈ Code minification and compression
- π³ Tree shaking to remove unused code
- π― ES2020 target for broad browser compatibility
- π Clean output in the dist/ directory
Maintain code quality with ESLint:
`bashCheck for issues
pnpm lint
$3
Keep code consistent with Prettier:
`bash
pnpm format
`$3
Verify TypeScript types:
`bash
pnpm check
`Release Management
This project uses Changesets for professional version management.
$3
1. Work on your feature branch (never commit directly to
main)
`bash
git checkout -b feature/your-feature-name
`2. Make your changes and build
`bash
pnpm build
`3. Create a changeset
`bash
pnpm changeset
` Follow the prompts to:
- Select which packages changed
- Choose the semantic version bump (patch/minor/major)
- Write a clear summary of changes
4. Commit your changes
`bash
git add .
git commit -m "feat: add your feature description"
`5. Publish the release
`bash
pnpm release
`$3
Keep dependencies up-to-date:
`bash
pnpm update
`Project Architecture
`
cdn-starter/
βββ π src/
β βββ π index.ts # Main entry point
β βββ π utils/ # Utility functions
β βββ π *.ts # Your utility modules
βββ π dist/ # ποΈ Build output (auto-generated)
βββ π bin/ # π§ Build tools
β βββ π build.js # esbuild configuration
βββ π package.json # Project configuration
βββ π tsconfig.json # TypeScript settings
βββ π eslint.config.js # ESLint rules
βββ π README.md # This file
`Advanced Configuration
$3
Build multiple files by updating
bin/build.js:`javascript
const ENTRY_POINTS = [
"src/home/index.ts", // β dist/home/index.js
"src/contact/form.ts", // β dist/contact/form.js
"src/shared/utils.ts", // β dist/shared/utils.js
];
`$3
Use clean imports with pre-configured aliases:
`typescript
// β Avoid relative paths
import { helper } from "../../utils/helper";// β
Use clean path aliases
import { helper } from "$utils/helper";
`Available aliases:
-
$utils/ β src/utils/Add more in
tsconfig.json:`json
{
"compilerOptions": {
"paths": {
"$utils/": ["src/utils/"],
"$components/": ["src/components/"],
"$types/": ["src/types/"]
}
}
}
`Webflow Integration
$3
For testing in Webflow during development:
1. Start the dev server:
pnpm dev
2. Use the development URLs in Webflow:
`html
`$3
1. Build your project
`bash
pnpm build
`2. Upload to your CDN
Upload files from the
dist/ directory to your preferred CDN (Cloudflare, AWS CloudFront, etc.)3. Include in Webflow
Run this to get the generated cdn links with the latest version available
`bash
pnpm cdn
`$3
- Use
defer for non-critical scripts
- Minimize HTTP requests by bundling related functionality
- Test thoroughly across different Webflow templates
- Use semantic versioning for cache bustingContributing
We welcome contributions! Please follow these guidelines:
1. Fork the repository
2. Create a feature branch
`bash
git checkout -b feature/amazing-feature
`
3. Make your changes following our code standards
4. Run quality checks
`bash
pnpm lint && pnpm check
`
5. Add a changeset
`bash
pnpm changeset
`
6. Commit with conventional commits
`bash
git commit -m "feat: add amazing feature"
`
7. Push and create a Pull Request$3
We follow Conventional Commits:
-
feat: New features
- fix: Bug fixes
- docs: Documentation changes
- style: Code style changes
- refactor: Code refactoring
- test: Test additions or changes
- chore: Maintenance tasksPerformance Tips
- Bundle analysis: Use esbuild's metafile option for bundle analysis
- Code splitting: Consider splitting large applications into multiple entry points
- Tree shaking: Write ES modules to enable automatic dead code elimination
- Compression: Enable gzip/brotli compression on your CDN
Troubleshooting
$3
Build failures:
`bash
Clear node_modules and reinstall
rm -rf node_modules pnpm-lock.yaml
pnpm install
`TypeScript errors:
`bash
Check your tsconfig.json configuration
pnpm check
``This project is licensed under the ISC License.
---