create-rsbuild 0.0.0-next-20231108034054 → 0.0.0-next-20231115072032

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 (66) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/dist/index.js +16 -2
  3. package/package.json +2 -2
  4. package/template-lit-js/package.json +14 -0
  5. package/template-lit-js/rsbuild.config.mjs +7 -0
  6. package/template-lit-js/src/index.css +6 -0
  7. package/template-lit-js/src/index.html +5 -0
  8. package/template-lit-js/src/index.js +4 -0
  9. package/template-lit-js/src/my-element.js +34 -0
  10. package/template-lit-ts/package.json +15 -0
  11. package/template-lit-ts/rsbuild.config.ts +7 -0
  12. package/template-lit-ts/src/env.d.ts +1 -0
  13. package/template-lit-ts/src/index.css +6 -0
  14. package/template-lit-ts/src/index.html +5 -0
  15. package/template-lit-ts/src/index.ts +4 -0
  16. package/template-lit-ts/src/my-element.ts +34 -0
  17. package/template-lit-ts/tsconfig.json +13 -0
  18. package/template-react-js/package.json +1 -1
  19. package/template-react-js/src/App.css +26 -0
  20. package/template-react-js/src/App.jsx +6 -16
  21. package/template-react-js/src/index.jsx +0 -1
  22. package/template-react-ts/package.json +1 -1
  23. package/template-react-ts/src/App.css +26 -0
  24. package/template-react-ts/src/App.tsx +6 -16
  25. package/template-react-ts/src/env.d.ts +1 -0
  26. package/template-react-ts/src/index.tsx +0 -1
  27. package/template-svelte-js/package.json +1 -1
  28. package/template-svelte-js/src/App.svelte +21 -26
  29. package/template-svelte-js/src/index.css +6 -0
  30. package/template-svelte-js/src/index.js +1 -2
  31. package/template-svelte-ts/package.json +1 -1
  32. package/template-svelte-ts/src/App.svelte +21 -26
  33. package/template-svelte-ts/src/env.d.ts +2 -0
  34. package/template-svelte-ts/src/index.css +6 -0
  35. package/template-svelte-ts/src/index.ts +1 -2
  36. package/template-vanilla-js/package.json +13 -0
  37. package/template-vanilla-js/rsbuild.config.mjs +3 -0
  38. package/template-vanilla-js/src/index.css +26 -0
  39. package/template-vanilla-js/src/index.js +8 -0
  40. package/template-vanilla-ts/package.json +14 -0
  41. package/template-vanilla-ts/rsbuild.config.ts +3 -0
  42. package/template-vanilla-ts/src/index.css +26 -0
  43. package/template-vanilla-ts/src/index.ts +8 -0
  44. package/template-vanilla-ts/tsconfig.json +13 -0
  45. package/template-vue2-js/package.json +1 -1
  46. package/template-vue2-js/src/App.vue +21 -20
  47. package/template-vue2-js/src/index.css +3 -38
  48. package/template-vue2-js/src/index.js +1 -1
  49. package/template-vue2-ts/package.json +1 -1
  50. package/template-vue2-ts/src/App.vue +20 -21
  51. package/template-vue2-ts/src/env.d.ts +2 -0
  52. package/template-vue2-ts/src/index.css +3 -38
  53. package/template-vue2-ts/src/index.ts +1 -1
  54. package/template-vue3-js/package.json +1 -1
  55. package/template-vue3-js/src/App.vue +21 -22
  56. package/template-vue3-js/src/index.css +3 -38
  57. package/template-vue3-js/src/index.js +1 -1
  58. package/template-vue3-ts/package.json +1 -1
  59. package/template-vue3-ts/src/App.vue +21 -16
  60. package/template-vue3-ts/src/env.d.ts +2 -0
  61. package/template-vue3-ts/src/index.css +3 -38
  62. package/template-vue3-ts/src/index.ts +1 -1
  63. package/template-react-js/src/index.css +0 -41
  64. package/template-react-ts/src/index.css +0 -41
  65. package/template-svelte-js/src/global.css +0 -68
  66. package/template-svelte-ts/src/global.css +0 -68
