js-build-tools 6.6.0 → 6.7.0
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/LICENSE +674 -674
- package/README.md +762 -701
- package/babel.config.js +28 -28
- package/dist/build.js +75 -75
- package/dist/bundle.js +19 -19
- package/dist/bundleMinify.js +7 -7
- package/dist/compileReadme.js +4 -4
- package/dist/copyFiles.js +17 -17
- package/dist/copyFonts.js +4 -4
- package/dist/default.js +5 -5
- package/dist/dist.js +4 -4
- package/dist/distMinify.js +4 -4
- package/dist/docs.js +7 -7
- package/dist/images.js +4 -4
- package/dist/jsdocDocs.js +6 -6
- package/dist/lint.js +16 -16
- package/dist/partials/addToReadme.js +9 -9
- package/dist/partials/beginWatcher.js +4 -4
- package/dist/partials/clean.js +5 -5
- package/dist/partials/copyFor.js +9 -9
- package/dist/partials/distFor.js +6 -6
- package/dist/partials/distForSrc.js +5 -5
- package/dist/partials/distSeries.js +7 -7
- package/dist/partials/imagesFor.js +93 -93
- package/dist/partials/jsdocDocsFor.js +46 -46
- package/dist/partials/lintSource.js +51 -51
- package/dist/partials/loadPeer.js +99 -99
- package/dist/partials/loadPlaywright.js +14 -14
- package/dist/partials/minifyFor.js +20 -20
- package/dist/partials/neostandardLint.js +175 -175
- package/dist/partials/readmeTemplate.js +4 -4
- package/dist/partials/removeDirectory.js +11 -11
- package/dist/partials/resolveDocsMethod.js +6 -6
- package/dist/partials/runOnChange.js +31 -31
- package/dist/partials/sassFor.js +6 -6
- package/dist/partials/serveStatic.js +9 -9
- package/dist/partials/tsFor.js +32 -32
- package/dist/partials/typeDocsFor.js +264 -264
- package/dist/partials.js +176 -176
- package/dist/sourceLint.js +18 -18
- package/dist/test-helpers/isolateGulpCache.js +24 -24
- package/dist/test-helpers/setUp.js +4 -4
- package/dist/testFull.js +5 -5
- package/dist/testQuick.js +5 -5
- package/dist/typeDocs.js +5 -5
- package/dist/typeScript.js +4 -4
- package/dist/utilities/convertMjsFilesForDocs.js +12 -12
- package/dist/utilities/dotGet.js +54 -54
- package/dist/utilities/dotNotate.js +79 -79
- package/dist/utilities/dotSet.js +45 -45
- package/dist/utilities/esmNamedExportsToCjs.js +15 -15
- package/dist/utilities/getBundleConfigs.js +9 -9
- package/dist/utilities/isObject.js +6 -6
- package/dist/utilities/strAfter.js +7 -7
- package/dist/utilities/strBefore.js +7 -7
- package/dist/watchFull.js +4 -4
- package/dist/watchTest.js +4 -4
- package/functions/build.mjs +72 -72
- package/functions/build.test.mjs +763 -759
- package/functions/bundle.mjs +44 -44
- package/functions/bundle.test.mjs +219 -219
- package/functions/bundleMinify.mjs +16 -16
- package/functions/bundleMinify.test.mjs +37 -37
- package/functions/compileReadme.mjs +9 -9
- package/functions/compileReadme.test.mjs +18 -18
- package/functions/copyFiles.mjs +32 -32
- package/functions/copyFiles.test.mjs +78 -78
- package/functions/copyFonts.mjs +9 -9
- package/functions/copyFonts.test.mjs +32 -32
- package/functions/default.mjs +12 -12
- package/functions/default.test.mjs +33 -33
- package/functions/dist.mjs +8 -8
- package/functions/dist.test.mjs +44 -44
- package/functions/distMinify.mjs +9 -9
- package/functions/distMinify.test.mjs +15 -15
- package/functions/docs.mjs +13 -13
- package/functions/docs.test.mjs +45 -45
- package/functions/gulpConfigEntries.test.mjs +23 -23
- package/functions/images.mjs +8 -8
- package/functions/images.test.mjs +142 -142
- package/functions/jsdocDocs.mjs +10 -10
- package/functions/jsdocEsmExports.test.mjs +24 -24
- package/functions/lint.mjs +9 -9
- package/functions/partials/addToReadme.mjs +25 -25
- package/functions/partials/addToReadme.test.mjs +34 -34
- package/functions/partials/beginWatcher.mjs +9 -9
- package/functions/partials/beginWatcher.test.mjs +19 -19
- package/functions/partials/clean.mjs +13 -13
- package/functions/partials/clean.test.mjs +22 -22
- package/functions/partials/copyFor.mjs +15 -15
- package/functions/partials/copyFor.test.mjs +53 -53
- package/functions/partials/distFor.mjs +22 -22
- package/functions/partials/distFor.test.mjs +195 -195
- package/functions/partials/distForSrc.mjs +11 -11
- package/functions/partials/distForSrc.test.mjs +18 -18
- package/functions/partials/distSeries.mjs +21 -21
- package/functions/partials/distSeries.test.mjs +34 -34
- package/functions/partials/imagesFor.mjs +83 -83
- package/functions/partials/imagesFor.test.mjs +287 -287
- package/functions/partials/jsdocDocsFor.mjs +163 -152
- package/functions/partials/jsdocDocsFor.test.mjs +182 -152
- package/functions/partials/lintSource.mjs +41 -41
- package/functions/partials/loadPeer.mjs +76 -76
- package/functions/partials/loadPeer.test.mjs +58 -58
- package/functions/partials/loadPlaywright.mjs +23 -23
- package/functions/partials/loadPlaywright.test.mjs +70 -70
- package/functions/partials/minifyFor.mjs +15 -15
- package/functions/partials/minifyFor.test.mjs +49 -49
- package/functions/partials/neostandardLint.mjs +142 -142
- package/functions/partials/neostandardLint.test.mjs +131 -131
- package/functions/partials/readmeTemplate.mjs +12 -12
- package/functions/partials/readmeTemplate.test.mjs +34 -34
- package/functions/partials/removeDirectory.mjs +34 -34
- package/functions/partials/removeDirectory.test.mjs +72 -72
- package/functions/partials/resolveDocsMethod.mjs +10 -10
- package/functions/partials/resolveDocsMethod.test.mjs +33 -33
- package/functions/partials/runOnChange.mjs +54 -54
- package/functions/partials/runOnChange.test.mjs +95 -95
- package/functions/partials/sassFor.mjs +25 -25
- package/functions/partials/sassFor.test.mjs +81 -81
- package/functions/partials/serveStatic.mjs +47 -47
- package/functions/partials/serveStatic.test.mjs +71 -71
- package/functions/partials/tsFor.mjs +92 -92
- package/functions/partials/tsFor.test.mjs +88 -88
- package/functions/partials/typeDocsFor.mjs +231 -231
- package/functions/partials/typeDocsFor.test.mjs +263 -263
- package/functions/partials.mjs +31 -31
- package/functions/partials.test.mjs +7 -7
- package/functions/sass.mjs +4 -4
- package/functions/sass.test.mjs +31 -31
- package/functions/sourceLint.mjs +13 -13
- package/functions/sourceLint.test.mjs +166 -166
- package/functions/test-helpers/isolateGulpCache.mjs +16 -16
- package/functions/test-helpers/neostandardLintWithRealNeostandard.mjs +40 -40
- package/functions/test-helpers/setUp.mjs +100 -100
- package/functions/test-helpers/setUp.test.mjs +19 -19
- package/functions/testFull.mjs +17 -17
- package/functions/testFull.test.mjs +17 -17
- package/functions/testHelpers.mjs +10 -10
- package/functions/testHelpers.test.mjs +7 -7
- package/functions/testQuick.mjs +17 -17
- package/functions/testQuick.test.mjs +17 -17
- package/functions/typeDocs.mjs +9 -9
- package/functions/typeDocs.test.mjs +11 -11
- package/functions/typeScript.mjs +8 -8
- package/functions/typeScript.test.mjs +11 -11
- package/functions/utilities/convertMjsFilesForDocs.mjs +34 -34
- package/functions/utilities/convertMjsFilesForDocs.test.mjs +58 -58
- package/functions/utilities/dotGet.mjs +49 -49
- package/functions/utilities/dotNotate.mjs +73 -73
- package/functions/utilities/dotNotate.test.mjs +41 -41
- package/functions/utilities/dotSet.mjs +40 -40
- package/functions/utilities/esmNamedExportsToCjs.mjs +30 -30
- package/functions/utilities/esmNamedExportsToCjs.test.mjs +47 -47
- package/functions/utilities/getBundleConfigs.mjs +30 -30
- package/functions/utilities/isObject.mjs +8 -8
- package/functions/utilities/strAfter.mjs +12 -12
- package/functions/utilities/strBefore.mjs +12 -12
- package/functions/watchFull.mjs +9 -9
- package/functions/watchFull.test.mjs +41 -41
- package/functions/watchTest.mjs +10 -10
- package/functions/watchTest.test.mjs +49 -49
- package/gulp.config.js +4 -4
- package/gulp.config.mjs +344 -340
- package/gulpfile.base.js +51 -51
- package/gulpfile.base.mjs +29 -29
- package/jsdoc.base.js +16 -16
- package/jsdoc.esmExports.js +17 -17
- package/package.json +146 -145
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
import cache from 'gulp-cache'
|
|
2
|
-
import { requirePeer } from './loadPeer.mjs'
|
|
3
|
-
import { dest, src } from 'gulp'
|
|
4
|
-
import * as gulpConfig from '../../gulp.config.mjs'
|
|
5
|
-
|
|
6
|
-
const installHint = 'Add it to your project with: npm install --save-dev github:jheagle/gulp-imagemin#common-js-compatibility ' +
|
|
7
|
-
'(the CommonJS-compatible fork - upstream gulp-imagemin is ESM-only and cannot be require()d by this package\'s CommonJS build).'
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Load `gulp-imagemin`, an optional peer dependency: image optimization is off by default and its binary-download
|
|
11
|
-
* dependency chain is heavy, so it is only required once the images task actually runs, and it is resolved from the
|
|
12
|
-
* consuming project's own directory rather than from this package.
|
|
13
|
-
* @memberOf module:partials
|
|
14
|
-
* @param {string} [projectPath=process.cwd()] - The project directory to resolve `gulp-imagemin` from.
|
|
15
|
-
* @returns {Function} The gulp-imagemin plugin factory.
|
|
16
|
-
* @throws {Error} With install instructions when gulp-imagemin is missing or is the ESM-only upstream release.
|
|
17
|
-
*/
|
|
18
|
-
export const loadImagemin = (projectPath = process.cwd()) => {
|
|
19
|
-
const loaded = requirePeer('gulp-imagemin', {
|
|
20
|
-
task: 'images',
|
|
21
|
-
installHint,
|
|
22
|
-
esmOnlyMessage: `gulp-imagemin could not be loaded because it is ESM-only. ${installHint}`,
|
|
23
|
-
projectPath
|
|
24
|
-
})
|
|
25
|
-
return loaded && (loaded.__esModule || loaded.default) ? loaded.default : loaded
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Load the plugins `gulp-imagemin` exports by name (gifsicle, mozjpeg, optipng and svgo), each a promise of a plugin
|
|
30
|
-
* factory, for when they need options of their own (see images.jpegQuality). Resolved like {@link loadImagemin}.
|
|
31
|
-
* @memberOf module:partials
|
|
32
|
-
* @param {string} [projectPath=process.cwd()] - The project directory to resolve `gulp-imagemin` from.
|
|
33
|
-
* @returns {Object<string, Promise<Function>>} The plugin factories, by name.
|
|
34
|
-
*/
|
|
35
|
-
export const loadImageminPlugins = (projectPath = process.cwd()) => requirePeer('gulp-imagemin', {
|
|
36
|
-
task: 'images',
|
|
37
|
-
installHint,
|
|
38
|
-
esmOnlyMessage: `gulp-imagemin could not be loaded because it is ESM-only. ${installHint}`,
|
|
39
|
-
projectPath
|
|
40
|
-
})
|
|
41
|
-
|
|
42
|
-
// The plugins imagemin runs when it isn't given any, in its own order
|
|
43
|
-
const defaultPluginNames = ['gifsicle', 'mozjpeg', 'optipng', 'svgo']
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* The plugins imagemin uses by default, with mozjpeg set to the given JPEG quality instead of its own default (75).
|
|
47
|
-
* @memberOf module:partials
|
|
48
|
-
* @param {number} jpegQuality - The mozjpeg quality, 0 to 100.
|
|
49
|
-
* @param {Object<string, Promise<Function>>} [plugins=loadImageminPlugins()] - The plugin factories, by name.
|
|
50
|
-
* @returns {Array<Promise<Function>>} The plugins, in imagemin's default order.
|
|
51
|
-
*/
|
|
52
|
-
export const imageminPlugins = (jpegQuality, plugins = loadImageminPlugins()) => defaultPluginNames.map(
|
|
53
|
-
name => Promise.resolve(plugins[name]).then(makePlugin => name === 'mozjpeg' ? makePlugin({ quality: jpegQuality }) : makePlugin())
|
|
54
|
-
)
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Move and optimize images into the browser directory.
|
|
58
|
-
* @memberOf module:partials
|
|
59
|
-
* @param {string|array} [imageSrc=src/images/pattern]
|
|
60
|
-
* @param {string} [imageDest=dest/image/folder]
|
|
61
|
-
* @return {stream.Stream}
|
|
62
|
-
*/
|
|
63
|
-
export const imagesFor = (imageSrc = gulpConfig.get('images.from'), imageDest = gulpConfig.get('images.to')) => {
|
|
64
|
-
const imagemin = loadImagemin()
|
|
65
|
-
const jpegQuality = gulpConfig.get('images.jpegQuality')
|
|
66
|
-
// Left unset, imagemin runs its default plugins with their own defaults
|
|
67
|
-
const plugins = jpegQuality ? imageminPlugins(jpegQuality) : undefined
|
|
68
|
-
// Gulp 5 reads files as utf8 text unless told otherwise, which corrupts binary images (and makes gulp-cache drop them).
|
|
69
|
-
return src(imageSrc, { encoding: false })
|
|
70
|
-
.pipe(
|
|
71
|
-
// Caching images that ran through imagemin
|
|
72
|
-
cache(
|
|
73
|
-
imagemin(plugins, {
|
|
74
|
-
interlaced: true,
|
|
75
|
-
silent: true,
|
|
76
|
-
verbose: false,
|
|
77
|
-
}),
|
|
78
|
-
// gulp-cache keys on the file's contents alone, so keep each quality's results apart
|
|
79
|
-
{ name: jpegQuality ? `jpeg-quality-${jpegQuality}` : 'default' }
|
|
80
|
-
)
|
|
81
|
-
)
|
|
82
|
-
.pipe(dest(imageDest))
|
|
83
|
-
}
|
|
1
|
+
import cache from 'gulp-cache'
|
|
2
|
+
import { requirePeer } from './loadPeer.mjs'
|
|
3
|
+
import { dest, src } from 'gulp'
|
|
4
|
+
import * as gulpConfig from '../../gulp.config.mjs'
|
|
5
|
+
|
|
6
|
+
const installHint = 'Add it to your project with: npm install --save-dev github:jheagle/gulp-imagemin#common-js-compatibility ' +
|
|
7
|
+
'(the CommonJS-compatible fork - upstream gulp-imagemin is ESM-only and cannot be require()d by this package\'s CommonJS build).'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Load `gulp-imagemin`, an optional peer dependency: image optimization is off by default and its binary-download
|
|
11
|
+
* dependency chain is heavy, so it is only required once the images task actually runs, and it is resolved from the
|
|
12
|
+
* consuming project's own directory rather than from this package.
|
|
13
|
+
* @memberOf module:partials
|
|
14
|
+
* @param {string} [projectPath=process.cwd()] - The project directory to resolve `gulp-imagemin` from.
|
|
15
|
+
* @returns {Function} The gulp-imagemin plugin factory.
|
|
16
|
+
* @throws {Error} With install instructions when gulp-imagemin is missing or is the ESM-only upstream release.
|
|
17
|
+
*/
|
|
18
|
+
export const loadImagemin = (projectPath = process.cwd()) => {
|
|
19
|
+
const loaded = requirePeer('gulp-imagemin', {
|
|
20
|
+
task: 'images',
|
|
21
|
+
installHint,
|
|
22
|
+
esmOnlyMessage: `gulp-imagemin could not be loaded because it is ESM-only. ${installHint}`,
|
|
23
|
+
projectPath
|
|
24
|
+
})
|
|
25
|
+
return loaded && (loaded.__esModule || loaded.default) ? loaded.default : loaded
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Load the plugins `gulp-imagemin` exports by name (gifsicle, mozjpeg, optipng and svgo), each a promise of a plugin
|
|
30
|
+
* factory, for when they need options of their own (see images.jpegQuality). Resolved like {@link loadImagemin}.
|
|
31
|
+
* @memberOf module:partials
|
|
32
|
+
* @param {string} [projectPath=process.cwd()] - The project directory to resolve `gulp-imagemin` from.
|
|
33
|
+
* @returns {Object<string, Promise<Function>>} The plugin factories, by name.
|
|
34
|
+
*/
|
|
35
|
+
export const loadImageminPlugins = (projectPath = process.cwd()) => requirePeer('gulp-imagemin', {
|
|
36
|
+
task: 'images',
|
|
37
|
+
installHint,
|
|
38
|
+
esmOnlyMessage: `gulp-imagemin could not be loaded because it is ESM-only. ${installHint}`,
|
|
39
|
+
projectPath
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
// The plugins imagemin runs when it isn't given any, in its own order
|
|
43
|
+
const defaultPluginNames = ['gifsicle', 'mozjpeg', 'optipng', 'svgo']
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The plugins imagemin uses by default, with mozjpeg set to the given JPEG quality instead of its own default (75).
|
|
47
|
+
* @memberOf module:partials
|
|
48
|
+
* @param {number} jpegQuality - The mozjpeg quality, 0 to 100.
|
|
49
|
+
* @param {Object<string, Promise<Function>>} [plugins=loadImageminPlugins()] - The plugin factories, by name.
|
|
50
|
+
* @returns {Array<Promise<Function>>} The plugins, in imagemin's default order.
|
|
51
|
+
*/
|
|
52
|
+
export const imageminPlugins = (jpegQuality, plugins = loadImageminPlugins()) => defaultPluginNames.map(
|
|
53
|
+
name => Promise.resolve(plugins[name]).then(makePlugin => name === 'mozjpeg' ? makePlugin({ quality: jpegQuality }) : makePlugin())
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Move and optimize images into the browser directory.
|
|
58
|
+
* @memberOf module:partials
|
|
59
|
+
* @param {string|array} [imageSrc=src/images/pattern]
|
|
60
|
+
* @param {string} [imageDest=dest/image/folder]
|
|
61
|
+
* @return {stream.Stream}
|
|
62
|
+
*/
|
|
63
|
+
export const imagesFor = (imageSrc = gulpConfig.get('images.from'), imageDest = gulpConfig.get('images.to')) => {
|
|
64
|
+
const imagemin = loadImagemin()
|
|
65
|
+
const jpegQuality = gulpConfig.get('images.jpegQuality')
|
|
66
|
+
// Left unset, imagemin runs its default plugins with their own defaults
|
|
67
|
+
const plugins = jpegQuality ? imageminPlugins(jpegQuality) : undefined
|
|
68
|
+
// Gulp 5 reads files as utf8 text unless told otherwise, which corrupts binary images (and makes gulp-cache drop them).
|
|
69
|
+
return src(imageSrc, { encoding: false })
|
|
70
|
+
.pipe(
|
|
71
|
+
// Caching images that ran through imagemin
|
|
72
|
+
cache(
|
|
73
|
+
imagemin(plugins, {
|
|
74
|
+
interlaced: true,
|
|
75
|
+
silent: true,
|
|
76
|
+
verbose: false,
|
|
77
|
+
}),
|
|
78
|
+
// gulp-cache keys on the file's contents alone, so keep each quality's results apart
|
|
79
|
+
{ name: jpegQuality ? `jpeg-quality-${jpegQuality}` : 'default' }
|
|
80
|
+
)
|
|
81
|
+
)
|
|
82
|
+
.pipe(dest(imageDest))
|
|
83
|
+
}
|