@lazycatcloud/lzc-cli 1.2.61 → 1.2.62

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.
package/changelog.md CHANGED
@@ -1,3 +1,6 @@
1
+ # 1.2.62
2
+ 1. 修复部分 windows 机器无法登陆开发者账号问题
3
+
1
4
  # 1.2.61
2
5
  1. 修复 lzc-build 文件配置 `compose.override` 字段不生效问题
3
6
 
@@ -7,146 +7,156 @@ import inquirer from "inquirer"
7
7
  const accountServerUrl = "https://account.lazycat.cloud"
8
8
 
9
9
  function join(...params) {
10
- var x = path.join(...params)
11
- return x
10
+ let x = ""
11
+ try {
12
+ // fix: url path join failed for windows
13
+ const u = new url.URL(params[0])
14
+ params.splice(0, 1)
15
+ u.pathname = path.posix.join(u.pathname, ...params)
16
+ x = u.toString()
17
+ } catch (error) {
18
+ console.warn(error)
19
+ x = path.join(...params)
20
+ }
21
+ return x
12
22
  }
13
23
 
14
24
  async function login(username, password) {
15
- return fetch(join(accountServerUrl, "/api/login/signin"), {
16
- method: "POST",
17
- body: new URLSearchParams({
18
- username: username,
19
- password: password
20
- })
21
- })
22
- .then(async (res) => {
23
- let bodyText = await res.text()
24
- let body = JSON.parse(bodyText)
25
- if (body.success) {
26
- return Promise.resolve(body.data)
27
- }
28
- return Promise.reject(body.message)
29
- })
30
- .then((data) => {
31
- env.set({ token: data.token }, true)
32
- logger.info("登录成功!")
25
+ return fetch(join(accountServerUrl, "/api/login/signin"), {
26
+ method: "POST",
27
+ body: new URLSearchParams({
28
+ username: username,
29
+ password: password
30
+ })
33
31
  })
32
+ .then(async (res) => {
33
+ let bodyText = await res.text()
34
+ let body = JSON.parse(bodyText)
35
+ if (body.success) {
36
+ return Promise.resolve(body.data)
37
+ }
38
+ return Promise.reject(body.message)
39
+ })
40
+ .then((data) => {
41
+ env.set({ token: data.token }, true)
42
+ logger.info("登录成功!")
43
+ })
34
44
  }
35
45
 
36
46
  async function isLogin() {
37
- try {
38
- let token = env.get("token")
39
- if (!token) {
40
- return false
47
+ try {
48
+ let token = env.get("token")
49
+ if (!token) {
50
+ return false
51
+ }
52
+ return fetch(join(accountServerUrl, "/api/user/current"), {
53
+ method: "GET",
54
+ headers: {
55
+ "X-User-Token": token
56
+ }
57
+ }).then(async (res) => {
58
+ let bodyText = await res.text()
59
+ let body = JSON.parse(bodyText)
60
+ if (body.success) {
61
+ return token
62
+ }
63
+ logger.debug(body.message)
64
+ return false
65
+ })
66
+ } catch (e) {
67
+ logger.trace(e)
68
+ return false
41
69
  }
42
- return fetch(join(accountServerUrl, "/api/user/current"), {
43
- method: "GET",
44
- headers: {
45
- "X-User-Token": token
46
- }
47
- }).then(async (res) => {
48
- let bodyText = await res.text()
49
- let body = JSON.parse(bodyText)
50
- if (body.success) {
51
- return token
52
- }
53
- logger.debug(body.message)
54
- return false
55
- })
56
- } catch (e) {
57
- logger.trace(e)
58
- return false
59
- }
60
70
  }
61
71
 
62
72
  async function askUserInfo() {
63
- const noEmpty = (value) => value != ""
64
- return await inquirer.prompt([
65
- {
66
- type: "input",
67
- name: "username",
68
- message: "请输入登录用户名",
69
- validate: noEmpty
70
- },
71
- {
72
- type: "password",
73
- mask: "*",
74
- name: "password",
75
- message: "请输入登录密码",
76
- validate: noEmpty
77
- }
78
- ])
73
+ const noEmpty = (value) => value != ""
74
+ return await inquirer.prompt([
75
+ {
76
+ type: "input",
77
+ name: "username",
78
+ message: "请输入登录用户名",
79
+ validate: noEmpty
80
+ },
81
+ {
82
+ type: "password",
83
+ mask: "*",
84
+ name: "password",
85
+ message: "请输入登录密码",
86
+ validate: noEmpty
87
+ }
88
+ ])
79
89
  }
80
90
 
81
91
  async function interactiveLogin() {
82
- try {
83
- let info = await askUserInfo()
84
- await login(info.username, info.password)
85
- } catch (e) {
86
- logger.debug("login error: ", e)
87
- logger.error("帐号或者密码错误,请重新输入!")
88
- return interactiveLogin()
89
- }
92
+ try {
93
+ let info = await askUserInfo()
94
+ await login(info.username, info.password)
95
+ } catch (e) {
96
+ logger.debug("login error: ", e)
97
+ logger.error("帐号或者密码错误,请重新输入!")
98
+ return interactiveLogin()
99
+ }
90
100
  }
91
101
 
92
102
  function tipsFirstLogin() {
93
103
  let token = env.get("token")
94
104
  if (!token) {
95
- // 还没登录过的用户提示用户前往 https://developer.lazycat.cloud/manage 注册开发者账号
96
- logger.info("请登录懒猫微服社区账号,账号注册以及开发者权限申请地址: https://developer.lazycat.cloud/manage")
105
+ // 还没登录过的用户提示用户前往 https://developer.lazycat.cloud/manage 注册开发者账号
106
+ logger.info("请登录懒猫微服社区账号,账号注册以及开发者权限申请地址: https://developer.lazycat.cloud/manage")
97
107
  }
98
108
  }
99
109
 
100
110
  export async function reLogin() {
101
- let token = await isLogin()
102
- if (token) {
103
- const questions = [
104
- {
105
- name: "relogin",
106
- type: "input",
107
- default: "n",
108
- message: "检测到已经登录,是否重新登录(y/n):"
109
- }
110
- ]
111
- const answers = await inquirer.prompt(questions)
112
- if (answers.relogin.toLowerCase() === "n") {
113
- logger.info(`token: ${token}`)
114
- return
111
+ let token = await isLogin()
112
+ if (token) {
113
+ const questions = [
114
+ {
115
+ name: "relogin",
116
+ type: "input",
117
+ default: "n",
118
+ message: "检测到已经登录,是否重新登录(y/n):"
119
+ }
120
+ ]
121
+ const answers = await inquirer.prompt(questions)
122
+ if (answers.relogin.toLowerCase() === "n") {
123
+ logger.info(`token: ${token}`)
124
+ return
125
+ }
126
+ } else {
127
+ tipsFirstLogin()
115
128
  }
116
- } else {
117
- tipsFirstLogin()
118
- }
119
- await interactiveLogin()
129
+ await interactiveLogin()
120
130
  }
121
131
 
122
132
  export async function autoLogin() {
123
- let token = await isLogin()
124
- if (token) {
125
- logger.debug("appstore 已经登录")
126
- return
127
- } else {
128
- tipsFirstLogin()
129
- }
133
+ let token = await isLogin()
134
+ if (token) {
135
+ logger.debug("appstore 已经登录")
136
+ return
137
+ } else {
138
+ tipsFirstLogin()
139
+ }
130
140
 
131
- logger.debug("token错误,尝试自动登录")
132
- await interactiveLogin()
141
+ logger.debug("token错误,尝试自动登录")
142
+ await interactiveLogin()
133
143
  }
134
144
 
135
145
  export async function request(url, options = {}) {
136
- await autoLogin()
146
+ await autoLogin()
137
147
 
138
- const token = env.get("token")
148
+ const token = env.get("token")
139
149
 
140
- let headers = {
141
- "X-User-Token": token,
142
- cookie: `userToken=${token}`
143
- }
144
- if (options.headers) {
145
- headers = Object.assign({}, options.headers, headers)
146
- }
150
+ let headers = {
151
+ "X-User-Token": token,
152
+ cookie: `userToken=${token}`
153
+ }
154
+ if (options.headers) {
155
+ headers = Object.assign({}, options.headers, headers)
156
+ }
147
157
 
148
- options = Object.assign({}, options, { headers })
149
- logger.trace(`fetch ${url}`, options)
158
+ options = Object.assign({}, options, { headers })
159
+ logger.trace(`fetch ${url}`, options)
150
160
 
151
- return fetch(url, options)
161
+ return fetch(url, options)
152
162
  }
package/lib/utils.js CHANGED
@@ -384,9 +384,8 @@ export function isValidAppId(appId) {
384
384
  }
385
385
 
386
386
  export function isValidPackageName(packageName) {
387
- // 暂时去掉 - 的支持
388
387
  const regex = new RegExp(
389
- "^[a-z][a-z0-9]*([-][a-z0-9]+)*(?:.[a-z][a-z0-9]*([-][a-z0-9]+)*)*$"
388
+ "^[a-z][a-z0-9]*([-][a-z0-9]+)*(?:\\.[a-z][a-z0-9]*([-][a-z0-9]+)*)*$"
390
389
  )
391
390
  return regex.test(packageName)
392
391
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lazycatcloud/lzc-cli",
3
- "version": "1.2.61",
3
+ "version": "1.2.62",
4
4
  "description": "lazycat cloud developer kit",
5
5
  "scripts": {
6
6
  "prepublishOnly": "node check-changelog.js"
@@ -13,4 +13,4 @@ author: # app author
13
13
  application:
14
14
  subdomain: ${subdomain} #期望的app域名
15
15
  routes:
16
- - /=file:///lzcapp/pkg/content/dist
16
+ - /=file:///lzcapp/pkg/content