11#!/usr/bin/env node
22'use strict' ;
3- const fs = require ( 'fs' ) ;
4- const path = require ( 'path' ) ;
5- const chalk = require ( 'chalk' ) ;
6- const updateNotifier = require ( 'update-notifier' ) ;
7- const yosay = require ( 'yosay' ) ;
8- const stringLength = require ( 'string-length' ) ;
9- const rootCheck = require ( 'root-check' ) ;
10- const meow = require ( 'meow' ) ;
11- const list = require ( 'cli-list' ) ;
12- const Tabtab = require ( 'tabtab' ) ;
13- const pkg = require ( '../package.json' ) ;
14- const Router = require ( './router' ) ;
15-
3+ import fs from 'node:fs' ;
4+ import path from 'node:path' ;
5+ import chalk from 'chalk' ;
6+ import updateNotifier from 'update-notifier' ;
7+ import yosay from 'yosay' ;
8+ import stringLength from 'string-length' ;
9+ import rootCheck from 'root-check' ;
10+ import meow from 'meow' ;
11+ import list from 'cli-list' ;
12+ import tabtab from './completion/tabtab.cjs' ;
13+ import pkg from './utils/project-package.js' ;
14+ import Router from './router.js' ;
15+ import { bootstrap } from 'global-agent' ;
16+ import * as routes from './routes/index.js' ;
17+ import { getDirname } from './utils/node-shims.js' ;
18+
19+ const __dirname = getDirname ( import . meta. url ) ;
1620const gens = list ( process . argv . slice ( 2 ) ) ;
1721
18- // Override http networking to go through a proxy ifone is configured
19- const MAJOR_NODEJS_VERSION = Number . parseInt ( process . version . slice ( 1 ) . split ( '.' ) [ 0 ] , 10 ) ;
20-
21- if ( MAJOR_NODEJS_VERSION >= 10 ) {
22- // `global-agent` works with Node.js v10 and above.
23- require ( 'global-agent' ) . bootstrap ( ) ;
24- } else {
25- // `global-tunnel-ng` works only with Node.js v10 and below.
26- require ( 'global-tunnel-ng' ) . initialize ( ) ;
27- }
28-
29- /* eslint new-cap: 0, no-extra-parens: 0 */
30- const tabtab = new Tabtab . Commands . default ( {
31- name : 'yo' ,
32- completer : 'yo-complete'
33- } ) ;
22+ bootstrap ( ) ;
3423
3524const cli = gens . map ( gen => {
36- const minicli = meow ( { autoHelp : false , autoVersion : true , pkg, argv : gen } ) ;
25+ const minicli = meow ( { autoHelp : false , autoVersion : true , pkg, argv : gen , importMeta : import . meta } ) ;
3726 const options = minicli . flags ;
3827 const args = minicli . input ;
3928
@@ -66,7 +55,9 @@ function updateCheck() {
6655async function pre ( ) {
6756 // Debugging helper
6857 if ( cmd === 'doctor' ) {
69- require ( 'yeoman-doctor' ) ( ) ;
58+ // eslint-disable-next-line node/no-unsupported-features/es-syntax
59+ const yeomanDoctor = ( await import ( 'yeoman-doctor' ) ) . default ;
60+ yeomanDoctor ( ) ;
7061 return ;
7162 }
7263
@@ -76,7 +67,9 @@ async function pre() {
7667
7768 // Easteregg
7869 if ( cmd === 'yeoman' || cmd === 'yo' ) {
79- console . log ( require ( 'yeoman-character' ) ) ;
70+ // eslint-disable-next-line node/no-unsupported-features/es-syntax
71+ const yeomanCharacter = ( await import ( 'yeoman-character' ) ) . default ;
72+ console . log ( yeomanCharacter ) ;
8073 return ;
8174 }
8275
@@ -171,13 +164,13 @@ async function init() {
171164
172165function runYo ( env ) {
173166 const router = new Router ( env ) ;
174- router . registerRoute ( 'help' , require ( './ routes/ help' ) ) ;
175- router . registerRoute ( 'update' , require ( './ routes/ update' ) ) ;
176- router . registerRoute ( 'run' , require ( './ routes/ run' ) ) ;
177- router . registerRoute ( 'install' , require ( './ routes/ install' ) ) ;
178- router . registerRoute ( 'exit' , require ( './ routes/ exit' ) ) ;
179- router . registerRoute ( 'clearConfig' , require ( './ routes/clear-config' ) ) ;
180- router . registerRoute ( 'home' , require ( './ routes/ home' ) ) ;
167+ router . registerRoute ( 'help' , routes . help ) ;
168+ router . registerRoute ( 'update' , routes . update ) ;
169+ router . registerRoute ( 'run' , routes . run ) ;
170+ router . registerRoute ( 'install' , routes . install ) ;
171+ router . registerRoute ( 'exit' , routes . exit ) ;
172+ router . registerRoute ( 'clearConfig' , routes . clearConfig ) ;
173+ router . registerRoute ( 'home' , routes . home ) ;
181174
182175 process . once ( 'exit' , router . navigate . bind ( router , 'exit' ) ) ;
183176
0 commit comments