@hashtagcms/web-ui-kit 1.0.5

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 (123) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +164 -0
  3. package/bin/cli.js +139 -0
  4. package/package.json +51 -0
  5. package/src/themes/basic/fonts/FontAwesome.otf +0 -0
  6. package/src/themes/basic/fonts/fontawesome-webfont.eot +0 -0
  7. package/src/themes/basic/fonts/fontawesome-webfont.svg +2671 -0
  8. package/src/themes/basic/fonts/fontawesome-webfont.ttf +0 -0
  9. package/src/themes/basic/fonts/fontawesome-webfont.woff +0 -0
  10. package/src/themes/basic/fonts/fontawesome-webfont.woff2 +0 -0
  11. package/src/themes/basic/img/clouds.jpg +0 -0
  12. package/src/themes/basic/img/cms-box-1.png +0 -0
  13. package/src/themes/basic/img/cms-box-2.png +0 -0
  14. package/src/themes/basic/img/dfd.png +0 -0
  15. package/src/themes/basic/img/favicon.png +0 -0
  16. package/src/themes/basic/img/hasshtagcms-product-1.jpg +0 -0
  17. package/src/themes/basic/img/hasshtagcms-product-2.jpg +0 -0
  18. package/src/themes/basic/img/hasshtagcms-product-bg.jpg +0 -0
  19. package/src/themes/basic/img/hasshtagcms-product-with-text.jpg +0 -0
  20. package/src/themes/basic/img/hill.jpg +0 -0
  21. package/src/themes/basic/img/logo-transparent.png +0 -0
  22. package/src/themes/basic/img/logo-white-bg.jpg +0 -0
  23. package/src/themes/basic/img/qr-code.jpg +0 -0
  24. package/src/themes/basic/img/sunset.jpg +0 -0
  25. package/src/themes/basic/img/sunset2.jpg +0 -0
  26. package/src/themes/basic/img/user-default.jpg +0 -0
  27. package/src/themes/basic/js/app.js +9 -0
  28. package/src/themes/basic/sass/_basic.scss +410 -0
  29. package/src/themes/basic/sass/_variables.scss +12 -0
  30. package/src/themes/basic/sass/animate.css +1579 -0
  31. package/src/themes/basic/sass/app.scss +10 -0
  32. package/src/themes/basic/sass/font-awesome/HELP-US-OUT.txt +7 -0
  33. package/src/themes/basic/sass/font-awesome/css/font-awesome.css +2337 -0
  34. package/src/themes/basic/sass/font-awesome/css/font-awesome.min.css +4 -0
  35. package/src/themes/basic/sass/font-awesome/fonts/FontAwesome.otf +0 -0
  36. package/src/themes/basic/sass/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  37. package/src/themes/basic/sass/font-awesome/fonts/fontawesome-webfont.svg +2671 -0
  38. package/src/themes/basic/sass/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  39. package/src/themes/basic/sass/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  40. package/src/themes/basic/sass/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  41. package/src/themes/basic/sass/font-awesome/scss/_animated.scss +34 -0
  42. package/src/themes/basic/sass/font-awesome/scss/_bordered-pulled.scss +25 -0
  43. package/src/themes/basic/sass/font-awesome/scss/_core.scss +12 -0
  44. package/src/themes/basic/sass/font-awesome/scss/_fixed-width.scss +6 -0
  45. package/src/themes/basic/sass/font-awesome/scss/_icons.scss +789 -0
  46. package/src/themes/basic/sass/font-awesome/scss/_larger.scss +13 -0
  47. package/src/themes/basic/sass/font-awesome/scss/_list.scss +19 -0
  48. package/src/themes/basic/sass/font-awesome/scss/_mixins.scss +60 -0
  49. package/src/themes/basic/sass/font-awesome/scss/_path.scss +15 -0
  50. package/src/themes/basic/sass/font-awesome/scss/_rotated-flipped.scss +20 -0
  51. package/src/themes/basic/sass/font-awesome/scss/_screen-reader.scss +5 -0
  52. package/src/themes/basic/sass/font-awesome/scss/_stacked.scss +20 -0
  53. package/src/themes/basic/sass/font-awesome/scss/_variables.scss +799 -0
  54. package/src/themes/basic/sass/font-awesome/scss/font-awesome.scss +18 -0
  55. package/src/themes/basic/views/_layout_/index.blade.php +73 -0
  56. package/src/themes/basic/views/_layout_/lottie.blade.php +50 -0
  57. package/src/themes/basic/views/_services_/index.blade.php +10 -0
  58. package/src/themes/basic/views/auth/login.blade.php +90 -0
  59. package/src/themes/basic/views/auth/passwords/email.blade.php +112 -0
  60. package/src/themes/basic/views/auth/passwords/reset.blade.php +63 -0
  61. package/src/themes/basic/views/auth/register.blade.php +73 -0
  62. package/src/themes/basic/views/auth/verify.blade.php +23 -0
  63. package/src/themes/basic/views/blog.blade.php +28 -0
  64. package/src/themes/basic/views/category-text.blade.php +1 -0
  65. package/src/themes/basic/views/contact.blade.php +64 -0
  66. package/src/themes/basic/views/copyright.blade.php +33 -0
  67. package/src/themes/basic/views/example/custom.blade.php +11 -0
  68. package/src/themes/basic/views/example/query.blade.php +36 -0
  69. package/src/themes/basic/views/example/queryservice.blade.php +38 -0
  70. package/src/themes/basic/views/example/service-later.blade.php +34 -0
  71. package/src/themes/basic/views/example/service.blade.php +24 -0
  72. package/src/themes/basic/views/example/urlservice.blade.php +27 -0
  73. package/src/themes/basic/views/footer.blade.php +31 -0
  74. package/src/themes/basic/views/header.blade.php +63 -0
  75. package/src/themes/basic/views/hero.blade.php +20 -0
  76. package/src/themes/basic/views/info.blade.php +46 -0
  77. package/src/themes/basic/views/our-speciality.blade.php +95 -0
  78. package/src/themes/basic/views/products.blade.php +20 -0
  79. package/src/themes/basic/views/profile.blade.php +88 -0
  80. package/src/themes/basic/views/seo.blade.php +31 -0
  81. package/src/themes/basic/views/social.blade.php +8 -0
  82. package/src/themes/basic/views/stories.blade.php +55 -0
  83. package/src/themes/basic/views/story-comments.blade.php +56 -0
  84. package/src/themes/basic/views/story.blade.php +103 -0
  85. package/src/themes/basic/views/subscribe.blade.php +23 -0
  86. package/src/themes/elegant/img/feature-ai.png +0 -0
  87. package/src/themes/elegant/img/feature-cloud.png +0 -0
  88. package/src/themes/elegant/img/hero-bg.png +0 -0
  89. package/src/themes/elegant/js/app.js +109 -0
  90. package/src/themes/elegant/sass/_elegant.scss +508 -0
  91. package/src/themes/elegant/sass/_variables.scss +42 -0
  92. package/src/themes/elegant/sass/app.scss +14 -0
  93. package/src/themes/elegant/views/_layout_/index.blade.php +73 -0
  94. package/src/themes/elegant/views/_layout_/lottie.blade.php +50 -0
  95. package/src/themes/elegant/views/_services_/index.blade.php +10 -0
  96. package/src/themes/elegant/views/auth/login.blade.php +90 -0
  97. package/src/themes/elegant/views/auth/passwords/email.blade.php +112 -0
  98. package/src/themes/elegant/views/auth/passwords/reset.blade.php +63 -0
  99. package/src/themes/elegant/views/auth/register.blade.php +73 -0
  100. package/src/themes/elegant/views/auth/verify.blade.php +23 -0
  101. package/src/themes/elegant/views/blog.blade.php +28 -0
  102. package/src/themes/elegant/views/category-text.blade.php +1 -0
  103. package/src/themes/elegant/views/contact.blade.php +64 -0
  104. package/src/themes/elegant/views/copyright.blade.php +33 -0
  105. package/src/themes/elegant/views/example/custom.blade.php +11 -0
  106. package/src/themes/elegant/views/example/query.blade.php +36 -0
  107. package/src/themes/elegant/views/example/queryservice.blade.php +38 -0
  108. package/src/themes/elegant/views/example/service-later.blade.php +34 -0
  109. package/src/themes/elegant/views/example/service.blade.php +24 -0
  110. package/src/themes/elegant/views/example/urlservice.blade.php +27 -0
  111. package/src/themes/elegant/views/footer.blade.php +31 -0
  112. package/src/themes/elegant/views/header.blade.php +63 -0
  113. package/src/themes/elegant/views/hero.blade.php +20 -0
  114. package/src/themes/elegant/views/info.blade.php +46 -0
  115. package/src/themes/elegant/views/our-speciality.blade.php +95 -0
  116. package/src/themes/elegant/views/products.blade.php +20 -0
  117. package/src/themes/elegant/views/profile.blade.php +88 -0
  118. package/src/themes/elegant/views/seo.blade.php +31 -0
  119. package/src/themes/elegant/views/social.blade.php +8 -0
  120. package/src/themes/elegant/views/stories.blade.php +55 -0
  121. package/src/themes/elegant/views/story-comments.blade.php +56 -0
  122. package/src/themes/elegant/views/story.blade.php +103 -0
  123. package/src/themes/elegant/views/subscribe.blade.php +23 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 HashtagCMS
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,164 @@
1
+ # @hashtagcms/web-ui-kit (Laravel/Blade)
2
+
3
+ > Frontend Themes and UI components for the HashtagCMS ecosystem
4
+
5
+ [![npm version](https://img.shields.io/npm/v/@hashtagcms/web-ui-kit.svg)](https://www.npmjs.com/package/@hashtagcms/web-ui-kit)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
7
+
8
+ This package contains frontend themes specifically designed for the **Blade/PHP (Laravel)** ecosystem of HashtagCMS. It uses the core functionality provided by `@hashtagcms/web-sdk` to share underlying logic across different designs.
9
+
10
+ > **Target Platform**: PHP / Laravel
11
+
12
+ ## Other Platforms
13
+ If you are looking for other implementations, please check:
14
+ * **Node.js**: [`@hashtagcms/web-ui-kit-nodejs`](https://github.com/hashtagcms/web-ui-kit-nodejs)
15
+ * **Java**: [`@hashtagcms/web-ui-kit-java`](https://github.com/hashtagcms/web-ui-kit-java) (Coming Soon)
16
+ * **Core SDK**: `@hashtagcms/web-sdk` (Shared JS Logic)
17
+
18
+ ## ✨ Features
19
+
20
+ - 🎨 **Multiple Themes** - Includes `basic` and `elegant` themes out of the box
21
+ - 🛠️ **Customizable** - Built with SCSS variables for easy branding
22
+ - 📦 **Modular** - Use source files or pre-compiled assets
23
+ - 🚀 **Framework Agnostic** - Works with any JavaScript framework
24
+ - 📱 **Responsive** - Mobile-first design
25
+ - ♿ **Accessible** - WCAG compliant
26
+
27
+ ## 📦 Installation
28
+
29
+ ### Installation
30
+
31
+ ```bash
32
+ npm install @hashtagcms/web-ui-kit
33
+ ```
34
+
35
+ ### Basic Usage
36
+
37
+ **Import in your SCSS:**
38
+ ```scss
39
+ @import "~@hashtagcms/web-ui-kit/src/themes/basic/sass/app";
40
+ ```
41
+
42
+ **In JavaScript:**
43
+ ```javascript
44
+ import '@hashtagcms/web-ui-kit/src/themes/basic/js/app';
45
+ ```
46
+
47
+ **In HTML:**
48
+ ```html
49
+ <link rel="stylesheet" href="node_modules/@hashtagcms/web-ui-kit/dist/themes/basic/app.css">
50
+ <script src="node_modules/@hashtagcms/web-ui-kit/dist/themes/basic/app.js"></script>
51
+ ```
52
+
53
+ ### 💻 CLI Usage
54
+
55
+ You can interactive copy assets (fonts, images, vendor files) from a theme to your project using the CLI.
56
+
57
+ ```bash
58
+ # Run the interactive setup
59
+ npx @hashtagcms/web-ui-kit init
60
+ ```
61
+
62
+ The CLI will ask you:
63
+ 1. Which theme you want to install
64
+ 2. Where to copy the assets (default: `./resources/assets/fe`)
65
+
66
+ The assets will be copied to `<destination>/<theme-name>/`.
67
+
68
+ ## 🎨 Available Themes
69
+
70
+ ### Basic Theme
71
+ Clean, traditional design perfect for content-focused websites.
72
+ - ✅ FontAwesome icons
73
+ - ✅ Bootstrap 5 styling
74
+ - ✅ Neutral color palette
75
+ - ✅ Subscribe form component
76
+
77
+ ### Elegant Theme
78
+ Modern, sophisticated design with smooth animations.
79
+ - ✅ Glass morphism effects
80
+ - ✅ Parallax scrolling
81
+ - ✅ Gradient text and buttons
82
+ - ✅ Card animations
83
+ - ✅ Dark color scheme
84
+
85
+ ## 📚 Documentation
86
+
87
+ - **[Getting Started](./docs/01-getting-started.md)** - Installation and basic usage
88
+ - **[Creating Themes](./docs/02-creating-themes.md)** - Step-by-step guide to create custom themes
89
+ - **[Theme Structure](./docs/03-theme-structure.md)** - Package organization and architecture
90
+ - **[API Reference](./docs/07-api-reference.md)** - Complete API documentation
91
+ - **[FAQ](./docs/08-faq.md)** - Frequently asked questions
92
+
93
+ ## 🚀 Creating a Custom Theme
94
+
95
+ ```bash
96
+ # 1. Create theme directory
97
+ mkdir -p src/themes/my-theme/{js,sass,img}
98
+
99
+ # 2. Create entry files
100
+ touch src/themes/my-theme/js/app.js
101
+ touch src/themes/my-theme/sass/app.scss
102
+
103
+ # 3. Build
104
+ npm run build
105
+ ```
106
+
107
+ See the [Creating Themes Guide](./docs/02-creating-themes.md) for detailed instructions.
108
+
109
+ ## 🛠️ Development
110
+
111
+ ### Build Commands
112
+
113
+ ```bash
114
+ # Development build
115
+ npm run dev
116
+
117
+ # Production build
118
+ npm run build
119
+
120
+ # Watch mode
121
+ npm run watch
122
+ ```
123
+
124
+ ### Project Structure
125
+
126
+ ```
127
+ @hashtagcms/web-ui-kit/
128
+ ├── src/
129
+ │ ├── themes/ # Individual themes
130
+ │ │ ├── basic/ # Basic theme using @hashtagcms/web-sdk
131
+ │ │ └── elegant/ # Elegant theme using @hashtagcms/web-sdk
132
+ ├── dist/ # Compiled assets
133
+ ├── docs/ # Documentation
134
+ └── package.json
135
+ ```
136
+
137
+ ## 🤝 Contributing
138
+
139
+ We welcome contributions! Please see our [Contributing Guide](./CONTRIBUTING.md) for details.
140
+
141
+ ### How to Contribute
142
+
143
+ 1. Fork the repository
144
+ 2. Create your theme or feature
145
+ 3. Test thoroughly
146
+ 4. Submit a pull request
147
+
148
+ ## 📄 License
149
+
150
+ [MIT](LICENSE) © HashtagCMS
151
+
152
+ ## 🆘 Support
153
+
154
+ - 📖 [Documentation](./docs/01-getting-started.md)
155
+ - 💬 [GitHub Discussions](https://github.com/hashtagcms/web-ui-kit/discussions)
156
+ - 🐛 [Report Issues](https://github.com/hashtagcms/web-ui-kit/issues)
157
+
158
+ ## 🌟 Showcase
159
+
160
+ Using @hashtagcms/web-ui-kit in your project? We'd love to feature it! Open an issue to share your work.
161
+
162
+ ---
163
+
164
+ Made with ❤️ by the HashtagCMS team
package/bin/cli.js ADDED
@@ -0,0 +1,139 @@
1
+ #!/usr/bin/env node
2
+
3
+ const inquirer = require('inquirer');
4
+ const fs = require('fs-extra');
5
+ const path = require('path');
6
+ const chalk = require('chalk');
7
+
8
+ async function run() {
9
+ try {
10
+ // Resolve the source path (the themes folder inside this package)
11
+ const sourcePath = path.resolve(__dirname, '../src/themes');
12
+
13
+ if (!fs.existsSync(sourcePath)) {
14
+ console.error(chalk.red(`Error: Source themes directory not found at ${sourcePath}`));
15
+ process.exit(1);
16
+ }
17
+
18
+ // Get all available themes
19
+ const themes = await fs.readdir(sourcePath);
20
+ const validThemes = [];
21
+
22
+ for (const theme of themes) {
23
+ if ((await fs.stat(path.join(sourcePath, theme))).isDirectory()) {
24
+ validThemes.push(theme);
25
+ }
26
+ }
27
+
28
+ if (validThemes.length === 0) {
29
+ console.error(chalk.red('Error: No themes found in the package.'));
30
+ process.exit(1);
31
+ }
32
+
33
+ const questions = [
34
+ {
35
+ type: 'list',
36
+ name: 'theme',
37
+ message: 'Which theme would you like to install?',
38
+ choices: validThemes,
39
+ },
40
+ {
41
+ type: 'input',
42
+ name: 'destination',
43
+ message: 'Where would you like to copy the assets?',
44
+ default: './resources/assets/fe',
45
+ },
46
+ ];
47
+
48
+ const answers = await inquirer.prompt(questions);
49
+
50
+ // Resolve the destination path based on the user's input (relative to their project root)
51
+ const destinationPath = path.resolve(process.cwd(), answers.destination);
52
+
53
+ // Selected theme path
54
+ const selectedThemePath = path.join(sourcePath, answers.theme);
55
+
56
+ console.log(chalk.blue(`Copying assets for theme '${answers.theme}'...`));
57
+
58
+ // Copy only specific asset folders
59
+ const assets = ['img', 'fonts', 'images', 'vendor'];
60
+ let copiedCount = 0;
61
+
62
+ for (const asset of assets) {
63
+ const assetSrc = path.join(selectedThemePath, asset);
64
+ // Destination structure: destination/themeName/assetFolder
65
+ // Example: ./resources/assets/fe/basic/img
66
+ const assetDest = path.join(destinationPath, answers.theme, asset);
67
+
68
+ if (await fs.pathExists(assetSrc)) {
69
+ // Copy the files recursively
70
+ await fs.copy(assetSrc, assetDest);
71
+ console.log(chalk.gray(`✓ Copied ${answers.theme}/${asset}`));
72
+ copiedCount++;
73
+ }
74
+ }
75
+
76
+ if (copiedCount === 0) {
77
+ console.warn(chalk.yellow(`No assets (${assets.join(', ')}) were found to copy for theme '${answers.theme}'.`));
78
+ } else {
79
+ // Log a success message in green
80
+ console.log(chalk.green(`\nSuccess! Assets for '${answers.theme}' copied to ${answers.destination}/${answers.theme}`));
81
+ }
82
+
83
+ // Ask about copying views
84
+ const viewQuestions = [
85
+ {
86
+ type: 'confirm',
87
+ name: 'copyViews',
88
+ message: 'Do you also want to publish the theme templates (views)?',
89
+ default: false,
90
+ },
91
+ {
92
+ type: 'input',
93
+ name: 'viewDestination',
94
+ message: 'Where should the views be stored?',
95
+ default: './resources/views/fe',
96
+ when: (answers) => answers.copyViews,
97
+ },
98
+ ];
99
+
100
+ const viewAnswers = await inquirer.prompt(viewQuestions);
101
+
102
+ if (viewAnswers.copyViews) {
103
+ const viewsSrc = path.join(selectedThemePath, 'views');
104
+ const viewsDest = path.resolve(process.cwd(), viewAnswers.viewDestination, answers.theme);
105
+
106
+ if (await fs.pathExists(viewsSrc)) {
107
+
108
+ // Check for overwrite
109
+ let shouldCopy = true;
110
+ if (await fs.pathExists(viewsDest)) {
111
+ const overwriteAnswer = await inquirer.prompt([{
112
+ type: 'confirm',
113
+ name: 'overwrite',
114
+ message: `Views folder already exists at ${viewsDest}. Overwrite?`,
115
+ default: false,
116
+ }]);
117
+ shouldCopy = overwriteAnswer.overwrite;
118
+ }
119
+
120
+ if (shouldCopy) {
121
+ console.log(chalk.blue(`Copying views...`));
122
+ await fs.copy(viewsSrc, viewsDest);
123
+ console.log(chalk.green(`\nSuccess! Views copied to ${viewAnswers.viewDestination}/${answers.theme}`));
124
+ } else {
125
+ console.log(chalk.yellow('Skipped copying views.'));
126
+ }
127
+
128
+ } else {
129
+ console.warn(chalk.yellow(`No 'views' folder found in theme '${answers.theme}'.`));
130
+ }
131
+ }
132
+
133
+ } catch (error) {
134
+ console.error(chalk.red('Error copying assets:'), error);
135
+ process.exit(1);
136
+ }
137
+ }
138
+
139
+ run();
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "@hashtagcms/web-ui-kit",
3
+ "version": "1.0.5",
4
+ "author": {
5
+ "name": "HashtagCMS",
6
+ "url": "https://github.com/hashtagcms"
7
+ },
8
+ "description": "Laravel Frontend Themes and Core Logic for HashtagCMS",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/hashtagcms/web-ui-kit.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/hashtagcms/web-ui-kit/issues"
15
+ },
16
+ "homepage": "https://github.com/hashtagcms/web-ui-kit#readme",
17
+ "bin": {
18
+ "web-ui-kit": "bin/cli.js"
19
+ },
20
+ "files": [
21
+ "src",
22
+ "bin"
23
+ ],
24
+ "scripts": {
25
+ "test": "echo \"Error: no test specified\" && exit 1",
26
+ "dev": "webpack --mode development --progress --color",
27
+ "prod": "webpack --mode production --progress --color",
28
+ "build": "npm run prod",
29
+ "watch": "webpack --mode development --watch --progress --color"
30
+ },
31
+ "devDependencies": {
32
+ "@babel/core": "^7.23.0",
33
+ "@babel/preset-env": "^7.23.0",
34
+ "babel-loader": "^9.1.0",
35
+ "copy-webpack-plugin": "^11.0.0",
36
+ "css-loader": "^6.8.0",
37
+ "mini-css-extract-plugin": "^2.7.0",
38
+ "sass": "^1.69.0",
39
+ "sass-loader": "^13.3.0",
40
+ "webpack": "^5.89.0",
41
+ "webpack-cli": "^5.1.0"
42
+ },
43
+ "dependencies": {
44
+ "axios": "^1.8.0",
45
+ "bootstrap": "^5.3.3",
46
+ "chalk": "^4.1.2",
47
+ "fs-extra": "^11.3.3",
48
+ "inquirer": "^8.2.7",
49
+ "@hashtagcms/web-sdk": "^1.0.0"
50
+ }
51
+ }