Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4156887

Browse files
Make dynamic importing
1 parentdf69a65 commit4156887

File tree

5 files changed

+4959
-2891
lines changed

5 files changed

+4959
-2891
lines changed

‎bin/leetcode

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
#!/usr/bin/env node
22

3-
require('../lib/cli').run();
3+
constcli=require('../lib/cli');
4+
5+
cli.run();

‎esbuild.config.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
constesbuild=require('esbuild');
2+
3+
esbuild
4+
.build({
5+
entryPoints:['bin/leetcode'],// Replace with your actual entry point
6+
bundle:true,
7+
platform:'node',
8+
target:'node14',// Specify your Node.js version target
9+
outfile:'dist/leetcode',// Output file
10+
minify:true,// Minify the output
11+
})
12+
.catch(()=>process.exit(1));

‎lib/cli.js

Lines changed: 50 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
'use strict';
2-
var_=require('underscore');
32

4-
varchalk=require('./chalk');
5-
varcache=require('./cache');
6-
varconfig=require('./config');
7-
varh=require('./helper');
8-
varfile=require('./file');
9-
varicon=require('./icon');
10-
varlog=require('./log');
11-
varPlugin=require('./plugin');
3+
const_=require('underscore');
4+
constchalk=require('./chalk');
5+
constcache=require('./cache');
6+
constconfig=require('./config');
7+
consth=require('./helper');
8+
constfile=require('./file');
9+
consticon=require('./icon');
10+
constlog=require('./log');
11+
constPlugin=require('./plugin');
1212

1313
// We are expecting a tier configuration like:
1414
// global config < local config < cli params
@@ -28,24 +28,22 @@ function initLogLevel() {
2828
log.init();
2929

3030
letlevel='INFO';
31-
if(process.argv.indexOf('-v')>=0)level='DEBUG';
32-
if(process.argv.indexOf('-vv')>=0)level='TRACE';
31+
if(process.argv.includes('-v'))level='DEBUG';
32+
if(process.argv.includes('-vv'))level='TRACE';
3333

3434
// print HTTP details in TRACE
3535
if(level==='TRACE'){
3636
constrequest=require('request');
3737
request.debug=true;
3838

39-
console.error=_.wrap(console.error,function(func){
40-
letargs=Array.from(arguments);
41-
args.shift();
42-
43-
// FIXME: hack HTTP request log, hope no one else use it...
44-
if(args.length>0&&args[0].indexOf('REQUEST ')===0){
39+
// eslint-disable-next-line no-console
40+
console.error=_.wrap(console.error,(func, ...args)=>{
41+
// FIXME: hack HTTP request log, hope no one else uses it...
42+
if(args.length>0&&args[0].startsWith('REQUEST ')){
4543
args=args.map((x)=>h.printSafeHTTP(x));
46-
log.trace.apply(log,args);
44+
log.trace(...args);
4745
}else{
48-
log.info.apply(log,args);
46+
log.info(...args);
4947
}
5048
});
5149
}
@@ -55,39 +53,60 @@ function initLogLevel() {
5553

5654
functioninitDir(){
5755
file.init();
58-
file.mkdir(file.homeDir())
56+
file.mkdir(file.homeDir());
5957
}
6058

6159
functioninitPlugins(cb){
6260
if(Plugin.init()){
6361
Plugin.save();
6462
returncb();
6563
}else{
66-
Plugin.installMissings(function(e){
64+
Plugin.installMissings((e)=>{
6765
if(e)returncb(e);
6866
Plugin.init();
6967
returncb();
7068
});
7169
}
7270
}
7371

74-
varcli={};
72+
constcli={};
73+
74+
constcommands=[
75+
require('./commands/cache'),
76+
require('./commands/config'),
77+
require('./commands/list'),
78+
require('./commands/plugin'),
79+
require('./commands/session'),
80+
require('./commands/show'),
81+
require('./commands/star'),
82+
require('./commands/stat'),
83+
require('./commands/submission'),
84+
require('./commands/submit'),
85+
require('./commands/test'),
86+
require('./commands/user'),
87+
require('./commands/version'),
88+
];
7589

7690
functionrunCommand(){
77-
varyargs=require('yargs');
91+
constyargs=require('yargs');
92+
7893
h.width=yargs.terminalWidth();
79-
yargs.commandDir('commands')
94+
commands.forEach((command)=>yargs.command(command));
95+
96+
// eslint-disable-next-line no-unused-expressions
97+
yargs
8098
.completion()
8199
.help('h')
82100
.alias('h','help')
83101
.version(false)
84-
.epilog('Seek more help at https://skygragon.github.io/leetcode-cli/commands')
85-
.wrap(Math.min(h.width,120))
86-
.argv;
102+
.epilog(
103+
'Seek more help at https://skygragon.github.io/leetcode-cli/commands'
104+
)
105+
.wrap(Math.min(h.width,120)).argv;
87106
}
88107

89-
cli.run=function(){
90-
process.stdout.on('error',function(e){
108+
cli.run=function(){
109+
process.stdout.on('error',(e)=>{
91110
if(e.code==='EPIPE')process.exit();
92111
});
93112

@@ -96,8 +115,8 @@ cli.run = function() {
96115
initColor();
97116
initIcon();
98117
initLogLevel();
99-
initDir()
100-
initPlugins(function(e){
118+
initDir();
119+
initPlugins((e)=>{
101120
if(e)returnlog.fatal(e);
102121
cache.init();
103122
runCommand();

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp