升级脚手架

master
yutent 2023-11-02 11:16:54 +08:00
parent d4fe48f4c9
commit 321723d2cd
4 changed files with 28 additions and 20 deletions

View File

@ -19,7 +19,9 @@ import {
import { writeMainJs, writeAppJs, writeModelJs } from './lib/demo-js.js'
const CURRENT_DIR = process.cwd()
const root = dirname(import.meta.url.slice(process.platform === 'win32' ? 10 : 7))
const root = dirname(
import.meta.url.slice(process.platform === 'win32' ? 10 : 7)
)
const { version } = JSON.parse(fs.cat(join(root, './package.json')))
const DEFAULT_NAME = 'gm5-app'
@ -72,7 +74,8 @@ function printHelp() {
{
name: 'shouldOverwrite',
type: _ => (isEmpty(targetDir) ? null : 'toggle'),
message: _ => `目录 ${cyan(targetDir)} 非空, 是否${red('删除')}目录下所有的文件?`,
message: _ =>
`目录 ${cyan(targetDir)} 非空, 是否${red('删除')}目录下所有的文件?`,
initial: false,
active: '是',
inactive: '否'

View File

@ -14,7 +14,7 @@ export function writePackageJson(file, name) {
type: 'module',
main: 'app.js',
dependencies: {
'@gm5/core': '^1.1.4'
'@gm5/core': '^2.0.0'
}
},
null,
@ -56,7 +56,7 @@ jsxBracketSameLine: true
jsxSingleQuote: true
semi: false
singleQuote: true
printWidth: 100
printWidth: 80
useTabs: false
tabWidth: 2
trailingComma: none
@ -67,10 +67,13 @@ arrowParens: avoid
)
}
export function writePm2File(file, { env = 'production', name = 'gm5-app', cluster = true }) {
export function writePm2File(
file,
{ env = 'production', name = 'gm5-app', cluster = true }
) {
fs.echo(
`
script: node --experimental-json-modules ./app.js
script: node ./app.js
cwd: ./
watch: true
name: ${name}

View File

@ -9,21 +9,22 @@ import fs from 'iofs'
export function writeMainJs(file) {
fs.echo(
`
import Five from '@gm5/core'
import { createApp } from '@gm5/core'
const app = createApp()
// // 也可以在创建应用时, 就传递一些配置进去, 等价于下面的 app.set({...})
// const app = createApp({...})
const app = new Five()
// app.set({
// // 可开启session支持
// session: { enabled: true, type: 'redis' }
//
// // 可开启模板引擎的支持
// views: { enabled: true, dir: './views' }
// // 可开启跨域支持
// cors: { enabled: true }
// })
// 预加载应用, 这一步是必须的, 且需要在listen方法前调用
// 预加载应用, 这一步是必须的, 且需要在run()方法前调用
app.preload('./apps/')
// 中间件示例
@ -47,6 +48,7 @@ app.preload('./apps/')
// })
app.listen(3000)
.run()
`,
file
@ -83,9 +85,9 @@ import Controller from '@gm5/controller'
// import Model from '../models/index.js'
// 所有的应用, 都要继承Controller
// 以获取跟框架交互的能力
export default class Index extends Controller {
// 也可以不继承 Controller。 如用到session/jwt/views模块, 可继承Controller, 以获得更简单的调用方式(也可以不继承)。
//
export default class extends Controller {
// 这个main方法是可选的, 如果有定义, 会自动先调用
// 可以在这里做任何需要预处理的事, 支持async/await
@ -96,7 +98,7 @@ export default class Index extends Controller {
}
async indexAction(){
this.response.end('It works!')
this.response.body = 'It works!'
}
}

View File

@ -2,7 +2,7 @@
"name": "create-five",
"description": "一个快速创建Five.js项目的小工具",
"type": "module",
"version": "1.1.0",
"version": "1.2.0",
"author": "yutent <yutent.io@gmail.com>",
"bin": {
"create-five": "index.js"
@ -14,7 +14,7 @@
},
"repository": {
"type": "git",
"url": "https://github.com/bytedo/gmf.cli.git"
"url": "https://git.wkit.fun/gm5/cli.git"
},
"license": "MIT"
}