@benjos/create-boilerplate 1.0.3 → 1.3.2

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 (48) hide show
  1. package/README.md +24 -12
  2. package/dist/index.js +8 -6
  3. package/dist/index.js.map +1 -1
  4. package/package.json +4 -3
  5. package/template-react/.prettierignore +6 -0
  6. package/template-react/.prettierrc +10 -0
  7. package/template-react/assets_source/.gitkeep +0 -0
  8. package/template-react/eslint.config.js +23 -0
  9. package/template-react/index.html +17 -0
  10. package/template-react/package-lock.json +4492 -0
  11. package/template-react/package.json +47 -0
  12. package/template-react/public/assets/fonts/LICENSE +13 -0
  13. package/template-react/public/assets/fonts/template.typeface.json +1 -0
  14. package/template-react/public/assets/hdrs/template.hdr +0 -0
  15. package/template-react/public/assets/icons/benjosLogoBlack.svg +5 -0
  16. package/template-react/public/assets/loaders/draco/README.md +32 -0
  17. package/template-react/public/assets/loaders/draco/draco_decoder.js +34 -0
  18. package/template-react/public/assets/loaders/draco/draco_decoder.wasm +0 -0
  19. package/template-react/public/assets/loaders/draco/draco_encoder.js +33 -0
  20. package/template-react/public/assets/loaders/draco/draco_wasm_wrapper.js +117 -0
  21. package/template-react/public/assets/loaders/draco/gltf/draco_decoder.js +33 -0
  22. package/template-react/public/assets/loaders/draco/gltf/draco_decoder.wasm +0 -0
  23. package/template-react/public/assets/loaders/draco/gltf/draco_encoder.js +33 -0
  24. package/template-react/public/assets/loaders/draco/gltf/draco_wasm_wrapper.js +116 -0
  25. package/template-react/public/assets/models/template.glb +0 -0
  26. package/template-react/public/assets/textures/template.jpg +0 -0
  27. package/template-react/readme.md +31 -0
  28. package/template-react/src/App.css +42 -0
  29. package/template-react/src/App.tsx +14 -0
  30. package/template-react/src/index.css +68 -0
  31. package/template-react/src/main.tsx +10 -0
  32. package/template-react/tsconfig.app.json +28 -0
  33. package/template-react/tsconfig.json +7 -0
  34. package/template-react/tsconfig.node.json +26 -0
  35. package/template-react/vite.config.ts +29 -0
  36. package/template-vanilla/eslint.config.js +11 -0
  37. package/template-vanilla/package-lock.json +3739 -3739
  38. package/template-vanilla/package.json +2 -2
  39. package/template-vanilla/readme.md +2 -20
  40. package/template-vanilla/src/experiences/Experience.ts +7 -0
  41. package/template-vanilla/src/experiences/constants/experiences/ViewType.ts +6 -0
  42. package/template-vanilla/src/experiences/proxies/ViewProxy.ts +15 -0
  43. package/template-vanilla/src/experiences/views/bases/ViewBase.ts +14 -3
  44. package/template-vanilla/src/experiences/views/htmls/bases/HTMLViewBase.ts +2 -1
  45. package/template-vanilla/src/experiences/views/threes/bases/ThreeViewBase.ts +2 -1
  46. package/template-vanilla/src/experiences/views/threes/loaders/LoaderThreeView.ts +1 -0
  47. package/template-vanilla/docs/PUBLISHING.md +0 -30
  48. package/template-vanilla/tsconfig.json +0 -24
package/README.md CHANGED
@@ -1,26 +1,38 @@
1
1
  # šŸ“¦ @benjos/create-boilerplate
2
2
 
3
- CLI to scaffold Three.js projects.
3
+ CLI to scaffold Three.js projects with framework support.
4
4
 
5
- ## šŸš€ Usage
5
+ ## šŸš€ Quick Start
6
6
 
7
7
  ```bash
8
- npm create @benjos/boilerplate@latest [project-name]
9
- ```
8
+ # Interactive mode
9
+ npm create @benjos/boilerplate@latest
10
10
 
11
- ## šŸ”§ Local Development
11
+ # With project name
12
+ npm create @benjos/boilerplate@latest my-threejs-app
12
13
 
13
- ```bash
14
- git clone https://github.com/LeBenjos/boilerplate.git
15
- cd boilerplate/packages/cli
16
- npm install && npm run build && npm link
14
+ # In current directory
15
+ npm create @benjos/boilerplate@latest .
17
16
  ```
18
17
 
19
- Test: `create-boilerplate`
18
+ ## ✨ Features
19
+
20
+ Choose your framework:
21
+ - **Vanilla** → Three.js + TypeScript + HTML views
22
+ - **React** → Three.js + TypeScript + React components
23
+
24
+ Both templates include:
25
+ - ⚔ Vite for fast development
26
+ - šŸŽØ GLSL shader support (vite-plugin-glsl)
27
+ - šŸ› Debug mode with lil-gui
28
+ - šŸ“¦ Manager-based architecture (Loader, Ticker, Keyboard, Mouse, etc.)
29
+ - šŸŽÆ ViewProxy system for managing views
30
+ - šŸŽ­ Three.js scene management
31
+ - šŸ“ TypeScript + ESLint + Prettier
20
32
 
21
- ## šŸ“ Publishing
33
+ ## šŸ”§ Development
22
34
 
23
- See [../../docs/PUBLISHING.md](../../docs/PUBLISHING.md)
35
+ See [MAINTENANCE.md](./MAINTENANCE.md) for contributing.
24
36
 
