summarylogtreecommitdiffstats
path: root/nodejs-fontmin-110.patch
blob: 56319d58edd293131838df76ea54d85b18bd3ed4 (plain)
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
From 755f5891f3e1981e92275576226ea22120248f4d Mon Sep 17 00:00:00 2001
From: meowtec <bertonzh@gmail.com>
Date: Tue, 12 Sep 2023 19:54:43 +0800
Subject: [PATCH] fix: refactor cli.js to esm

---
 cli.js => cli.mjs | 106 ++++++++++++++++++++++------------------------
 package.json      |   4 +-
 2 files changed, 53 insertions(+), 57 deletions(-)
 rename cli.js => cli.mjs (58%)

diff --git a/cli.js b/cli.mjs
similarity index 58%
rename from cli.js
rename to cli.mjs
index d1eac5b..54d9c6a 100755
--- a/cli.js
+++ b/cli.mjs
@@ -9,63 +9,59 @@
 
 'use strict';
 
-var fs = require('fs');
-var meow = require('meow');
-var path = require('path');
-var stdin = require('get-stdin');
-var Fontmin = require('./');
-var _ = require('lodash');
-
-var cli = meow({
-    help: [
-        'Usage',
-        '  $ fontmin <file> [<output>]',
-        '  $ fontmin <directory> [<output>]',
-        '  $ fontmin <file> > <output>',
-        '  $ cat <file> | fontmin > <output>',
-        '',
-        'Example',
-        '  $ fontmin fonts/* build',
-        '  $ fontmin fonts build',
-        '  $ fontmin foo.ttf > foo-optimized.ttf',
-        '  $ cat foo.ttf | fontmin > foo-optimized.ttf',
-        '',
-        'Options',
-        '  -t, --text                          require glyphs by text',
-        '  -b, --basic-text                    require glyphs with base chars',
-        '  -d, --deflate-woff                  deflate woff',
-        '  --font-family                       font-family for @font-face CSS',
-        '  --css-glyph                         generate class for each glyf. default = false',
-        '  -T, --show-time                     show time fontmin cost'
-    ].join('\n')
-}, {
-    'boolean': [
-        'basic-text',
-        'show-time',
-        'deflate-woff',
-        'css-glyph',
-        'version'
-    ],
-    'string': [
-        'text',
-        'font-family'
-    ],
-    'alias': {
-        t: 'text',
-        b: 'basic-text',
-        d: 'deflate-woff',
-        T: 'show-time',
-        h: 'help',
-        v: 'version'
-    }
+import fs from 'fs';
+import path from 'path';
+import meow from 'meow';
+import stdin from 'get-stdin';
+import _ from 'lodash';
+import Fontmin from './index.js';
+
+var cli = meow(`
+    Usage
+    $ fontmin <file> [<output>]
+    $ fontmin <directory> [<output>]
+    $ fontmin <file> > <output>
+    $ cat <file> | fontmin > <output>
+
+    Example
+    $ fontmin fonts/* build
+    $ fontmin fonts build
+    $ fontmin foo.ttf > foo-optimized.ttf
+    $ cat foo.ttf | fontmin > foo-optimized.ttf
+
+    Options
+    -t, --text                          require glyphs by text
+    -b, --basic-text                    require glyphs with base chars
+    -d, --deflate-woff                  deflate woff
+    --font-family                       font-family for @font-face CSS
+    --css-glyph                         generate class for each glyf. default = false
+    -T, --show-time                     show time fontmin cost
+`, {
+    importMeta: import.meta,
+    flags: {
+        text: {
+            type: 'string',
+            shortFlag: 't',
+        },
+        basicText: {
+            type: 'boolean',
+            shortFlag: 'b',
+        },
+        fontFamily: {},
+        showTime: {
+            type: 'boolean',
+            shortFlag: 'T',
+        },
+        deflateWoff: {
+            type: 'boolean',
+            shortFlag: 'd',
+        },
+        cssGlyph: {
+            type: 'boolean',
+        },
+    },
 });
 
-// version
-if (cli.flags.version) {
-    console.log(require('./package.json').version);
-    process.exit(0);
-}
-
 function isFile(path) {
     if (/^[^\s]+\.\w*$/.test(path)) {
         return true;
diff --git a/package.json b/package.json
index 9dd280d..f5b369a 100644
--- a/package.json
+++ b/package.json
@@ -34,7 +34,7 @@
     "node": ">=12"
   },
   "bin": {
-    "fontmin": "cli.js"
+    "fontmin": "cli.mjs"
   },
   "scripts": {
     "test": "mocha test/*.spec.js",
@@ -57,7 +57,7 @@
     "is-svg": "^4.2.1",
     "is-ttf": "^0.2.2",
     "lodash": "^4.17.10",
-    "meow": "^10.1.1",
+    "meow": "^12.1.1",
     "pako": "^2.0.3",
     "replace-ext": "^2.0.0",
     "stream-combiner": "^0.2.1",