]> git.ipfire.org Git - thirdparty/vuejs/create-vue.git/commitdiff
fix: only test color depth when the stdout is TTY, fixing CI issue
authorHaoqun Jiang <haoqunjiang@gmail.com>
Thu, 5 Jan 2023 13:13:42 +0000 (21:13 +0800)
committerHaoqun Jiang <haoqunjiang@gmail.com>
Thu, 5 Jan 2023 13:15:55 +0000 (21:15 +0800)
index.ts
utils/banner.ts [deleted file]
utils/banners.ts [new file with mode: 0644]

index f56e87059db6dd50b451e11b408b7307ce623e45..0fc6bb4544d181b4487925ff446d91fbd50eeb55 100755 (executable)
--- a/index.ts
+++ b/index.ts
@@ -7,12 +7,13 @@ import minimist from 'minimist'
 import prompts from 'prompts'
 import { red, green, bold } from 'kolorist'
 
+import * as banners from './utils/banners'
+
 import renderTemplate from './utils/renderTemplate'
 import { postOrderDirectoryTraverse, preOrderDirectoryTraverse } from './utils/directoryTraverse'
 import generateReadme from './utils/generateReadme'
 import getCommand from './utils/getCommand'
 import renderEslint from './utils/renderEslint'
-import banner from './utils/banner'
 
 function isValidPackageName(projectName) {
   return /^(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/.test(projectName)
@@ -56,7 +57,13 @@ function emptyDir(dir) {
 }
 
 async function init() {
-  console.log(`\n${banner}\n`)
+  console.log()
+  console.log(
+    process.stdout.isTTY && process.stdout.getColorDepth() > 8
+      ? banners.gradientBanner
+      : banners.defaultBanner
+  )
+  console.log()
 
   const cwd = process.cwd()
   // possible options:
diff --git a/utils/banner.ts b/utils/banner.ts
deleted file mode 100644 (file)
index a935361..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-let banner = 'Vue.js - The Progressive JavaScript Framework'
-
-if (process.stdout.getColorDepth() > 8) {
-  // generated by the following code:
-  //
-  // require('gradient-string')([
-  //   { color: '#42d392', pos: 0 },
-  //   { color: '#42d392', pos: 0.1 },
-  //   { color: '#647eff', pos: 1 }
-  // ])('Vue.js - The Progressive JavaScript Framework'))
-  //
-  // Use the output directly here to keep the bundle small.
-  banner =
-    '\x1B[38;2;66;211;146mV\x1B[39m\x1B[38;2;66;211;146mu\x1B[39m\x1B[38;2;66;211;146me\x1B[39m\x1B[38;2;66;211;146m.\x1B[39m\x1B[38;2;66;211;146mj\x1B[39m\x1B[38;2;67;209;149ms\x1B[39m \x1B[38;2;68;206;152m-\x1B[39m \x1B[38;2;69;204;155mT\x1B[39m\x1B[38;2;70;201;158mh\x1B[39m\x1B[38;2;71;199;162me\x1B[39m \x1B[38;2;72;196;165mP\x1B[39m\x1B[38;2;73;194;168mr\x1B[39m\x1B[38;2;74;192;171mo\x1B[39m\x1B[38;2;75;189;174mg\x1B[39m\x1B[38;2;76;187;177mr\x1B[39m\x1B[38;2;77;184;180me\x1B[39m\x1B[38;2;78;182;183ms\x1B[39m\x1B[38;2;79;179;186ms\x1B[39m\x1B[38;2;80;177;190mi\x1B[39m\x1B[38;2;81;175;193mv\x1B[39m\x1B[38;2;82;172;196me\x1B[39m \x1B[38;2;83;170;199mJ\x1B[39m\x1B[38;2;83;167;202ma\x1B[39m\x1B[38;2;84;165;205mv\x1B[39m\x1B[38;2;85;162;208ma\x1B[39m\x1B[38;2;86;160;211mS\x1B[39m\x1B[38;2;87;158;215mc\x1B[39m\x1B[38;2;88;155;218mr\x1B[39m\x1B[38;2;89;153;221mi\x1B[39m\x1B[38;2;90;150;224mp\x1B[39m\x1B[38;2;91;148;227mt\x1B[39m \x1B[38;2;92;145;230mF\x1B[39m\x1B[38;2;93;143;233mr\x1B[39m\x1B[38;2;94;141;236ma\x1B[39m\x1B[38;2;95;138;239mm\x1B[39m\x1B[38;2;96;136;243me\x1B[39m\x1B[38;2;97;133;246mw\x1B[39m\x1B[38;2;98;131;249mo\x1B[39m\x1B[38;2;99;128;252mr\x1B[39m\x1B[38;2;100;126;255mk\x1B[39m'
-}
-
-export default banner
diff --git a/utils/banners.ts b/utils/banners.ts
new file mode 100644 (file)
index 0000000..5818ee4
--- /dev/null
@@ -0,0 +1,15 @@
+const defaultBanner = 'Vue.js - The Progressive JavaScript Framework'
+
+// generated by the following code:
+//
+// require('gradient-string')([
+//   { color: '#42d392', pos: 0 },
+//   { color: '#42d392', pos: 0.1 },
+//   { color: '#647eff', pos: 1 }
+// ])('Vue.js - The Progressive JavaScript Framework'))
+//
+// Use the output directly here to keep the bundle small.
+const gradientBanner =
+  '\x1B[38;2;66;211;146mV\x1B[39m\x1B[38;2;66;211;146mu\x1B[39m\x1B[38;2;66;211;146me\x1B[39m\x1B[38;2;66;211;146m.\x1B[39m\x1B[38;2;66;211;146mj\x1B[39m\x1B[38;2;67;209;149ms\x1B[39m \x1B[38;2;68;206;152m-\x1B[39m \x1B[38;2;69;204;155mT\x1B[39m\x1B[38;2;70;201;158mh\x1B[39m\x1B[38;2;71;199;162me\x1B[39m \x1B[38;2;72;196;165mP\x1B[39m\x1B[38;2;73;194;168mr\x1B[39m\x1B[38;2;74;192;171mo\x1B[39m\x1B[38;2;75;189;174mg\x1B[39m\x1B[38;2;76;187;177mr\x1B[39m\x1B[38;2;77;184;180me\x1B[39m\x1B[38;2;78;182;183ms\x1B[39m\x1B[38;2;79;179;186ms\x1B[39m\x1B[38;2;80;177;190mi\x1B[39m\x1B[38;2;81;175;193mv\x1B[39m\x1B[38;2;82;172;196me\x1B[39m \x1B[38;2;83;170;199mJ\x1B[39m\x1B[38;2;83;167;202ma\x1B[39m\x1B[38;2;84;165;205mv\x1B[39m\x1B[38;2;85;162;208ma\x1B[39m\x1B[38;2;86;160;211mS\x1B[39m\x1B[38;2;87;158;215mc\x1B[39m\x1B[38;2;88;155;218mr\x1B[39m\x1B[38;2;89;153;221mi\x1B[39m\x1B[38;2;90;150;224mp\x1B[39m\x1B[38;2;91;148;227mt\x1B[39m \x1B[38;2;92;145;230mF\x1B[39m\x1B[38;2;93;143;233mr\x1B[39m\x1B[38;2;94;141;236ma\x1B[39m\x1B[38;2;95;138;239mm\x1B[39m\x1B[38;2;96;136;243me\x1B[39m\x1B[38;2;97;133;246mw\x1B[39m\x1B[38;2;98;131;249mo\x1B[39m\x1B[38;2;99;128;252mr\x1B[39m\x1B[38;2;100;126;255mk\x1B[39m'
+
+export { defaultBanner, gradientBanner }