bernova 0.0.2 โ 0.2.0
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.
- package/CHANGELOG.md +250 -0
- package/package.json +47 -5
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,250 @@
|
|
|
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.2] - 2025-10-28
|
|
9
|
+
|
|
10
|
+
### ๐ง Changed
|
|
11
|
+
|
|
12
|
+
- **License update**: Changed project license from ISC to Apache-2.0 for better open source compliance
|
|
13
|
+
- **Package management**: Improved gitignore configuration to exclude package-lock.json for better npm/yarn compatibility
|
|
14
|
+
|
|
15
|
+
### ๐๏ธ Removed
|
|
16
|
+
|
|
17
|
+
- Removed package-lock.json file from version control to avoid package manager conflicts
|
|
18
|
+
|
|
19
|
+
## [0.1.1] - 2025-10-22
|
|
20
|
+
|
|
21
|
+
### ๐ Fixed
|
|
22
|
+
|
|
23
|
+
- **Build system**: Resolved NPM versioning and authentication issues
|
|
24
|
+
- **Package metadata**: Improved package.json with complete metadata for open source distribution
|
|
25
|
+
- **Workflow automation**: Fixed auto-publish workflow build validation and authentication verification
|
|
26
|
+
|
|
27
|
+
### ๐ง Changed
|
|
28
|
+
|
|
29
|
+
- **Node.js compatibility**: Updated minimum Node.js version requirements
|
|
30
|
+
- **Build optimization**: Enhanced build process for better distribution
|
|
31
|
+
|
|
32
|
+
## [0.1.0] - 2025-10-21
|
|
33
|
+
|
|
34
|
+
All notable changes to Bernova will be documented in this file.
|
|
35
|
+
|
|
36
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
37
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
38
|
+
|
|
39
|
+
## [0.1.2] - 2025-10-28
|
|
40
|
+
|
|
41
|
+
## [0.1.1] - 2025-10-21
|
|
42
|
+
|
|
43
|
+
## [0.1.0] - 2025-10-21
|
|
44
|
+
|
|
45
|
+
### ๐ Initial Release
|
|
46
|
+
|
|
47
|
+
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.
|
|
48
|
+
|
|
49
|
+
### โจ Core Features
|
|
50
|
+
|
|
51
|
+
#### ๐๏ธ **CSS Generation System**
|
|
52
|
+
|
|
53
|
+
- **JavaScript-to-CSS compilation**: Transform JavaScript objects into optimized CSS
|
|
54
|
+
- **BEM methodology support**: Automatic generation of BEM-compliant class names
|
|
55
|
+
- **Modular architecture**: Separate compilation for foundations, components, and global styles
|
|
56
|
+
- **Build optimization**: Minification, tree-shaking, and dead code elimination
|
|
57
|
+
|
|
58
|
+
#### ๐จ **Styling Architecture**
|
|
59
|
+
|
|
60
|
+
##### **Foundations System**
|
|
61
|
+
|
|
62
|
+
- CSS custom properties (CSS variables) generation from JavaScript objects
|
|
63
|
+
- Automatic kebab-case conversion for CSS variable names
|
|
64
|
+
- Centralized design token management
|
|
65
|
+
- Type-safe access to CSS variables through generated tools
|
|
66
|
+
|
|
67
|
+
##### **Component Styling**
|
|
68
|
+
|
|
69
|
+
- Object-based style definitions with JavaScript syntax
|
|
70
|
+
- Nested element styling using BEM element syntax (`_element`)
|
|
71
|
+
- Style variants using BEM modifier syntax (`--variant`)
|
|
72
|
+
- Dynamic class name generation with TypeScript support
|
|
73
|
+
|
|
74
|
+
##### **Global Styles Management**
|
|
75
|
+
|
|
76
|
+
- Project-wide CSS rules configuration
|
|
77
|
+
- Element selector targeting (`html`, `body`, `*`)
|
|
78
|
+
- CSS class generation for utility styles
|
|
79
|
+
- Automatic tool generation for class name access
|
|
80
|
+
|
|
81
|
+
#### ๐ฏ **Advanced CSS Features**
|
|
82
|
+
|
|
83
|
+
##### **Pseudo-classes & Pseudo-elements**
|
|
84
|
+
|
|
85
|
+
- Full support for CSS pseudo-classes (`:hover`, `:focus`, `:active`, etc.)
|
|
86
|
+
- Pseudo-element support (`::before`, `::after`, etc.)
|
|
87
|
+
- Nested pseudo-class/element combinations
|
|
88
|
+
- Automatic CSS selector generation
|
|
89
|
+
|
|
90
|
+
##### **Media Queries**
|
|
91
|
+
|
|
92
|
+
- Responsive design system with JavaScript configuration
|
|
93
|
+
- Custom media query definitions with type and values
|
|
94
|
+
- Reusable breakpoint system across components
|
|
95
|
+
- Mobile-first and desktop-first approaches supported
|
|
96
|
+
|
|
97
|
+
##### **HTML Attributes**
|
|
98
|
+
|
|
99
|
+
- Conditional styling based on data attributes
|
|
100
|
+
- Boolean and value-based attribute selectors
|
|
101
|
+
- Multiple attribute value handling
|
|
102
|
+
- Complex attribute-based style variations
|
|
103
|
+
|
|
104
|
+
##### **Advanced Selectors**
|
|
105
|
+
|
|
106
|
+
- CSS combinator support (descendant, child, sibling)
|
|
107
|
+
- Target-specific styling with `$target` syntax
|
|
108
|
+
- Complex selector chains
|
|
109
|
+
- Advanced DOM tree navigation
|
|
110
|
+
|
|
111
|
+
#### ๐ง **Development Tools**
|
|
112
|
+
|
|
113
|
+
##### **CLI Commands**
|
|
114
|
+
|
|
115
|
+
- **`bernova`**: Main CSS compilation command
|
|
116
|
+
- **`bv-config`**: Interactive configuration file generator
|
|
117
|
+
- **`bv-build`**: Optimized build process for production
|
|
118
|
+
- **Compilation modes**: Foundation-only (`--foundationOnly`) and component-only (`--componentOnly`)
|
|
119
|
+
|
|
120
|
+
##### **Generated Development Tools**
|
|
121
|
+
|
|
122
|
+
- **CSS Variables Tools**: Type-safe access to CSS custom properties
|
|
123
|
+
- **CSS Classes Tools**: Generated class name constants for JavaScript/TypeScript
|
|
124
|
+
- **Component Registry**: Available component tracking and management
|
|
125
|
+
- **Media Query Tools**: Responsive breakpoint access utilities
|
|
126
|
+
- **Global Style Tools**: Utility class name management
|
|
127
|
+
|
|
128
|
+
#### ๐ฆ **Multi-Theme Support**
|
|
129
|
+
|
|
130
|
+
- **Multiple theme configurations**: Support for light/dark themes and brand variations
|
|
131
|
+
- **Theme-specific CSS generation**: Separate CSS files for each theme
|
|
132
|
+
- **Provider-based theme management**: Dynamic theme switching capabilities
|
|
133
|
+
- **Foreign theme integration**: Support for external CSS files and legacy stylesheets
|
|
134
|
+
|
|
135
|
+
#### ๐ญ **Provider System**
|
|
136
|
+
|
|
137
|
+
- **JavaScript Provider**: Centralized styling API for large applications
|
|
138
|
+
- **Dynamic CSS injection**: Runtime CSS loading and management
|
|
139
|
+
- **Theme switching**: Hot-swappable themes without page reload
|
|
140
|
+
- **Component style resolution**: Intelligent class name resolution with variants
|
|
141
|
+
- **External CSS integration**: Seamless integration with existing CSS files
|
|
142
|
+
|
|
143
|
+
#### ๐ **Advanced Features**
|
|
144
|
+
|
|
145
|
+
##### **Foreign Components**
|
|
146
|
+
|
|
147
|
+
- Style reuse across different components
|
|
148
|
+
- Component composition with existing styles
|
|
149
|
+
- Variant inheritance from parent components
|
|
150
|
+
- Modular style architecture
|
|
151
|
+
|
|
152
|
+
##### **Dynamic Values**
|
|
153
|
+
|
|
154
|
+
- Runtime CSS custom property injection
|
|
155
|
+
- JavaScript variable binding to CSS
|
|
156
|
+
- Dynamic styling based on component props
|
|
157
|
+
- CSS-in-JS style object generation
|
|
158
|
+
|
|
159
|
+
##### **Font Management**
|
|
160
|
+
|
|
161
|
+
- Google Fonts integration with automatic import generation
|
|
162
|
+
- Custom font loading and configuration
|
|
163
|
+
- Font weight and style variant management
|
|
164
|
+
- Optimized font loading strategies
|
|
165
|
+
|
|
166
|
+
##### **CSS Reset System**
|
|
167
|
+
|
|
168
|
+
- Built-in CSS reset styles for cross-browser consistency
|
|
169
|
+
- Configurable reset rules
|
|
170
|
+
- Modern CSS normalization
|
|
171
|
+
- Custom reset rule definitions
|
|
172
|
+
|
|
173
|
+
#### ๐ฏ **TypeScript Integration**
|
|
174
|
+
|
|
175
|
+
- **Full TypeScript support**: Generated type definitions for all tools
|
|
176
|
+
- **CSS property validation**: IntelliSense for CSS properties and values
|
|
177
|
+
- **Component type generation**: Automatic interface generation for styled components
|
|
178
|
+
- **Style type checking**: Compile-time validation of style objects
|
|
179
|
+
|
|
180
|
+
#### โก **Performance Features**
|
|
181
|
+
|
|
182
|
+
- **Build-time optimization**: CSS minification and compression
|
|
183
|
+
- **Tree-shaking**: Dead code elimination for unused styles
|
|
184
|
+
- **CSS bundling**: Efficient CSS file generation and organization
|
|
185
|
+
- **Development mode**: Fast compilation for development workflows
|
|
186
|
+
|
|
187
|
+
#### ๐๏ธ **Build System**
|
|
188
|
+
|
|
189
|
+
- **Vite integration**: Modern build tooling with Vite
|
|
190
|
+
- **TypeScript compilation**: Automatic type definition generation
|
|
191
|
+
- **Source mapping**: Debug-friendly source maps for development
|
|
192
|
+
- **Production optimization**: Minified output for production deployments
|
|
193
|
+
|
|
194
|
+
### ๐ **Configuration System**
|
|
195
|
+
|
|
196
|
+
- **JSON-based configuration**: `bernova.config.json` for project setup
|
|
197
|
+
- **Flexible theme configuration**: Multi-theme project support
|
|
198
|
+
- **Tool generation options**: Customizable development tool generation
|
|
199
|
+
- **Path resolution**: Flexible file path configuration for different project structures
|
|
200
|
+
|
|
201
|
+
### ๐งช **Testing Infrastructure**
|
|
202
|
+
|
|
203
|
+
- **Vitest integration**: Modern testing framework setup
|
|
204
|
+
- **Unit test coverage**: Comprehensive test suite for core functionality
|
|
205
|
+
- **Coverage reporting**: Code coverage analysis with @vitest/coverage-v8
|
|
206
|
+
- **Test utilities**: Testing helpers and mock utilities
|
|
207
|
+
|
|
208
|
+
### ๐ **Documentation & Examples**
|
|
209
|
+
|
|
210
|
+
- **Comprehensive README**: Detailed usage examples and API documentation
|
|
211
|
+
- **Configuration examples**: Sample configurations for different use cases
|
|
212
|
+
- **Best practices guide**: Recommended patterns and architectures
|
|
213
|
+
- **Migration guides**: Instructions for integrating with existing projects
|
|
214
|
+
|
|
215
|
+
### ๐ง **Development Experience**
|
|
216
|
+
|
|
217
|
+
- **Hot reload support**: Fast development iteration with instant CSS updates
|
|
218
|
+
- **Error reporting**: Detailed error messages for debugging
|
|
219
|
+
- **CLI feedback**: Progress indicators and success/error notifications
|
|
220
|
+
- **IDE support**: Enhanced developer experience with TypeScript definitions
|
|
221
|
+
|
|
222
|
+
### ๐ฆ **Package Features**
|
|
223
|
+
|
|
224
|
+
- **Multiple output formats**: CommonJS and ES modules support
|
|
225
|
+
- **CLI binaries**: Executable commands for project automation
|
|
226
|
+
- **Dependency optimization**: Minimal runtime dependencies
|
|
227
|
+
- **Cross-platform compatibility**: Works on Windows, macOS, and Linux
|
|
228
|
+
|
|
229
|
+
### ๐จ **Styling Capabilities**
|
|
230
|
+
|
|
231
|
+
- **Complete CSS property support**: All modern CSS properties and values
|
|
232
|
+
- **Vendor prefix handling**: Automatic vendor prefix generation
|
|
233
|
+
- **CSS custom property support**: Full CSS variables integration
|
|
234
|
+
- **Modern CSS features**: Grid, Flexbox, and modern layout support
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
### ๐ **Notes**
|
|
239
|
+
|
|
240
|
+
- This release establishes the foundation for a comprehensive CSS-in-JS framework
|
|
241
|
+
- Full backward compatibility will be maintained in future releases
|
|
242
|
+
- The API is considered stable for production use
|
|
243
|
+
- Community contributions and feedback are welcome
|
|
244
|
+
|
|
245
|
+
### ๐ **Links**
|
|
246
|
+
|
|
247
|
+
- [Documentation](README.md)
|
|
248
|
+
- [Contributing Guidelines](CONTRIBUTING.md)
|
|
249
|
+
- [Code of Conduct](CODE_OF_CONDUCT.md)
|
|
250
|
+
- [Security Policy](SECURITY.md)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bernova",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.2.0",
|
|
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
|
-
|
|
50
|
-
|
|
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
|
+
],
|
|
72
|
+
"license": "Apache-2.0",
|
|
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",
|