-
Notifications
You must be signed in to change notification settings - Fork 692
/
Copy pathpackage.ts
78 lines (76 loc) · 2.11 KB
/
package.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
type PackageTemplateOptions = {
name: string;
spectacleVersion: string;
port?: number;
};
export const packageTemplate = (options: PackageTemplateOptions) =>
JSON.stringify(
{
name: options.name,
private: true,
scripts: {
start: 'webpack-dev-server --hot --config ./webpack.config.js',
clean: 'rimraf dist',
build: 'webpack --config ./webpack.config.js --mode production'
},
dependencies: {
react: '^18.2.0',
'react-dom': '^18.2.0',
spectacle:
options.spectacleVersion === 'workspace:*'
? '*'
: `^${options.spectacleVersion}`
},
devDependencies: {
'@babel/core': '^7.17.2',
'@babel/plugin-proposal-class-properties': '^7.12.1',
'@babel/plugin-proposal-object-rest-spread': '^7.12.1',
'@babel/preset-env': '^7.12.7',
'@babel/preset-react': '^7.16.7',
'babel-loader': '^8.0.6',
'html-webpack-plugin': '^5.3.1',
'style-loader': '^3.3.1',
'css-loader': '^5.1.3',
'file-loader': '^6.2.0',
'raw-loader': '^4.0.2',
rimraf: '^3.0.0',
webpack: '^5.68.0',
'webpack-cli': '^4.5.0',
'webpack-dev-server': '^4.7.4',
typescript: '^5.3.3',
'@babel/preset-typescript': '^7.16.0',
'@types/react': '^18.0.12',
'@types/react-dom': '^18.0.5'
}
},
null,
2
);
export const vitePackageTemplate = (options: PackageTemplateOptions) =>
JSON.stringify(
{
name: options.name,
private: true,
scripts: {
start: `vite dev --port ${options.port || 3000}`,
build: 'vite build'
},
dependencies: {
react: '^18.1.0',
'react-dom': '^18.1.0',
spectacle:
options.spectacleVersion === 'workspace:*'
? '*'
: `^${options.spectacleVersion}`
},
devDependencies: {
'@types/react': '^18.0.17',
'@types/react-dom': '^18.0.6',
'@vitejs/plugin-react': '^2.0.1',
typescript: '^5.3.3',
vite: '^3.0.7'
}
},
null,
2
);