@sequencemedia/gulp-cli 1.0.9 → 1.0.11

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/index.mjs CHANGED
@@ -1,6 +1,5 @@
1
1
 
2
2
  import path from 'node:path'
3
- import log from 'gulplog'
4
3
  import yargs from 'yargs'
5
4
  import {
6
5
  hideBin
@@ -9,6 +8,7 @@ import Liftoff from '@sequencemedia/liftoff'
9
8
  import interpret from 'interpret'
10
9
  import v8flags from 'v8flags'
11
10
 
11
+ import logger from './lib/logger.mjs'
12
12
  import ansi from './lib/ansi.mjs'
13
13
  import exit from './lib/exit.mjs'
14
14
  import tildify from './lib/tildify.mjs'
@@ -62,27 +62,24 @@ let {
62
62
  .options(cliOptions)
63
63
  )
64
64
 
65
- cli.on('require', (name) => {
66
- // This is needed because interpret needs to stub the .mjs extension
67
- // Without the .mjs require hook, rechoir blows up
68
- // However, we don't want to show the mjs-stub loader in the logs
69
- if (path.basename(name, '.js') !== 'mjs-stub') {
70
- log.info('Loading external module', ansi.magenta(name))
71
- }
72
- })
73
-
74
- cli.on('requireFail', (name, error) => {
75
- log.warn(`${ansi.yellow('Failed to load external module')} ${ansi.magenta(name)}`)
76
-
77
- if (error) {
78
- log.warn(ansi.yellow(error.toString()))
79
- }
80
- })
65
+ cli
66
+ .on('require', (name) => {
67
+ // This is needed because interpret needs to stub the .mjs extension
68
+ // Without the .mjs require hook, rechoir blows up
69
+ // However, we don't want to show the mjs-stub loader in the logs
70
+ if (path.basename(name, '.js') !== 'mjs-stub') {
71
+ logger.info('Loading external module', ansi.magenta(name))
72
+ }
73
+ })
74
+ .on('requireFail', (name, error) => {
75
+ logger.warn(`${ansi.yellow('Failed to load external module')} ${ansi.magenta(name)}`)
81
76
 
82
- cli.on('respawn', (nodeFlags, { pid }) => {
83
- log.info(`Node flags detected: ${ansi.magenta(nodeFlags.join(', '))}`)
84
- log.info(`Respawned to PID: ${ansi.magenta(pid)}`)
85
- })
77
+ if (error) logger.warn(ansi.yellow(error.toString()))
78
+ })
79
+ .on('respawn', (nodeFlags, { pid }) => {
80
+ logger.info(`Node flags: ${ansi.magenta(nodeFlags.join(', '))}`)
81
+ logger.info(`Respawned to PID: ${ansi.magenta(pid)}`)
82
+ })
86
83
 
87
84
  function execute (envProps, cliProps, configProps) {
88
85
  /**
@@ -102,12 +99,12 @@ function execute (envProps, cliProps, configProps) {
102
99
  process.env.GULP_CWD = GULP_CWD
103
100
 
104
101
  if (!envProps.modulePath) {
105
- log.error(`${ansi.red('Gulp not found')} in ${ansi.magenta(tildify(GULP_CWD))}`)
102
+ logger.error(`${ansi.red('Gulp not found')} in ${ansi.magenta(tildify(GULP_CWD))}`)
106
103
  exit(1)
107
104
  }
108
105
 
109
106
  if (!envProps.configPath) {
110
- log.error(`${ansi.red('Gulpfile not found')} in ${ansi.magenta(tildify(GULP_CWD))}`)
107
+ logger.error(`${ansi.red('Gulpfile not found')} in ${ansi.magenta(tildify(GULP_CWD))}`)
111
108
  exit(1)
112
109
  }
113
110
 
@@ -1,30 +1,30 @@
1
- import log from 'gulplog'
2
1
  import prettyHrtime from 'pretty-hrtime'
3
2
 
4
- import ansi from '../ansi.mjs'
5
- import formatError from '../format-error.mjs'
3
+ import logger from '#gulp-cli/lib/logger'
4
+ import ansi from '#gulp-cli/lib/ansi'
5
+ import formatError from '#gulp-cli/lib/format-error'
6
6
 
7
7
  const errors = new Set()
8
8
 
9
9
  function start (event) {
10
10
  const level = event.branch ? 'debug' : 'info'
11
- log[level](`Starting '${ansi.cyan(event.name)}'...`)
11
+ logger[level](`Starting '${ansi.cyan(event.name)}'...`)
12
12
  }
13
13
 
14
14
  function stop (event) {
15
15
  const level = event.branch ? 'debug' : 'info'
16
- log[level](`Finished '${ansi.cyan(event.name)}' after ${ansi.magenta(prettyHrtime(event.duration))}`)
16
+ logger[level](`Finished '${ansi.cyan(event.name)}' after ${ansi.magenta(prettyHrtime(event.duration))}`)
17
17
  }
18
18
 
19
19
  function error (event) {
20
20
  const level = event.branch ? 'debug' : 'error'
21
- log[level](`'${ansi.cyan(event.name)}' ${ansi.red('errored after')} ${ansi.magenta(prettyHrtime(event.duration))}`)
21
+ logger[level](`'${ansi.cyan(event.name)}' ${ansi.red('errored after')} ${ansi.magenta(prettyHrtime(event.duration))}`)
22
22
 
23
23
  // Exit if we have logged this before
24
24
  if (errors.has(event.error)) return
25
25
 
26
26
  // If we haven't logged this before, log it and add it to the error list
27
- log.error(formatError(event))
27
+ logger.error(formatError(event))
28
28
  errors.add(event.error)
29
29
  }
30
30
 
@@ -1,5 +1,5 @@
1
- import log from 'gulplog'
2
1
  import fancyLog from 'fancy-log'
2
+ import logger from '#gulp-cli/lib/logger'
3
3
 
4
4
  const noop = () => {}
5
5
 
@@ -16,9 +16,9 @@ function stopListeningForLevelEvents () {
16
16
  levels
17
17
  .forEach((level) => {
18
18
  if (level === 'error') {
19
- log.removeListener(level, noop).removeListener(level, fancyLog.error)
19
+ logger.removeListener(level, noop).removeListener(level, fancyLog.error)
20
20
  } else {
21
- log.removeListener(level, fancyLog)
21
+ logger.removeListener(level, fancyLog)
22
22
  }
23
23
  })
24
24
  }
@@ -31,7 +31,7 @@ export default function listenForLevelEvents (cliProps) {
31
31
  // Silent?
32
32
  if (cliProps.tasksList || cliProps.tasksJson || cliProps.help || cliProps.version || cliProps.silent) {
33
33
  // Keep from crashing process when silent
34
- log.on('error', noop)
34
+ logger.on('error', noop)
35
35
  } else {
36
36
  // Default level is 3 (info)
37
37
  const loglevel = cliProps.logLevel || 3
@@ -40,9 +40,9 @@ export default function listenForLevelEvents (cliProps) {
40
40
  .filter((level, i) => level && i < loglevel)
41
41
  .forEach((level) => {
42
42
  if (level === 'error') {
43
- log.on(level, fancyLog.error)
43
+ logger.on(level, fancyLog.error)
44
44
  } else {
45
- log.on(level, fancyLog)
45
+ logger.on(level, fancyLog)
46
46
  }
47
47
  })
48
48
  }
@@ -1,5 +1,5 @@
1
- import log from 'gulplog'
2
- import ansi from '../ansi.mjs'
1
+ import logger from '#gulp-cli/lib/logger'
2
+ import ansi from '#gulp-cli/lib/ansi'
3
3
 
4
4
  const tasks = new Map()
5
5
 
@@ -9,13 +9,15 @@ function warn () {
9
9
 
10
10
  process.exitCode = 1
11
11
 
12
- log.warn(
12
+ logger.warn(
13
13
  ansi.red('The following tasks did not complete:')
14
14
  )
15
- log.warn(
15
+
16
+ logger.warn(
16
17
  ansi.cyan(taskNames)
17
18
  )
18
- log.warn(
19
+
20
+ logger.warn(
19
21
  ansi.red('Did you forget to signal async completion?')
20
22
  )
21
23
  }
@@ -2,7 +2,7 @@ import {
2
2
  writeFile
3
3
  } from 'node:fs/promises'
4
4
 
5
- import getDuplicate from '../get-duplicate.mjs'
5
+ import getDuplicate from '#gulp-cli/lib/get-duplicate'
6
6
 
7
7
  export default function logTasksJson (tree, cliProps) {
8
8
  const dupe = getDuplicate(tree, cliProps)
package/lib/log/tasks.mjs CHANGED
@@ -1,11 +1,11 @@
1
1
  import archy from 'archy'
2
- import log from 'gulplog'
3
2
 
4
3
  import sortBy from 'array-sort'
5
4
  import isObject from 'isobject'
6
5
 
7
- import ansi from '../ansi.mjs'
8
- import getDuplicate from '../get-duplicate.mjs'
6
+ import logger from '#gulp-cli/lib/logger'
7
+ import ansi from '#gulp-cli/lib/ansi'
8
+ import getDuplicate from '#gulp-cli/lib/get-duplicate'
9
9
 
10
10
  function getLineInfoCollector (lineInfo) {
11
11
  return {
@@ -140,11 +140,11 @@ function logLines (lines, spacer, lineInfo) {
140
140
  line += ansi.white(info.name)
141
141
  }
142
142
 
143
- log.info(line)
143
+ logger.info(line)
144
144
  })
145
145
  }
146
146
 
147
- // Wire up log tasks
147
+ // Wire up logger tasks
148
148
  export default function logTasks (tree, cliProps, getTask) {
149
149
  if (cliProps.sortTasks) {
150
150
  tree.nodes = sortBy(tree.nodes, 'label')
@@ -158,6 +158,6 @@ export default function logTasks (tree, cliProps, getTask) {
158
158
  const spacer = getSpacerForLineIndents(dupe, lineInfo)
159
159
  const lines = getLinesContainingOnlyBranches(dupe)
160
160
 
161
- log.info(dupe.label)
161
+ logger.info(dupe.label)
162
162
  logLines(lines, spacer, lineInfo)
163
163
  }
package/lib/logger.mjs ADDED
@@ -0,0 +1,3 @@
1
+ import getLogger from '@sequencemedia/gulp-log'
2
+
3
+ export default getLogger('gulp-cli')
@@ -1,5 +1,4 @@
1
- import log from 'gulplog'
2
-
1
+ import logger from './logger.mjs'
3
2
  import ansi from './ansi.mjs'
4
3
  import exit from './exit.mjs'
5
4
  import tildify from './tildify.mjs'
@@ -30,7 +29,7 @@ export default function runGulpTasks (gulp, cliProps, envProps, configProps) {
30
29
  configPath
31
30
  } = envProps
32
31
 
33
- log.info(`Using gulpfile ${ansi.magenta(tildify(configPath))}`)
32
+ logger.info(`Using gulpfile ${ansi.magenta(tildify(configPath))}`)
34
33
 
35
34
  const method = getMethodFromCliProps(cliProps)
36
35
  const tasks = getTasksFromCliProps(cliProps)
@@ -39,8 +38,8 @@ export default function runGulpTasks (gulp, cliProps, envProps, configProps) {
39
38
  gulp[method](tasks)((e) => e && exit(1))
40
39
  )
41
40
  } catch ({ message }) {
42
- log.error(ansi.red(message))
43
- log.error('To list available tasks run: gulp --tasks')
41
+ logger.error(ansi.red(message))
42
+ logger.error('To list available tasks run: gulp --tasks')
44
43
  exit(1)
45
44
  }
46
45
  }
@@ -4,8 +4,7 @@ import {
4
4
  readFile
5
5
  } from 'node:fs/promises'
6
6
 
7
- import log from 'gulplog'
8
-
7
+ import logger from './logger.mjs'
9
8
  import ansi from './ansi.mjs'
10
9
  import exit from './exit.mjs'
11
10
  import tildify from './tildify.mjs'
@@ -31,7 +30,7 @@ async function getPackageJson (packagePath) {
31
30
  export default async function runVerify (envProps, cliProps) {
32
31
  const packagePath = getPackagePath(envProps, cliProps)
33
32
 
34
- log.info(`Verifying dependencies in ${ansi.magenta(tildify(packagePath))}`)
33
+ logger.info(`Verifying dependencies in ${ansi.magenta(tildify(packagePath))}`)
35
34
  try {
36
35
  const blacklistJson = await getBlacklist()
37
36
  const packageJson = await getPackageJson(packagePath)
@@ -39,18 +38,18 @@ export default async function runVerify (envProps, cliProps) {
39
38
 
40
39
  const dependencies = Object.entries(packageBlacklist)
41
40
  if (dependencies.length) {
42
- log.warn(ansi.red('Blacklisted dependencies in this project:'))
41
+ logger.warn(ansi.red('Blacklisted dependencies in this project:'))
43
42
  dependencies
44
43
  .forEach(([name, reason]) => {
45
- log.warn(`${ansi.bgred(name)}: ${reason}`)
44
+ logger.warn(`${ansi.bgred(name)}: ${reason}`)
46
45
  })
47
46
  exit(1)
48
47
  }
49
48
 
50
- log.info(ansi.green('There are no blacklisted dependencies in this project'))
49
+ logger.info(ansi.green('There are no blacklisted dependencies in this project'))
51
50
  exit(0)
52
51
  } catch ({ message }) {
53
- log.error(`${ansi.red('Failed to verify dependencies.')} Could not get blacklist - ${message}`)
52
+ logger.error(`${ansi.red('Failed to verify dependencies.')} Could not get blacklist - ${message}`)
54
53
  exit(1)
55
54
  }
56
55
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sequencemedia/gulp-cli",
3
- "version": "1.0.9",
3
+ "version": "1.0.11",
4
4
  "description": "The command line interface to Gulp",
5
5
  "keywords": [
6
6
  "build",
@@ -33,6 +33,7 @@
33
33
  "gulp": "bin/gulp.mjs"
34
34
  },
35
35
  "dependencies": {
36
+ "@sequencemedia/gulp-log": "^1.0.0",
36
37
  "@sequencemedia/liftoff": "1.0.0",
37
38
  "ansi-colors": "^4.1.3",
38
39
  "archy": "^1.0.0",
@@ -62,7 +63,6 @@
62
63
  "eslint-plugin-import": "^2.27.5",
63
64
  "eslint-plugin-node": "^11.1.0",
64
65
  "eslint-plugin-promise": "^6.1.1",
65
- "expect": "^29.5.0",
66
66
  "husky": "^8.0.3",
67
67
  "mocha": "^10.2.0",
68
68
  "rimraf": "^5.0.0",