package/CHANGELOG.md CHANGED
@@ -1,6 +1,33 @@
1
1
  # create-rsbuild
2
2
 
3
- ## 0.0.0-next-20231108034054
3
+ ## 0.0.0-next-20231115072032
4
+
5
+ ## 0.0.22
6
+
7
+ ### Patch Changes
8
+
9
+ - 73cac183: feat(create-rsbuild): add new lit template
10
+ - 6c00e30: fix(create-rsbuild): missing tsconfig.json in vanilla template
11
+ - 6c00e30: feat(create-rsbuild): improve next steps message
12
+ - 82e7c249: fix(create-rsbuild): incorrect title in sample code
13
+
14
+ ## 0.0.21
15
+
16
+ ### Patch Changes
17
+
18
+ - a782b44: feat(create-rsbuild): add new vanilla template
19
+
20
+ ## 0.0.20
21
+
22
+ ## 0.0.19
23
+
24
+ ## 0.0.18
25
+
26
+ ### Patch Changes
27
+
28
+ - 6f1c4a1: feat: add builtin assets and CSS modules types
29
+ - eed4dcb: feat(create-rsbuild): update all pages in templates
30
+ - a4485ea: feat(create-rspack): add dev --open option by default
4
31
 
5
32
  ## 0.0.17
6
33
 
package/dist/index.js CHANGED
@@ -35,10 +35,22 @@ function checkCancel(value) {
35
35
  function formatTargetDir(targetDir) {
36
36
  return targetDir.trim().replace(/\/+$/g, "");
37
37
  }
38
+ function pkgFromUserAgent(userAgent) {
39
+ if (!userAgent)
40
+ return void 0;
41
+ const pkgSpec = userAgent.split(" ")[0];
42
+ const pkgSpecArr = pkgSpec.split("/");
43
+ return {
44
+ name: pkgSpecArr[0],
45
+ version: pkgSpecArr[1]
46
+ };
47
+ }
38
48
  async function main() {
39
49
  console.log("");
40
50
  import_rslog.logger.greet("◆ Create Rsbuild Project");
41
51
  const cwd = process.cwd();
52
+ const pkgInfo = pkgFromUserAgent(process.env.npm_config_user_agent);
53
+ const pkgManager = pkgInfo ? pkgInfo.name : "npm";
42
54
  const packageRoot = import_path.default.resolve(__dirname, "..");
43
55
  const packageJsonPath = import_path.default.join(packageRoot, "package.json");
44
56
  const { version } = require(packageJsonPath);
@@ -62,7 +74,9 @@ async function main() {
62
74
  { value: "react", label: "React" },
63
75
  { value: "vue3", label: "Vue 3" },
64
76
  { value: "vue2", label: "Vue 2" },
65
- { value: "svelte", label: "Svelte" }
77
+ { value: "lit", label: "Lit" },
78
+ { value: "svelte", label: "Svelte" },
79
+ { value: "vanilla", label: "Vanilla" }
66
80
  ]
67
81
  });
68
82
  checkCancel(framework);
@@ -79,7 +93,7 @@ async function main() {
79
93
  const distFolder = import_path.default.join(cwd, targetDir);
80
94
  copyFolder(commonFolder, distFolder, version);
81
95
  copyFolder(srcFolder, distFolder, version);
82
- const nextSteps = [`cd ${targetDir}`, "npm i", "npm run dev"];
96
+ const nextSteps = [`cd ${targetDir}`, `${pkgManager} i`, `${pkgManager} run dev`];
83
97
  (0, import_prompts.note)(nextSteps.join("\n"), "Next steps");
84
98
  (0, import_prompts.outro)("Done.");
85
99
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-rsbuild",
3
- "version": "0.0.0-next-20231108034054",
3
+ "version": "0.0.0-next-20231115072032",
4
4
  "description": "Create a new Rsbuild project",
5
5
  "homepage": "https://rsbuild.dev",
6
6
  "repository": {
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@clack/prompts": "^0.7.0",
25
- "rslog": "^1.1.0"
25
+ "rslog": "^1.1.1"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/node": "^16",
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "rsbuild-lit-js",
3
+ "private": true,
4
+ "version": "1.0.0",
5
+ "scripts": {
6
+ "dev": "rsbuild dev --open",
7
+ "build": "rsbuild build",
8
+ "preview": "rsbuild preview"
9
+ },
10
+ "devDependencies": {
11
+ "@rsbuild/core": "workspace:*",
12
+ "lit": "^3.0.2"
13
+ }
14
+ }
@@ -0,0 +1,7 @@
1
+ import { defineConfig } from '@rsbuild/core';
2
+
3
+ export default defineConfig({
4
+ html: {
5
+ template: './src/index.html',
6
+ },
7
+ });
@@ -0,0 +1,6 @@
1
+ body {
2
+ margin: 0;
3
+ color: #fff;
4
+ font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
5
+ background-image: linear-gradient(to bottom, #020917, #101725);
6
+ }
@@ -0,0 +1,5 @@
1
+ <!doctype html>
2
+ <head></head>
3
+ <body>
4
+ <my-element />
5
+ </body>
@@ -0,0 +1,4 @@
1
+ import './index.css';
2
+ import { MyElement } from './my-element';
3
+
4
+ customElements.define('my-element', MyElement);
@@ -0,0 +1,34 @@
1
+ import { html, css, LitElement } from 'lit';
2
+
3
+ export class MyElement extends LitElement {
4
+ static styles = css`
5
+ .content {
6
+ display: flex;
7
+ min-height: 100vh;
8
+ line-height: 1.1;
9
+ text-align: center;
10
+ flex-direction: column;
11
+ justify-content: center;
12
+ }
13
+
14
+ .content h1 {
15
+ font-size: 3.6rem;
16
+ font-weight: 700;
17
+ }
18
+
19
+ .content p {
20
+ font-size: 1.2rem;
21
+ font-weight: 400;
22
+ opacity: 0.5;
23
+ }
24
+ `;
25
+
26
+ render() {
27
+ return html`
28
+ <div class="content">
29
+ <h1>Rsbuild with Lit</h1>
30
+ <p>Start building amazing things with Rsbuild.</p>
31
+ </div>
32
+ `;
33
+ }
34
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "rsbuild-lit-ts",
3
+ "private": true,
4
+ "version": "1.0.0",
5
+ "scripts": {
6
+ "dev": "rsbuild dev --open",
7
+ "build": "rsbuild build",
8
+ "preview": "rsbuild preview"
9
+ },
10
+ "devDependencies": {
11
+ "@rsbuild/core": "workspace:*",
12
+ "lit": "^3.0.2",
13
+ "typescript": "^5.2.2"
14
+ }
15
+ }
@@ -0,0 +1,7 @@
1
+ import { defineConfig } from '@rsbuild/core';
2
+
3
+ export default defineConfig({
4
+ html: {
5
+ template: './src/index.html',
6
+ },
7
+ });
@@ -0,0 +1 @@
1
+ /// <reference types="@rsbuild/core/types" />
@@ -0,0 +1,6 @@
1
+ body {
2
+ margin: 0;
3
+ color: #fff;
4
+ font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
5
+ background-image: linear-gradient(to bottom, #020917, #101725);
6
+ }
@@ -0,0 +1,5 @@
1
+ <!doctype html>
2
+ <head></head>
3
+ <body>
4
+ <my-element />
5
+ </body>
@@ -0,0 +1,4 @@
1
+ import './index.css';
2
+ import { MyElement } from './my-element';
3
+
4
+ customElements.define('my-element', MyElement);
@@ -0,0 +1,34 @@
1
+ import { html, css, LitElement } from 'lit';
2
+
3
+ export class MyElement extends LitElement {
4
+ static styles = css`
5
+ .content {
6
+ display: flex;
7
+ min-height: 100vh;
8
+ line-height: 1.1;
9
+ text-align: center;
10
+ flex-direction: column;
11
+ justify-content: center;
12
+ }
13
+
14
+ .content h1 {
15
+ font-size: 3.6rem;
16
+ font-weight: 700;
17
+ }
18
+
19
+ .content p {
20
+ font-size: 1.2rem;
21
+ font-weight: 400;
22
+ opacity: 0.5;
23
+ }
24
+ `;
25
+
26
+ render() {
27
+ return html`
28
+ <div class="content">
29
+ <h1>Rsbuild with Lit</h1>
30
+ <p>Start building amazing things with Rsbuild.</p>
31
+ </div>
32
+ `;
33
+ }
34
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "lib": ["DOM", "ES2020"],
5
+ "module": "ESNext",
6
+ "strict": true,
7
+ "skipLibCheck": true,
8
+ "isolatedModules": true,
9
+ "resolveJsonModule": true,
10
+ "moduleResolution": "bundler"
11
+ },
12
+ "include": ["src"]
13
+ }
@@ -3,7 +3,7 @@
3
3
  "private": true,
4
4
  "version": "1.0.0",
5
5
  "scripts": {
6
- "dev": "rsbuild dev",
6
+ "dev": "rsbuild dev --open",
7
7
  "build": "rsbuild build",
8
8
  "preview": "rsbuild preview"
9
9
  },
@@ -0,0 +1,26 @@
1
+ body {
2
+ margin: 0;
3
+ color: #fff;
4
+ font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
5
+ background-image: linear-gradient(to bottom, #020917, #101725);
6
+ }
7
+
8
+ .content {
9
+ display: flex;
10
+ min-height: 100vh;
11
+ line-height: 1.1;
12
+ text-align: center;
13
+ flex-direction: column;
14
+ justify-content: center;
15
+ }
16
+
17
+ .content h1 {
18
+ font-size: 3.6rem;
19
+ font-weight: 700;
20
+ }
21
+
22
+ .content p {
23
+ font-size: 1.2rem;
24
+ font-weight: 400;
25
+ opacity: 0.5;
26
+ }
@@ -1,22 +1,12 @@
1
- import { useState } from 'react';
2
-
3
- const HelloWorld = () => {
4
- const [count, setCount] = useState(0);
1
+ import './App.css';
5
2
 
3
+ const App = () => {
6
4
  return (
7
- <div>
8
- <h1>Rsbuild + React</h1>
9
-
10
- <div>
11
- <button type="button" onClick={() => setCount(count + 1)}>
12
- count is {count}
13
- </button>
14
- <p>
15
- Edit <code>App.tsx</code> to test HMR
16
- </p>
17
- </div>
5
+ <div className="content">
6
+ <h1>Rsbuild with React</h1>
7
+ <p>Start building amazing things with Rsbuild.</p>
18
8
  </div>
19
9
  );
20
10
  };
21
11
 
22
- export default HelloWorld;
12
+ export default App;
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import ReactDOM from 'react-dom/client';
3
- import './index.css';
4
3
  import App from './App';
5
4
 
6
5
  const root = ReactDOM.createRoot(document.getElementById('root'));
@@ -3,7 +3,7 @@
3
3
  "private": true,
4
4
  "version": "1.0.0",
5
5
  "scripts": {
6
- "dev": "rsbuild dev",
6
+ "dev": "rsbuild dev --open",
7
7
  "build": "rsbuild build",
8
8
  "preview": "rsbuild preview"
9
9
  },
@@ -0,0 +1,26 @@
1
+ body {
2
+ margin: 0;
3
+ color: #fff;
4
+ font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
5
+ background-image: linear-gradient(to bottom, #020917, #101725);
6
+ }
7
+
8
+ .content {
9
+ display: flex;
10
+ min-height: 100vh;
11
+ line-height: 1.1;
12
+ text-align: center;
13
+ flex-direction: column;
14
+ justify-content: center;
15
+ }
16
+
17
+ .content h1 {
18
+ font-size: 3.6rem;
19
+ font-weight: 700;
20
+ }
21
+
22
+ .content p {
23
+ font-size: 1.2rem;
24
+ font-weight: 400;
25
+ opacity: 0.5;
26
+ }
@@ -1,22 +1,12 @@
1
- import { useState } from 'react';
2
-
3
- const HelloWorld = () => {
4
- const [count, setCount] = useState(0);
1
+ import './App.css';
5
2
 
3
+ const App = () => {
6
4
  return (
7
- <div>
8
- <h1>Rsbuild + React</h1>
9
-
10
- <div>
11
- <button type="button" onClick={() => setCount(count + 1)}>
12
- count is {count}
13
- </button>
14
- <p>
15
- Edit <code>App.tsx</code> to test HMR
16
- </p>
17
- </div>
5
+ <div className="content">
6
+ <h1>Rsbuild with React</h1>
7
+ <p>Start building amazing things with Rsbuild.</p>
18
8
  </div>
19
9
  );
20
10
  };
21
11
 
22
- export default HelloWorld;
12
+ export default App;
@@ -0,0 +1 @@
1
+ /// <reference types="@rsbuild/core/types" />
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import ReactDOM from 'react-dom/client';
3
- import './index.css';
4
3
  import App from './App';
5
4
 
6
5
  const root = ReactDOM.createRoot(document.getElementById('root')!);
@@ -3,7 +3,7 @@
3
3
  "private": true,
4
4
  "version": "1.0.0",
5
5
  "scripts": {
6
- "dev": "rsbuild dev",
6
+ "dev": "rsbuild dev --open",
7
7
  "build": "rsbuild build",
8
8
  "preview": "rsbuild preview"
9
9
  },
@@ -1,33 +1,28 @@
1
- <script>
2
- export let name;
3
- </script>
4
-
5
1
  <main>
6
- <h1>Hello {name}!</h1>
7
- <p>
8
- Visit the <a href="https://svelte.dev/tutorial">Svelte tutorial</a> to learn
9
- how to build Svelte apps.
10
- </p>
2
+ <div class="content">
3
+ <h1>Rsbuild with Svelte</h1>
4
+ <p>Start building amazing things with Rsbuild.</p>
5
+ </div>
11
6
  </main>
12
7
 
13
8
  <style>
14
- main {
15
- text-align: center;
16
- padding: 1em;
17
- max-width: 240px;
18
- margin: 0 auto;
19
- }
9
+ .content {
10
+ display: flex;
11
+ min-height: 100vh;
12
+ line-height: 1.1;
13
+ text-align: center;
14
+ flex-direction: column;
15
+ justify-content: center;
16
+ }
20
17
 
21
- @media (min-width: 640px) {
22
- main {
23
- max-width: none;
24
- }
25
- }
18
+ .content h1 {
19
+ font-size: 3.6rem;
20
+ font-weight: 700;
21
+ }
26
22
 
27
- h1 {
28
- color: #ff3e00;
29
- text-transform: uppercase;
30
- font-size: 4em;
31
- font-weight: 100;
32
- }
23
+ .content p {
24
+ font-size: 1.2rem;
25
+ font-weight: 400;
26
+ opacity: 0.5;
27
+ }
33
28
  </style>
@@ -0,0 +1,6 @@
1
+ body {
2
+ margin: 0;
3
+ color: #fff;
4
+ font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
5
+ background-image: linear-gradient(to bottom, #020917, #101725);
6
+ }
@@ -1,5 +1,4 @@
1
- import './global.css';
2
-
1
+ import './index.css';
3
2
  import App from './App.svelte';
4
3
 
5
4
  const app = new App({
@@ -3,7 +3,7 @@
3
3
  "private": true,
4
4
  "version": "1.0.0",
5
5
  "scripts": {
6
- "dev": "rsbuild dev",
6
+ "dev": "rsbuild dev --open",
7
7
  "build": "rsbuild build",
8
8
  "preview": "rsbuild preview"
9
9
  },
@@ -1,33 +1,28 @@
1
- <script>
2
- export let name;
3
- </script>
4
-
5
1
  <main>
6
- <h1>Hello {name}!</h1>
7
- <p>
8
- Visit the <a href="https://svelte.dev/tutorial">Svelte tutorial</a> to learn
9
- how to build Svelte apps.
10
- </p>
2
+ <div class="content">
3
+ <h1>Rsbuild with Svelte</h1>
4
+ <p>Start building amazing things with Rsbuild.</p>
5
+ </div>
11
6
  </main>
12
7
 
13
8
  <style>
14
- main {
15
- text-align: center;
16
- padding: 1em;
17
- max-width: 240px;
18
- margin: 0 auto;
19
- }
9
+ .content {
10
+ display: flex;
11
+ min-height: 100vh;
12
+ line-height: 1.1;
13
+ text-align: center;
14
+ flex-direction: column;
15
+ justify-content: center;
16
+ }
20
17
 
21
- @media (min-width: 640px) {
22
- main {
23
- max-width: none;
24
- }
25
- }
18
+ .content h1 {
19
+ font-size: 3.6rem;
20
+ font-weight: 700;
21
+ }
26
22
 
27
- h1 {
28
- color: #ff3e00;
29
- text-transform: uppercase;
30
- font-size: 4em;
31
- font-weight: 100;
32
- }
23
+ .content p {
24
+ font-size: 1.2rem;
25
+ font-weight: 400;
26
+ opacity: 0.5;
27
+ }
33
28
  </style>
@@ -0,0 +1,2 @@
1
+ /// <reference types="@rsbuild/core/types" />
2
+ /// <reference types="svelte" />
@@ -0,0 +1,6 @@
1
+ body {
2
+ margin: 0;
3
+ color: #fff;
4
+ font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
5
+ background-image: linear-gradient(to bottom, #020917, #101725);
6
+ }
@@ -1,5 +1,4 @@
1
- import './global.css';
2
-
1
+ import './index.css';
3
2
  import App from './App.svelte';
4
3
 
5
4
  const app = new App({
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "rsbuild-vanilla-js",
3
+ "private": true,
4
+ "version": "1.0.0",
5
+ "scripts": {
6
+ "dev": "rsbuild dev --open",
7
+ "build": "rsbuild build",
8
+ "preview": "rsbuild preview"
9
+ },
10
+ "devDependencies": {
11
+ "@rsbuild/core": "workspace:*"
12
+ }
13
+ }
@@ -0,0 +1,3 @@
1
+ import { defineConfig } from '@rsbuild/core';
2
+
3
+ export default defineConfig({});
@@ -0,0 +1,26 @@
1
+ body {
2
+ margin: 0;
3
+ color: #fff;
4
+ font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
5
+ background-image: linear-gradient(to bottom, #020917, #101725);
6
+ }
7
+
8
+ .content {
9
+ display: flex;
10
+ min-height: 100vh;
11
+ line-height: 1.1;
12
+ text-align: center;
13
+ flex-direction: column;
14
+ justify-content: center;
15
+ }
16
+
17
+ .content h1 {
18
+ font-size: 3.6rem;
19
+ font-weight: 700;
20
+ }
21
+
22
+ .content p {
23
+ font-size: 1.2rem;
24
+ font-weight: 400;
25
+ opacity: 0.5;
26
+ }
@@ -0,0 +1,8 @@
1
+ import './index.css';
2
+
3
+ document.querySelector('#root').innerHTML = `
4
+ <div class="content">
5
+ <h1>Vanilla Rsbuild</h1>
6
+ <p>Start building amazing things with Rsbuild.</p>
7
+ </div>
8
+ `;