bernova 1.3.2 → 1.4.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 +71 -101
- package/README.md +129 -12
- package/package.json +7 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,165 +1,135 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
|
|
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).
|
|
3
|
+
## 1.4.0
|
|
7
4
|
|
|
8
|
-
|
|
5
|
+
### Minor Changes
|
|
9
6
|
|
|
10
|
-
|
|
7
|
+
- Add documentation about changeset and automations workflows
|
|
8
|
+
- Add documentation about changeset and automations workflows
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
- **Deleted multiple ora instances**: Delete the multiple ora instances to prevent failures
|
|
10
|
+
All notable changes to Bernova will be documented in this file.
|
|
14
11
|
|
|
15
|
-
|
|
12
|
+
The format uses [Changesets](https://github.com/changesets/changesets) for automated version management and changelog generation.
|
|
16
13
|
|
|
17
|
-
|
|
14
|
+
## 1.3.2
|
|
18
15
|
|
|
19
|
-
|
|
16
|
+
### Patch Changes
|
|
20
17
|
|
|
21
|
-
|
|
18
|
+
- Fixed js modules compability when transpiled with ts-node
|
|
19
|
+
- Deleted multiple ora instances to prevent failures
|
|
22
20
|
|
|
23
|
-
|
|
21
|
+
## 1.3.1
|
|
24
22
|
|
|
25
|
-
|
|
23
|
+
### Patch Changes
|
|
26
24
|
|
|
27
|
-
|
|
25
|
+
- Prevent minify providerTemplate.js file
|
|
28
26
|
|
|
29
|
-
|
|
27
|
+
## 1.3.0
|
|
30
28
|
|
|
31
|
-
|
|
32
|
-
- **Fixed the css minified name**: Fixed the minified css name
|
|
29
|
+
### Minor Changes
|
|
33
30
|
|
|
34
|
-
|
|
31
|
+
- Added --embed-css flag for embedded styles functionality
|
|
35
32
|
|
|
36
|
-
|
|
33
|
+
## 1.2.2
|
|
37
34
|
|
|
38
|
-
|
|
39
|
-
- **Fixed the css custom output dir**: Fixed the custom css output dir
|
|
35
|
+
### Patch Changes
|
|
40
36
|
|
|
41
|
-
|
|
37
|
+
- Fixed the css generated into js modules folder
|
|
38
|
+
- Fixed the css minified name
|
|
42
39
|
|
|
43
|
-
|
|
40
|
+
## 1.2.1
|
|
44
41
|
|
|
45
|
-
|
|
42
|
+
### Patch Changes
|
|
46
43
|
|
|
47
|
-
|
|
44
|
+
- Fixed the package.json dependencies types
|
|
45
|
+
- Fixed the css custom output dir
|
|
48
46
|
|
|
49
|
-
|
|
47
|
+
## 1.2.0
|
|
50
48
|
|
|
51
|
-
###
|
|
49
|
+
### Minor Changes
|
|
52
50
|
|
|
53
|
-
-
|
|
51
|
+
- Added new bv-build cli flags: baseOutDir, rootDir, preventMoveJS, preventMoveDTS and preventProcessJS
|
|
54
52
|
|
|
55
|
-
|
|
53
|
+
### Patch Changes
|
|
56
54
|
|
|
57
|
-
|
|
55
|
+
- Prevent minify declaration files with terser
|
|
58
56
|
|
|
59
|
-
|
|
57
|
+
## 1.1.0
|
|
60
58
|
|
|
61
|
-
###
|
|
59
|
+
### Minor Changes
|
|
62
60
|
|
|
63
|
-
-
|
|
61
|
+
- Added cli bv-build flags to overwrite css, tools and provider customOutDirs
|
|
64
62
|
|
|
65
|
-
###
|
|
63
|
+
### Patch Changes
|
|
66
64
|
|
|
67
|
-
-
|
|
65
|
+
- Prevent transpile declaration files
|
|
68
66
|
|
|
69
|
-
##
|
|
67
|
+
## 1.0.1
|
|
70
68
|
|
|
71
|
-
###
|
|
69
|
+
### Patch Changes
|
|
72
70
|
|
|
73
|
-
-
|
|
71
|
+
- Semantic problem solved: change target for targets
|
|
72
|
+
- Added the bernova build script example
|
|
73
|
+
- Added the instalation examples with npm and yarn
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
## 1.0.0
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
- **Added the instalation examples with anothers packages manager**: Added examples for `'npm'` and `'yarn`
|
|
77
|
+
### Major Changes
|
|
79
78
|
|
|
80
|
-
|
|
79
|
+
- **Initial stable release** - Production ready CSS-in-JS framework
|
|
81
80
|
|
|
82
|
-
###
|
|
81
|
+
### Minor Changes
|
|
83
82
|
|
|
84
|
-
-
|
|
85
|
-
-
|
|
83
|
+
- Improve library styles and tools build/dist
|
|
84
|
+
- Improve provider router handler for relative doc routes
|
|
86
85
|
|
|
87
|
-
###
|
|
86
|
+
### Patch Changes
|
|
88
87
|
|
|
89
|
-
-
|
|
90
|
-
-
|
|
88
|
+
- Fixed the doc routes: Change absolute routes for relative routes
|
|
89
|
+
- Fixed Error in partial transpilation for --foundationsOnly and --componentsOnly flags
|
|
91
90
|
|
|
92
|
-
##
|
|
91
|
+
## 0.3.0
|
|
93
92
|
|
|
94
|
-
###
|
|
93
|
+
### Minor Changes
|
|
95
94
|
|
|
96
95
|
- **Modern Build System**: Migrated to Vite 7 with TypeScript configuration for improved build performance
|
|
97
96
|
- **Dual Package Support**: Added ESM (`.mjs`) and CommonJS (`.cjs`) support for better compatibility across different module systems
|
|
98
|
-
- **Custom Build Plugins**: Implemented 4 specialized Vite plugins
|
|
99
|
-
- `copyCSSPlugin`: Minifies and copies CSS files
|
|
100
|
-
- `copyCLIBinariesPlugin`: Preserves CLI executables with proper shebangs
|
|
101
|
-
- `copySourcePlugin`: Minifies source files with aggressive optimization
|
|
102
|
-
- `removeTestFilesPlugin`: Ensures test files are excluded from distribution
|
|
103
|
-
|
|
104
|
-
### 🚀 Performance Improvements
|
|
105
|
-
|
|
97
|
+
- **Custom Build Plugins**: Implemented 4 specialized Vite plugins (copyCSSPlugin, copyCLIBinariesPlugin, copySourcePlugin, removeTestFilesPlugin)
|
|
106
98
|
- **Ultra-optimized Bundle**: Reduced package size from 56.4 KB to 41.4 KB (27% reduction)
|
|
107
99
|
- **Aggressive Minification**: Implemented Terser with 3-pass optimization removing all comments
|
|
108
100
|
- **Tree-shaking**: Enhanced dead code elimination for smaller bundles
|
|
109
|
-
- **Zero JSDoc in Distribution**: Removed all TSDoc comments as they're unnecessary for CLI tools
|
|
110
|
-
|
|
111
|
-
### 📚 Documentation
|
|
112
|
-
|
|
113
|
-
- **Professional README**: Added comprehensive badges (npm version, downloads, license, coverage, PRs welcome)
|
|
114
|
-
- **Package Distribution**: Created `.npmignore` to exclude unnecessary files from npm package
|
|
115
|
-
- **Modern Package Exports**: Updated `package.json` with conditional exports for better module resolution
|
|
116
|
-
|
|
117
|
-
### 🔧 Infrastructure
|
|
118
|
-
|
|
119
|
-
- **TypeScript Build Configuration**: Separated development and production TypeScript configs (`tsconfig.build.json`)
|
|
120
|
-
- **Node.js Compatibility**: Maintained Node.js >=20.0.0 target with ES2020 output
|
|
121
|
-
- **Build Validation**: Enhanced CI/CD with proper build verification steps
|
|
122
101
|
|
|
123
|
-
|
|
102
|
+
### Patch Changes
|
|
124
103
|
|
|
125
|
-
|
|
104
|
+
- Professional README with comprehensive badges
|
|
105
|
+
- Created `.npmignore` to exclude unnecessary files from npm package
|
|
106
|
+
- Updated `package.json` with conditional exports for better module resolution
|
|
107
|
+
- Separated development and production TypeScript configs (`tsconfig.build.json`)
|
|
108
|
+
- Enhanced CI/CD with proper build verification steps
|
|
126
109
|
|
|
127
|
-
|
|
128
|
-
- **Package management**: Improved gitignore configuration to exclude package-lock.json for better npm/yarn compatibility
|
|
110
|
+
## 0.1.2
|
|
129
111
|
|
|
130
|
-
###
|
|
112
|
+
### Patch Changes
|
|
131
113
|
|
|
114
|
+
- Changed project license from ISC to Apache-2.0 for better open source compliance
|
|
115
|
+
- Improved gitignore configuration to exclude package-lock.json
|
|
132
116
|
- Removed package-lock.json file from version control to avoid package manager conflicts
|
|
133
117
|
|
|
134
|
-
##
|
|
135
|
-
|
|
136
|
-
### 🐛 Fixed
|
|
137
|
-
|
|
138
|
-
- **Build system**: Resolved NPM versioning and authentication issues
|
|
139
|
-
- **Package metadata**: Improved package.json with complete metadata for open source distribution
|
|
140
|
-
- **Workflow automation**: Fixed auto-publish workflow build validation and authentication verification
|
|
141
|
-
|
|
142
|
-
### 🔧 Changed
|
|
143
|
-
|
|
144
|
-
- **Node.js compatibility**: Updated minimum Node.js version requirements
|
|
145
|
-
- **Build optimization**: Enhanced build process for better distribution
|
|
146
|
-
|
|
147
|
-
## [0.1.0] - 2025-10-21
|
|
148
|
-
|
|
149
|
-
All notable changes to Bernova will be documented in this file.
|
|
150
|
-
|
|
151
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
152
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
118
|
+
## 0.1.1
|
|
153
119
|
|
|
154
|
-
|
|
120
|
+
### Patch Changes
|
|
155
121
|
|
|
156
|
-
|
|
122
|
+
- Resolved NPM versioning and authentication issues
|
|
123
|
+
- Improved package.json with complete metadata for open source distribution
|
|
124
|
+
- Fixed auto-publish workflow build validation and authentication verification
|
|
125
|
+
- Updated minimum Node.js version requirements
|
|
126
|
+
- Enhanced build process for better distribution
|
|
157
127
|
|
|
158
|
-
##
|
|
128
|
+
## 0.1.0
|
|
159
129
|
|
|
160
|
-
###
|
|
130
|
+
### Minor Changes
|
|
161
131
|
|
|
162
|
-
|
|
132
|
+
- **Initial Release** - Bernova CSS-in-JS framework
|
|
163
133
|
|
|
164
134
|
### ✨ Core Features
|
|
165
135
|
|
package/README.md
CHANGED
|
@@ -52,6 +52,11 @@
|
|
|
52
52
|
- [Provider](#library-provider)
|
|
53
53
|
- [Foreign CSS documents](#foreign-css-documents)
|
|
54
54
|
- [Compiler Options](#compiler-options)
|
|
55
|
+
- [Contributing](#contributing)
|
|
56
|
+
- [Branch Naming](#branch-naming-required)
|
|
57
|
+
- [PR Title Format](#pr-title-format-required)
|
|
58
|
+
- [Commit Guidelines](#commit-message-guidelines)
|
|
59
|
+
- [Automated Workflow](#automated-workflow)
|
|
55
60
|
|
|
56
61
|
## Installation
|
|
57
62
|
|
|
@@ -651,16 +656,16 @@ const BUTTON = {
|
|
|
651
656
|
color: 'white',
|
|
652
657
|
$pseudoClasses: {
|
|
653
658
|
active: {
|
|
654
|
-
background_color: '#ac0202'
|
|
659
|
+
background_color: '#ac0202',
|
|
655
660
|
},
|
|
656
661
|
hover: {
|
|
657
662
|
background_color: '#e94141',
|
|
658
663
|
},
|
|
659
664
|
focus: {
|
|
660
665
|
border_color: '#0000ff',
|
|
661
|
-
}
|
|
662
|
-
}
|
|
663
|
-
}
|
|
666
|
+
},
|
|
667
|
+
},
|
|
668
|
+
};
|
|
664
669
|
```
|
|
665
670
|
|
|
666
671
|
The result of this when transpiling is:
|
|
@@ -1479,8 +1484,15 @@ table {
|
|
|
1479
1484
|
}
|
|
1480
1485
|
@supports (font: system-ui) {
|
|
1481
1486
|
html {
|
|
1482
|
-
font:
|
|
1483
|
-
|
|
1487
|
+
font:
|
|
1488
|
+
system-ui,
|
|
1489
|
+
-apple-system,
|
|
1490
|
+
Segoe UI,
|
|
1491
|
+
Roboto,
|
|
1492
|
+
Ubuntu,
|
|
1493
|
+
Cantarell,
|
|
1494
|
+
Noto Sans,
|
|
1495
|
+
sans-serif;
|
|
1484
1496
|
}
|
|
1485
1497
|
}
|
|
1486
1498
|
```
|
|
@@ -1845,18 +1857,17 @@ When publishing our projects, depending of the packager configuration, it is nec
|
|
|
1845
1857
|
- **preventMoveDTS**: When set to `true`, TypeScript declaration files (.d.ts) will not be copied to the output directory. Set this to `true` if you're handling type definitions through another process.
|
|
1846
1858
|
|
|
1847
1859
|
- **types**: An array that specifies the module formats to generate. Accepts `"cjs"` (Commonjs) and/or `"esm"` (ES Modules). For each type specified, Bernova will create a separate folder and transpile the code accordingly.
|
|
1848
|
-
|
|
1849
1860
|
- `"cjs"`: Generate CommonJS modules for node.js compability.
|
|
1850
1861
|
- `"esm"`: Generate ES Modules for modern JavaScript environments
|
|
1851
1862
|
|
|
1852
1863
|
- **customOutDirs**: An optional object that allows you to specify custom output directories for different file types, overriding the default structure:
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1864
|
+
- `"css"`: Custom output path for CSS files
|
|
1865
|
+
- `"provider"`: Custom output path for provider file
|
|
1866
|
+
- `"tools"`: Custom output path for tools files (cssVars, cssClasses, etc)
|
|
1856
1867
|
|
|
1857
1868
|
- **embedCss**: When set to `'true'`, instead of generating a static CSS file, the styles generated by Bernova will be embedded.
|
|
1858
1869
|
|
|
1859
|
-
|
|
1870
|
+
### Overwrite or set a single customOutDirs
|
|
1860
1871
|
|
|
1861
1872
|
You may need to run the bv-build script in multiple outputs, and the bernova.config.json file configuration only supports one path. In these cases, you can use flags to specify the output path for the specific case.
|
|
1862
1873
|
|
|
@@ -1901,4 +1912,110 @@ npx bv-build --prevent-process-js
|
|
|
1901
1912
|
|
|
1902
1913
|
# Embed styles
|
|
1903
1914
|
npx bv-build --embed-css
|
|
1904
|
-
```
|
|
1915
|
+
```
|
|
1916
|
+
|
|
1917
|
+
---
|
|
1918
|
+
|
|
1919
|
+
## Contributing
|
|
1920
|
+
|
|
1921
|
+
We welcome contributions to **Bernova**! This project uses **[Changesets](https://github.com/changesets/changesets)** for automated version management and publishing.
|
|
1922
|
+
|
|
1923
|
+
### Quick Start for Contributors
|
|
1924
|
+
|
|
1925
|
+
1. **Fork the repository** on GitHub
|
|
1926
|
+
2. **Clone your fork** locally
|
|
1927
|
+
3. **Create a branch** following our naming conventions
|
|
1928
|
+
4. **Make your changes** with good commit messages
|
|
1929
|
+
5. **Push to your fork** and open a Pull Request
|
|
1930
|
+
|
|
1931
|
+
### Branch Naming (Required)
|
|
1932
|
+
|
|
1933
|
+
Your branch name determines the version bump type:
|
|
1934
|
+
|
|
1935
|
+
| Branch Pattern | Version Bump | Example |
|
|
1936
|
+
| --------------------------------------- | ------------------------- | -------------------- |
|
|
1937
|
+
| `feat/` or `feature/` | **MINOR** (1.3.2 → 1.4.0) | `feat/grid-system` |
|
|
1938
|
+
| `fix/` or `bugfix/` | **PATCH** (1.3.2 → 1.3.3) | `fix/button-styling` |
|
|
1939
|
+
| `break/` or `breaking/` | **MAJOR** (1.3.2 → 2.0.0) | `break/api-redesign` |
|
|
1940
|
+
| `docs/`, `chore/`, `refactor/`, `test/` | **PATCH** | `docs/update-readme` |
|
|
1941
|
+
|
|
1942
|
+
### PR Title Format (Required)
|
|
1943
|
+
|
|
1944
|
+
Follow [Conventional Commits](https://www.conventionalcommits.org/):
|
|
1945
|
+
|
|
1946
|
+
```
|
|
1947
|
+
<type>: <description>
|
|
1948
|
+
```
|
|
1949
|
+
|
|
1950
|
+
**Examples:**
|
|
1951
|
+
|
|
1952
|
+
- ✅ `feat: add responsive grid system`
|
|
1953
|
+
- ✅ `fix: resolve button hover state issue`
|
|
1954
|
+
- ✅ `docs: update installation guide`
|
|
1955
|
+
- ✅ `feat(css): add spacing utility classes`
|
|
1956
|
+
- ✅ `fix(build): resolve minification error`
|
|
1957
|
+
|
|
1958
|
+
**Breaking changes:**
|
|
1959
|
+
|
|
1960
|
+
```
|
|
1961
|
+
<type>!: <description>
|
|
1962
|
+
```
|
|
1963
|
+
|
|
1964
|
+
- ✅ `feat!: redesign CSS variable naming`
|
|
1965
|
+
- ✅ `refactor(api)!: change provider interface`
|
|
1966
|
+
|
|
1967
|
+
### Commit Message Guidelines
|
|
1968
|
+
|
|
1969
|
+
While branch names determine versioning, **good commit messages are essential** for code review and maintainability:
|
|
1970
|
+
|
|
1971
|
+
```bash
|
|
1972
|
+
# Good commit messages
|
|
1973
|
+
git commit -m "feat(css): add margin utility classes"
|
|
1974
|
+
git commit -m "fix(build): resolve TypeScript compilation error"
|
|
1975
|
+
git commit -m "docs(readme): add usage examples"
|
|
1976
|
+
git commit -m "refactor(core): simplify style generation logic"
|
|
1977
|
+
git commit -m "test(unit): add tests for CSS parser"
|
|
1978
|
+
```
|
|
1979
|
+
|
|
1980
|
+
### Automated Workflow
|
|
1981
|
+
|
|
1982
|
+
When you open a PR:
|
|
1983
|
+
|
|
1984
|
+
1. **Automated validation** checks branch name, PR title, tests, and code quality
|
|
1985
|
+
2. **Bot comments** with validation results and expected version bump
|
|
1986
|
+
3. **On merge**, changeset is auto-generated
|
|
1987
|
+
4. **Version is bumped** automatically
|
|
1988
|
+
5. **CHANGELOG is updated**
|
|
1989
|
+
6. **Package is built and published** to NPM
|
|
1990
|
+
7. **GitHub Release is created**
|
|
1991
|
+
8. **PR comment** confirms the published version
|
|
1992
|
+
|
|
1993
|
+
**No manual changeset needed - it's all automatic!** 🚀
|
|
1994
|
+
|
|
1995
|
+
### PR Validation Checks
|
|
1996
|
+
|
|
1997
|
+
✅ Branch naming follows conventions
|
|
1998
|
+
✅ PR title follows conventional commits
|
|
1999
|
+
✅ TypeScript type checking passes
|
|
2000
|
+
✅ All tests pass
|
|
2001
|
+
✅ No `console.log` in production code
|
|
2002
|
+
✅ TODOs reference GitHub issues
|
|
2003
|
+
✅ Documentation updated for new features
|
|
2004
|
+
|
|
2005
|
+
For detailed contributing guidelines, see [CONTRIBUTING.md](./CONTRIBUTING.md).
|
|
2006
|
+
|
|
2007
|
+
---
|
|
2008
|
+
|
|
2009
|
+
## License
|
|
2010
|
+
|
|
2011
|
+
This project is licensed under the Apache-2.0 License - see the [LICENSE](./LICENSE) file for details.
|
|
2012
|
+
|
|
2013
|
+
## Links
|
|
2014
|
+
|
|
2015
|
+
- [NPM Package](https://www.npmjs.com/package/bernova)
|
|
2016
|
+
- [GitHub Repository](https://github.com/kubit-ui/bernova)
|
|
2017
|
+
- [Issues](https://github.com/kubit-ui/bernova/issues)
|
|
2018
|
+
- [Contributing Guidelines](./CONTRIBUTING.md)
|
|
2019
|
+
- [Code of Conduct](./CODE_OF_CONDUCT.md)
|
|
2020
|
+
- [Security Policy](./SECURITY.md)
|
|
2021
|
+
- [Changelog](./CHANGELOG.md)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bernova",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "The best way to write CSS with Javascript syntax",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
},
|
|
87
87
|
"devDependencies": {
|
|
88
88
|
"@babel/cli": "^7.28.3",
|
|
89
|
+
"@changesets/cli": "^2.29.8",
|
|
89
90
|
"@vitejs/plugin-legacy": "^6.1.1",
|
|
90
91
|
"@vitest/coverage-v8": "3.2.4",
|
|
91
92
|
"@vitest/ui": "^3.2.4",
|
|
@@ -122,6 +123,10 @@
|
|
|
122
123
|
"test:coverage": "vitest run --coverage",
|
|
123
124
|
"test:ci": "vitest --coverage.enabled=true --silent --run ",
|
|
124
125
|
"clean": "rm -rf dist types",
|
|
125
|
-
"postinstall": "echo 'postinstall'"
|
|
126
|
+
"postinstall": "echo 'postinstall'",
|
|
127
|
+
"changeset": "changeset",
|
|
128
|
+
"changeset:version": "changeset version",
|
|
129
|
+
"changeset:publish": "changeset publish",
|
|
130
|
+
"changeset:status": "changeset status --verbose"
|
|
126
131
|
}
|
|
127
132
|
}
|