25
37
  ## šŸ“„ License
26
38
 
package/dist/index.js CHANGED
@@ -5,7 +5,9 @@ import fs from 'fs-extra';
5
5
  import inquirer from 'inquirer';
6
6
  import path from 'path';
7
7
  import { fileURLToPath } from 'url';
8
+ // eslint-disable-next-line @typescript-eslint/naming-convention
8
9
  const __filename = fileURLToPath(import.meta.url);
10
+ // eslint-disable-next-line @typescript-eslint/naming-convention
9
11
  const __dirname = path.dirname(__filename);
10
12
  async function createProject(projectNameArg) {
11
13
  console.log(chalk.cyan.bold('\nšŸš€ Welcome to @benjos/boilerplate!\n'));
@@ -14,7 +16,7 @@ async function createProject(projectNameArg) {
14
16
  type: 'input',
15
17
  name: 'projectName',
16
18
  message: 'Project name:',
17
- default: projectNameArg || 'my-threejs-app',
19
+ default: projectNameArg ?? 'my-threejs-app',
18
20
  when: !projectNameArg,
19
21
  validate: (input) => {
20
22
  if (input === '.')
@@ -31,17 +33,15 @@ async function createProject(projectNameArg) {
31
33
  message: 'Choose a framework:',
32
34
  choices: [
33
35
  { name: 'Vanilla (Three.js + TypeScript)', value: 'vanilla' },
34
- { name: 'React (Coming soon)', value: 'react', disabled: true },
36
+ { name: 'React (Three.js + TypeScript + React)', value: 'react' },
35
37
  { name: 'Vue (Coming soon)', value: 'vue', disabled: true },
36
38
  ],
37
39
  },
38
40
  ]);
39
41
  // Handle current directory case
40
- const projectName = projectNameArg || answers.projectName || '.';
42
+ const projectName = projectNameArg ?? answers.projectName ?? '.';
41
43
  const isCurrentDir = projectName === '.';
42
- const targetDir = isCurrentDir
43
- ? process.cwd()
44
- : path.join(process.cwd(), projectName);
44
+ const targetDir = isCurrentDir ? process.cwd() : path.join(process.cwd(), projectName);
45
45
  // Check if directory already exists (only for new directories)
46
46
  if (!isCurrentDir && (await fs.pathExists(targetDir))) {
47
47
  console.log(chalk.red(`\nāŒ Directory "${projectName}" already exists!`));
@@ -62,7 +62,9 @@ async function createProject(projectNameArg) {
62
62
  await fs.copy(templateDir, targetDir);
63
63
  // Update package.json with project name
64
64
  const packageJsonPath = path.join(targetDir, 'package.json');
65
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
65
66
  const packageJson = await fs.readJson(packageJsonPath);
67
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
66
68
  packageJson.name = finalProjectName;
67
69
  await fs.writeJson(packageJsonPath, packageJson, { spaces: 4 });
68
70
  console.log(chalk.green('āœ… Project created successfully!\n'));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "@benjos/create-boilerplate",
3
- "version": "1.0.3",
4
- "description": "CLI to scaffold Three.js projects with Vanilla/React/Vue support",
3
+ "version": "1.3.2",
4
+ "description": "CLI to scaffold Three.js projects with framework support",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "create-boilerplate": "./dist/index.js"
8
8
  },
9
9
  "files": [
10
10
  "dist",
11
- "template-vanilla"
11
+ "template-vanilla",
12
+ "template-react"
12
13
  ],
13
14
  "scripts": {
14
15
  "build": "tsc",
@@ -0,0 +1,6 @@
1
+ dist
2
+ node_modules
3
+ *.min.js
4
+ *.min.css
5
+ public/assets
6
+ package-lock.json
@@ -0,0 +1,10 @@
1
+ {
2
+ "semi": true,
3
+ "trailingComma": "es5",
4
+ "singleQuote": true,
5
+ "printWidth": 120,
6
+ "tabWidth": 4,
7
+ "useTabs": false,
8
+ "arrowParens": "always",
9
+ "endOfLine": "lf"
10
+ }
File without changes
@@ -0,0 +1,23 @@
1
+ import js from '@eslint/js'
2
+ import globals from 'globals'
3
+ import reactHooks from 'eslint-plugin-react-hooks'
4
+ import reactRefresh from 'eslint-plugin-react-refresh'
5
+ import tseslint from 'typescript-eslint'
6
+ import { defineConfig, globalIgnores } from 'eslint/config'
7
+
8
+ export default defineConfig([
9
+ globalIgnores(['dist']),
10
+ {
11
+ files: ['**/*.{ts,tsx}'],
12
+ extends: [
13
+ js.configs.recommended,
14
+ tseslint.configs.recommended,
15
+ reactHooks.configs.flat.recommended,
16
+ reactRefresh.configs.vite,
17
+ ],
18
+ languageOptions: {
19
+ ecmaVersion: 2020,
20
+ globals: globals.browser,
21
+ },
22
+ },
23
+ ])
@@ -0,0 +1,17 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="./assets/icons/benjosLogoBlack.svg" />
6
+ <meta
7
+ name="viewport"
8
+ content="width=device-width, initial-scale=1.0, maximum-scale=1, minimum-scale=1, height=device-height, user-scalable=no, viewport-fit=cover, shrink-to-fit=no, minimal-ui"
9
+ />
10
+ <title>Boilerplate</title>
11
+ </head>
12
+
13
+ <body>
14
+ <div id="root"></div>
15
+ <script type="module" src="/src/main.tsx"></script>
16
+ </body>
17
+ </html>