bernova 0.0.2 โ†’ 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGELOG.md +215 -0
  2. package/package.json +46 -4
package/CHANGELOG.md ADDED
@@ -0,0 +1,215 @@
1
+ # Changelog
2
+
3
+ All notable changes to Bernova will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.1.0] - 2025-10-21
9
+
10
+ ### ๐ŸŽ‰ Initial Release
11
+
12
+ Bernova is a powerful CSS-in-JS framework that allows you to write CSS with JavaScript syntax, providing a comprehensive solution for modern web styling.
13
+
14
+ ### โœจ Core Features
15
+
16
+ #### ๐Ÿ—๏ธ **CSS Generation System**
17
+
18
+ - **JavaScript-to-CSS compilation**: Transform JavaScript objects into optimized CSS
19
+ - **BEM methodology support**: Automatic generation of BEM-compliant class names
20
+ - **Modular architecture**: Separate compilation for foundations, components, and global styles
21
+ - **Build optimization**: Minification, tree-shaking, and dead code elimination
22
+
23
+ #### ๐ŸŽจ **Styling Architecture**
24
+
25
+ ##### **Foundations System**
26
+
27
+ - CSS custom properties (CSS variables) generation from JavaScript objects
28
+ - Automatic kebab-case conversion for CSS variable names
29
+ - Centralized design token management
30
+ - Type-safe access to CSS variables through generated tools
31
+
32
+ ##### **Component Styling**
33
+
34
+ - Object-based style definitions with JavaScript syntax
35
+ - Nested element styling using BEM element syntax (`_element`)
36
+ - Style variants using BEM modifier syntax (`--variant`)
37
+ - Dynamic class name generation with TypeScript support
38
+
39
+ ##### **Global Styles Management**
40
+
41
+ - Project-wide CSS rules configuration
42
+ - Element selector targeting (`html`, `body`, `*`)
43
+ - CSS class generation for utility styles
44
+ - Automatic tool generation for class name access
45
+
46
+ #### ๐ŸŽฏ **Advanced CSS Features**
47
+
48
+ ##### **Pseudo-classes & Pseudo-elements**
49
+
50
+ - Full support for CSS pseudo-classes (`:hover`, `:focus`, `:active`, etc.)
51
+ - Pseudo-element support (`::before`, `::after`, etc.)
52
+ - Nested pseudo-class/element combinations
53
+ - Automatic CSS selector generation
54
+
55
+ ##### **Media Queries**
56
+
57
+ - Responsive design system with JavaScript configuration
58
+ - Custom media query definitions with type and values
59
+ - Reusable breakpoint system across components
60
+ - Mobile-first and desktop-first approaches supported
61
+
62
+ ##### **HTML Attributes**
63
+
64
+ - Conditional styling based on data attributes
65
+ - Boolean and value-based attribute selectors
66
+ - Multiple attribute value handling
67
+ - Complex attribute-based style variations
68
+
69
+ ##### **Advanced Selectors**
70
+
71
+ - CSS combinator support (descendant, child, sibling)
72
+ - Target-specific styling with `$target` syntax
73
+ - Complex selector chains
74
+ - Advanced DOM tree navigation
75
+
76
+ #### ๐Ÿ”ง **Development Tools**
77
+
78
+ ##### **CLI Commands**
79
+
80
+ - **`bernova`**: Main CSS compilation command
81
+ - **`bv-config`**: Interactive configuration file generator
82
+ - **`bv-build`**: Optimized build process for production
83
+ - **Compilation modes**: Foundation-only (`--foundationOnly`) and component-only (`--componentOnly`)
84
+
85
+ ##### **Generated Development Tools**
86
+
87
+ - **CSS Variables Tools**: Type-safe access to CSS custom properties
88
+ - **CSS Classes Tools**: Generated class name constants for JavaScript/TypeScript
89
+ - **Component Registry**: Available component tracking and management
90
+ - **Media Query Tools**: Responsive breakpoint access utilities
91
+ - **Global Style Tools**: Utility class name management
92
+
93
+ #### ๐Ÿ“ฆ **Multi-Theme Support**
94
+
95
+ - **Multiple theme configurations**: Support for light/dark themes and brand variations
96
+ - **Theme-specific CSS generation**: Separate CSS files for each theme
97
+ - **Provider-based theme management**: Dynamic theme switching capabilities
98
+ - **Foreign theme integration**: Support for external CSS files and legacy stylesheets
99
+
100
+ #### ๐ŸŽญ **Provider System**
101
+
102
+ - **JavaScript Provider**: Centralized styling API for large applications
103
+ - **Dynamic CSS injection**: Runtime CSS loading and management
104
+ - **Theme switching**: Hot-swappable themes without page reload
105
+ - **Component style resolution**: Intelligent class name resolution with variants
106
+ - **External CSS integration**: Seamless integration with existing CSS files
107
+
108
+ #### ๐Ÿ” **Advanced Features**
109
+
110
+ ##### **Foreign Components**
111
+
112
+ - Style reuse across different components
113
+ - Component composition with existing styles
114
+ - Variant inheritance from parent components
115
+ - Modular style architecture
116
+
117
+ ##### **Dynamic Values**
118
+
119
+ - Runtime CSS custom property injection
120
+ - JavaScript variable binding to CSS
121
+ - Dynamic styling based on component props
122
+ - CSS-in-JS style object generation
123
+
124
+ ##### **Font Management**
125
+
126
+ - Google Fonts integration with automatic import generation
127
+ - Custom font loading and configuration
128
+ - Font weight and style variant management
129
+ - Optimized font loading strategies
130
+
131
+ ##### **CSS Reset System**
132
+
133
+ - Built-in CSS reset styles for cross-browser consistency
134
+ - Configurable reset rules
135
+ - Modern CSS normalization
136
+ - Custom reset rule definitions
137
+
138
+ #### ๐ŸŽฏ **TypeScript Integration**
139
+
140
+ - **Full TypeScript support**: Generated type definitions for all tools
141
+ - **CSS property validation**: IntelliSense for CSS properties and values
142
+ - **Component type generation**: Automatic interface generation for styled components
143
+ - **Style type checking**: Compile-time validation of style objects
144
+
145
+ #### โšก **Performance Features**
146
+
147
+ - **Build-time optimization**: CSS minification and compression
148
+ - **Tree-shaking**: Dead code elimination for unused styles
149
+ - **CSS bundling**: Efficient CSS file generation and organization
150
+ - **Development mode**: Fast compilation for development workflows
151
+
152
+ #### ๐Ÿ—๏ธ **Build System**
153
+
154
+ - **Vite integration**: Modern build tooling with Vite
155
+ - **TypeScript compilation**: Automatic type definition generation
156
+ - **Source mapping**: Debug-friendly source maps for development
157
+ - **Production optimization**: Minified output for production deployments
158
+
159
+ ### ๐Ÿ“‹ **Configuration System**
160
+
161
+ - **JSON-based configuration**: `bernova.config.json` for project setup
162
+ - **Flexible theme configuration**: Multi-theme project support
163
+ - **Tool generation options**: Customizable development tool generation
164
+ - **Path resolution**: Flexible file path configuration for different project structures
165
+
166
+ ### ๐Ÿงช **Testing Infrastructure**
167
+
168
+ - **Vitest integration**: Modern testing framework setup
169
+ - **Unit test coverage**: Comprehensive test suite for core functionality
170
+ - **Coverage reporting**: Code coverage analysis with @vitest/coverage-v8
171
+ - **Test utilities**: Testing helpers and mock utilities
172
+
173
+ ### ๐Ÿ“š **Documentation & Examples**
174
+
175
+ - **Comprehensive README**: Detailed usage examples and API documentation
176
+ - **Configuration examples**: Sample configurations for different use cases
177
+ - **Best practices guide**: Recommended patterns and architectures
178
+ - **Migration guides**: Instructions for integrating with existing projects
179
+
180
+ ### ๐Ÿ”ง **Development Experience**
181
+
182
+ - **Hot reload support**: Fast development iteration with instant CSS updates
183
+ - **Error reporting**: Detailed error messages for debugging
184
+ - **CLI feedback**: Progress indicators and success/error notifications
185
+ - **IDE support**: Enhanced developer experience with TypeScript definitions
186
+
187
+ ### ๐Ÿ“ฆ **Package Features**
188
+
189
+ - **Multiple output formats**: CommonJS and ES modules support
190
+ - **CLI binaries**: Executable commands for project automation
191
+ - **Dependency optimization**: Minimal runtime dependencies
192
+ - **Cross-platform compatibility**: Works on Windows, macOS, and Linux
193
+
194
+ ### ๐ŸŽจ **Styling Capabilities**
195
+
196
+ - **Complete CSS property support**: All modern CSS properties and values
197
+ - **Vendor prefix handling**: Automatic vendor prefix generation
198
+ - **CSS custom property support**: Full CSS variables integration
199
+ - **Modern CSS features**: Grid, Flexbox, and modern layout support
200
+
201
+ ---
202
+
203
+ ### ๐Ÿ“ **Notes**
204
+
205
+ - This release establishes the foundation for a comprehensive CSS-in-JS framework
206
+ - Full backward compatibility will be maintained in future releases
207
+ - The API is considered stable for production use
208
+ - Community contributions and feedback are welcome
209
+
210
+ ### ๐Ÿ”— **Links**
211
+
212
+ - [Documentation](README.md)
213
+ - [Contributing Guidelines](CONTRIBUTING.md)
214
+ - [Code of Conduct](CODE_OF_CONDUCT.md)
215
+ - [Security Policy](SECURITY.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bernova",
3
- "version": "0.0.2",
3
+ "version": "0.1.1",
4
4
  "description": "The best way to write CSS with Javascript syntax",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -16,7 +16,9 @@
16
16
  "dist",
17
17
  "src",
18
18
  "types",
19
- "README.md"
19
+ "README.md",
20
+ "CHANGELOG.md",
21
+ "LICENSE"
20
22
  ],
21
23
  "scripts": {
22
24
  "dist": "yarn run build",
@@ -45,9 +47,49 @@
45
47
  "clean": "rm -rf dist types",
46
48
  "postinstall": "echo 'postinstall'"
47
49
  },
48
- "keywords": [],
49
- "author": "Kubit team",
50
+ "keywords": [
51
+ "css",
52
+ "css-in-js",
53
+ "javascript",
54
+ "typescript",
55
+ "styling",
56
+ "frontend",
57
+ "web-development",
58
+ "build-tool",
59
+ "postcss",
60
+ "themes"
61
+ ],
62
+ "author": {
63
+ "name": "Kubit team",
64
+ "url": "https://github.com/kubit-ui"
65
+ },
66
+ "contributors": [
67
+ {
68
+ "name": "Kubit team",
69
+ "url": "https://github.com/kubit-ui"
70
+ }
71
+ ],
50
72
  "license": "ISC",
73
+ "homepage": "https://github.com/kubit-ui/bernova#readme",
74
+ "repository": {
75
+ "type": "git",
76
+ "url": "git+https://github.com/kubit-ui/bernova.git"
77
+ },
78
+ "bugs": {
79
+ "url": "https://github.com/kubit-ui/bernova/issues"
80
+ },
81
+ "funding": {
82
+ "type": "github",
83
+ "url": "https://github.com/sponsors/kubit-ui"
84
+ },
85
+ "engines": {
86
+ "node": ">=20.0.0",
87
+ "npm": ">=8.0.0"
88
+ },
89
+ "publishConfig": {
90
+ "access": "public",
91
+ "registry": "https://registry.npmjs.org/"
92
+ },
51
93
  "dependencies": {
52
94
  "autoprefixer": "^10.4.21",
53
95
  "cssnano": "^7.1.1",