@penskemediacorp/larva 1.8.0-alpha.0 → 1.8.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/.eslintignore +6 -0
- package/LICENSE +21 -0
- package/README.md +96 -37
- package/__tests__/fixtures/build/css/common.inline.css +1 -2
- package/__tests__/fixtures/{src/patterns/05-objects/_objects.scss → build/images/test.png} +0 -0
- package/__tests__/fixtures/build/js/larva-ui.js +1 -0
- package/__tests__/fixtures/build/svg/defs/sprite.svg +1 -0
- package/__tests__/fixtures/larva.config.js +18 -9
- package/__tests__/fixtures/public/some-library.js +1 -0
- package/__tests__/fixtures/src/patterns/{05-objects/o-crap/o-crap.scss → __tests__/.gitkeep} +0 -0
- package/__tests__/fixtures/src/patterns/components/c-nav-link/c-nav-link.featured.aia.js +3 -0
- package/__tests__/fixtures/src/patterns/components/c-nav-link/c-nav-link.featured.js +3 -0
- package/__tests__/fixtures/src/patterns/components/c-nav-link/c-nav-link.js +1 -0
- package/__tests__/fixtures/src/patterns/components/c-nav-link/c-nav-link.prototype.js +1 -1
- package/__tests__/fixtures/src/patterns/components/c-tagline/c-tagline.prototype.js +3 -0
- package/__tests__/fixtures/src/patterns/modules/_also-ignored/_also-ignored.prototype.js +3 -0
- package/__tests__/fixtures/src/patterns/modules/_also-ignored/_also-ignored.twig +3 -0
- package/__tests__/fixtures/src/patterns/modules/ignore-me/ignore-me.prototype.js +0 -0
- package/__tests__/fixtures/src/patterns/modules/ignore-me/ignore-me.twig +0 -0
- package/__tests__/fixtures/src/patterns/modules/test-module/test-module.featured.js +3 -0
- package/__tests__/fixtures/src/patterns/modules/test-module/test-module.prototype.js +3 -0
- package/__tests__/fixtures/src/patterns/modules/test-module/test-module.twig +0 -0
- package/__tests__/fixtures/src/patterns/one-offs/newswire/newswire.html +1 -0
- package/__tests__/fixtures/src/patterns/one-offs/newswire/newswire.prototype.js +3 -0
- package/__tests__/lib/generateStatic.test.js +140 -0
- package/__tests__/lib/utils/clonePatternData.test.js +16 -12
- package/__tests__/lib/utils/getAllPatternsObj.test.js +45 -0
- package/__tests__/lib/utils/getAppConfiguration.test.js +13 -0
- package/__tests__/lib/utils/getModuleNamesFromDirectory.test.js +23 -0
- package/__tests__/lib/utils/getPatternData.test.js +32 -5
- package/__tests__/lib/utils/getPatternRoutes.test.js +29 -0
- package/__tests__/lib/utils/getPatternVariants.test.js +20 -0
- package/__tests__/lib/utils/getSubDirectoryNames.test.js +17 -0
- package/__tests__/lib/writeJson.test.js +83 -0
- package/bin/larva.js +21 -6
- package/build/css/larva-important.css +1 -0
- package/build/css/larva-ui.css +1 -0
- package/build/css/larva.css +1 -0
- package/build/css/larva.inline-important.css +1 -0
- package/build/css/larva.inline.css +1 -0
- package/build/css/variety.compat-important.css +1 -0
- package/build/css/variety.compat.css +1 -0
- package/build/js/common.js +26 -0
- package/build/js/larva-ui.js +1 -0
- package/build/js/standalone/video-showcase.js +26 -0
- package/build/svg/brand-logo-white.svg +1 -0
- package/build/svg/brand-logo.svg +1 -0
- package/build/svg/defs/sprite.defs.html +852 -0
- package/build/svg/defs/sprite.defs.svg +1 -0
- package/build/svg/logo-404.svg +1 -0
- package/build/tokens/artinamerica.custom-properties.css +546 -0
- package/build/tokens/artinamerica.json +533 -0
- package/build/tokens/artinamerica.map.scss +546 -0
- package/build/tokens/artinamerica.raw.json +4341 -0
- package/build/tokens/artnews.custom-properties.css +550 -0
- package/build/tokens/artnews.json +536 -0
- package/build/tokens/artnews.map.scss +550 -0
- package/build/tokens/artnews.raw.json +4373 -0
- package/build/tokens/bbpro.custom-properties.css +96 -0
- package/build/tokens/bbpro.json +80 -0
- package/build/tokens/bbpro.map.scss +96 -0
- package/build/tokens/bbpro.raw.json +789 -0
- package/build/tokens/billboard.custom-properties.css +96 -0
- package/build/tokens/billboard.json +80 -0
- package/build/tokens/billboard.map.scss +96 -0
- package/build/tokens/billboard.raw.json +789 -0
- package/build/tokens/deadline.custom-properties.css +533 -0
- package/build/tokens/deadline.json +517 -0
- package/build/tokens/deadline.map.scss +533 -0
- package/build/tokens/deadline.raw.json +4204 -0
- package/build/tokens/default.custom-properties.css +533 -0
- package/build/tokens/default.json +517 -0
- package/build/tokens/default.map.scss +533 -0
- package/build/tokens/default.raw.json +4204 -0
- package/build/tokens/dirt.custom-properties.css +81 -0
- package/build/tokens/dirt.json +66 -0
- package/build/tokens/dirt.map.scss +81 -0
- package/build/tokens/dirt.raw.json +690 -0
- package/build/tokens/indiewire.custom-properties.css +536 -0
- package/build/tokens/indiewire.json +520 -0
- package/build/tokens/indiewire.map.scss +536 -0
- package/build/tokens/indiewire.raw.json +4221 -0
- package/build/tokens/rivet.custom-properties.css +82 -0
- package/build/tokens/rivet.json +68 -0
- package/build/tokens/rivet.map.scss +82 -0
- package/build/tokens/rivet.raw.json +703 -0
- package/build/tokens/robbreport.custom-properties.css +536 -0
- package/build/tokens/robbreport.json +518 -0
- package/build/tokens/robbreport.map.scss +536 -0
- package/build/tokens/robbreport.raw.json +4215 -0
- package/build/tokens/rollingstone-2022.custom-properties.css +534 -0
- package/build/tokens/rollingstone-2022.json +519 -0
- package/build/tokens/rollingstone-2022.map.scss +534 -0
- package/build/tokens/rollingstone-2022.raw.json +4035 -0
- package/build/tokens/rollingstone.custom-properties.css +530 -0
- package/build/tokens/rollingstone.json +518 -0
- package/build/tokens/rollingstone.map.scss +530 -0
- package/build/tokens/rollingstone.raw.json +4207 -0
- package/build/tokens/sheknows.custom-properties.css +92 -0
- package/build/tokens/sheknows.json +76 -0
- package/build/tokens/sheknows.map.scss +92 -0
- package/build/tokens/sheknows.raw.json +761 -0
- package/build/tokens/sourcingjournal.custom-properties.css +87 -0
- package/build/tokens/sourcingjournal.json +70 -0
- package/build/tokens/sourcingjournal.map.scss +87 -0
- package/build/tokens/sourcingjournal.raw.json +720 -0
- package/build/tokens/sportico.custom-properties.css +73 -0
- package/build/tokens/sportico.json +59 -0
- package/build/tokens/sportico.map.scss +73 -0
- package/build/tokens/sportico.raw.json +640 -0
- package/build/tokens/thr.custom-properties.css +83 -0
- package/build/tokens/thr.json +67 -0
- package/build/tokens/thr.map.scss +83 -0
- package/build/tokens/thr.raw.json +698 -0
- package/build/tokens/variety-compat.custom-properties.css +36 -0
- package/build/tokens/variety-compat.json +33 -0
- package/build/tokens/variety-compat.map.scss +36 -0
- package/build/tokens/variety-compat.raw.json +224 -0
- package/build/tokens/variety-vip.custom-properties.css +532 -0
- package/build/tokens/variety-vip.json +521 -0
- package/build/tokens/variety-vip.map.scss +532 -0
- package/build/tokens/variety-vip.raw.json +4223 -0
- package/build/tokens/variety.custom-properties.css +534 -0
- package/build/tokens/variety.json +521 -0
- package/build/tokens/variety.map.scss +534 -0
- package/build/tokens/variety.raw.json +4225 -0
- package/build/tokens/vibe.custom-properties.css +77 -0
- package/build/tokens/vibe.json +63 -0
- package/build/tokens/vibe.map.scss +77 -0
- package/build/tokens/vibe.raw.json +668 -0
- package/build/tokens/wwd-2021.custom-properties.css +82 -0
- package/build/tokens/wwd-2021.json +67 -0
- package/build/tokens/wwd-2021.map.scss +82 -0
- package/build/tokens/wwd-2021.raw.json +701 -0
- package/build/tokens/wwd-beauty.custom-properties.css +86 -0
- package/build/tokens/wwd-beauty.json +70 -0
- package/build/tokens/wwd-beauty.map.scss +86 -0
- package/build/tokens/wwd-beauty.raw.json +719 -0
- package/build/tokens/wwd-dd.custom-properties.css +18 -0
- package/build/tokens/wwd-dd.json +13 -0
- package/build/tokens/wwd-dd.map.scss +18 -0
- package/build/tokens/wwd-dd.raw.json +90 -0
- package/build/tokens/wwd.custom-properties.css +70 -0
- package/build/tokens/wwd.json +60 -0
- package/build/tokens/wwd.map.scss +70 -0
- package/build/tokens/wwd.raw.json +643 -0
- package/index.js +2 -1
- package/lib/generateStatic.js +133 -0
- package/lib/server.js +260 -30
- package/lib/start.js +7 -0
- package/lib/utils/clonePatternData.js +12 -3
- package/lib/utils/copySyncHelper.js +33 -0
- package/lib/utils/getAllPatternsObj.js +48 -0
- package/lib/utils/getAppConfiguration.js +65 -7
- package/lib/utils/getArgsFromCli.js +3 -0
- package/lib/utils/getModuleNamesFromDirectory.js +11 -0
- package/lib/utils/getPatternData.js +19 -13
- package/lib/utils/getPatternPathsToLoad.js +5 -6
- package/lib/utils/getPatternRoutes.js +58 -0
- package/lib/utils/getPatternType.js +3 -2
- package/lib/utils/getPatternVariants.js +24 -0
- package/lib/utils/getSubDirectoryNames.js +23 -0
- package/lib/utils/spawnScript.js +26 -0
- package/lib/writeJson.js +53 -0
- package/package.json +67 -5
- package/public/webfontloader.js +22 -0
- package/scripts/build-html.js +52 -0
- package/scripts/build-icons.js +80 -0
- package/scripts/build-scss.js +15 -0
- package/scripts/config/.eslintrc.json +11 -0
- package/scripts/config/gulpfile.js +191 -0
- package/scripts/config/stylelint.config.js +5 -0
- package/scripts/config/svgo-config.json +67 -0
- package/scripts/config/webpack.config.js +95 -0
- package/scripts/dev-js.js +13 -0
- package/scripts/dev-scss.js +20 -0
- package/scripts/help.js +65 -0
- package/scripts/init.js +21 -0
- package/scripts/larva/.nvmrc +1 -0
- package/scripts/larva/README.md +29 -0
- package/scripts/larva/larva.config.js +3 -0
- package/scripts/larva/src/patterns/README.md +3 -0
- package/scripts/larva/src/patterns/base.html +6 -0
- package/scripts/larva/src/patterns/components/README.md +3 -0
- package/scripts/larva/src/patterns/modules/README.md +3 -0
- package/scripts/larva/src/patterns/objects/README.md +3 -0
- package/scripts/larva/src/patterns/one-offs/README.md +3 -0
- package/scripts/link-all.js +40 -0
- package/scripts/lint-js.js +11 -0
- package/scripts/lint-scss.js +13 -0
- package/scripts/lint.js +73 -0
- package/scripts/prod-js.js +12 -0
- package/scripts/prod-scss.js +24 -0
- package/scripts/prod.js +122 -0
- package/scripts/server.js +11 -0
- package/scripts/start.js +36 -0
- package/scripts/upgrade.js +99 -0
- package/scripts/write-json.js +14 -0
- package/.DS_Store +0 -0
- package/__tests__/.DS_Store +0 -0
- package/__tests__/_test-boilerplate.js +0 -12
- package/__tests__/fixtures/src/patterns/04-components/c-nav-link/c-nav-link.json +0 -3
- package/__tests__/fixtures/src/patterns/04-components/c-nav-link/c-nav-link.prototype.js +0 -3
- package/__tests__/fixtures/src/patterns/04-components/c-nav-link/c-nav-link.twig +0 -3
- package/__tests__/fixtures/src/patterns/05-objects/o-crap/o-crap.json +0 -3
- package/__tests__/fixtures/src/patterns/05-objects/o-crap/o-crap.twig +0 -1
- package/__tests__/fixtures/src/patterns/05-objects/o-nav/o-nav.twig +0 -14
- package/__tests__/fixtures/src/patterns/06-algorithms/a-icon/a-icon.common.inline.scss +0 -3
- package/__tests__/fixtures/src/patterns/06-algorithms/a-wrapper/a-wrapper.common.inline.scss +0 -3
- package/__tests__/fixtures/src/patterns/07-utilities/u-test-three.common.async.scss +0 -3
- package/__tests__/fixtures/src/patterns/07-utilities/u-test-two.common.inline.scss +0 -8
- package/__tests__/fixtures/src/patterns/07-utilities/u-test.common.inline.scss +0 -8
- package/__tests__/fixtures/src/patterns/08-modules/breadcrumbs/breadcrumbs.twig +0 -1
- package/__tests__/lib/build.test.js +0 -20
- package/__tests__/lib/utils/buildPatternFilePath.test.js +0 -18
- package/__tests__/lib/utils/concatenateFileData.test.js +0 -26
- package/__tests__/lib/utils/getPatternDataPath.test.js +0 -19
- package/__tests__/lib/utils/getPatternDigit.test.js +0 -13
- package/__tests__/lib/utils/getScssPathsWithExtension.test.js +0 -29
- package/__tests__/lib/utils/getScssResultCss.test.js +0 -16
- package/__tests__/lib/utils/getScssResultFilePath.test.js +0 -14
- package/lib/.DS_Store +0 -0
- package/lib/build.js +0 -16
- package/lib/utils/buildPatternFilePath.js +0 -13
- package/lib/utils/concatenateFileData.js +0 -19
- package/lib/utils/getPatternDataPath.js +0 -16
- package/lib/utils/getPatternDigit.js +0 -15
- package/lib/utils/getScssPathsWithExtension.js +0 -23
- package/lib/utils/getScssResultCss.js +0 -18
- package/lib/utils/getScssResultFilePath.js +0 -11
- package/lib/utils/utils.js +0 -16
- package/lib/watch.js +0 -33
- package/lib/writeData.js +0 -22
- package/static/css/components.css +0 -4
- package/static/css/objects.css +0 -21
- package/static/css/prism.css +0 -126
- package/static/js/prism.js +0 -8
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const path = require( 'path' );
|
|
2
|
+
const fixture = path.join( __dirname, '../../fixtures' );
|
|
3
|
+
|
|
4
|
+
const getAllPatternsObj = require( '../../../lib/utils/getAllPatternsObj' );
|
|
5
|
+
const getPatternRoutes = require( '../../../lib/utils/getPatternRoutes' );
|
|
6
|
+
|
|
7
|
+
describe( 'getPatternRoutes', () => {
|
|
8
|
+
|
|
9
|
+
it( 'outputs an array of routes from a pattern object', () => {
|
|
10
|
+
|
|
11
|
+
const patterns = getAllPatternsObj( path.join( fixture, 'src/patterns' ) );
|
|
12
|
+
|
|
13
|
+
const expected = [
|
|
14
|
+
'components/c-nav-link/featured.aia',
|
|
15
|
+
'components/c-nav-link/featured',
|
|
16
|
+
'components/c-nav-link',
|
|
17
|
+
'components/c-tagline',
|
|
18
|
+
'modules/test-module/featured',
|
|
19
|
+
'modules/test-module',
|
|
20
|
+
'objects/o-crap',
|
|
21
|
+
'objects/o-nav',
|
|
22
|
+
'one-offs/newswire'
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
expect( getPatternRoutes( patterns ) ).toStrictEqual( expected );
|
|
26
|
+
|
|
27
|
+
} );
|
|
28
|
+
|
|
29
|
+
} );
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const path = require( 'path' );
|
|
2
|
+
const getAppConfiguration = require( '../../../lib/utils/getAppConfiguration' );
|
|
3
|
+
const getPatternVariants = require( '../../../lib/utils/getPatternVariants' );
|
|
4
|
+
|
|
5
|
+
const config = getAppConfiguration( 'patterns' );
|
|
6
|
+
|
|
7
|
+
describe( 'getPatternVariants', () => {
|
|
8
|
+
|
|
9
|
+
it( 'returns an array of variants', () => {
|
|
10
|
+
expect(
|
|
11
|
+
getPatternVariants( path.join( config.projectPatternsDir, 'components/c-nav-link/' ) )
|
|
12
|
+
).toEqual(
|
|
13
|
+
[
|
|
14
|
+
'featured.aia',
|
|
15
|
+
'featured',
|
|
16
|
+
'prototype'
|
|
17
|
+
]
|
|
18
|
+
);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const assert = require( 'assert' );
|
|
2
|
+
const getPatternsList = require( '../../../lib/utils/getSubDirectoryNames' );
|
|
3
|
+
const appConfiguration = require( '../../../lib/utils/getAppConfiguration' )('patterns');
|
|
4
|
+
const expectedObjectsList = [ 'o-crap', 'o-nav' ];
|
|
5
|
+
const expectedComponentsList = [ 'c-nav-link', 'c-tagline' ];
|
|
6
|
+
|
|
7
|
+
console.log( appConfiguration.projectPatternsDir );
|
|
8
|
+
|
|
9
|
+
describe( 'getSubDirectoryNames', () => {
|
|
10
|
+
it( 'gets an array of subdir names for objects', () => {
|
|
11
|
+
assert.deepEqual( getPatternsList( appConfiguration.projectPatternsDir + '/objects' ), expectedObjectsList );
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it( 'gets an array of subdir names for components', () => {
|
|
15
|
+
assert.deepEqual( getPatternsList( appConfiguration.projectPatternsDir + '/components' ), expectedComponentsList );
|
|
16
|
+
});
|
|
17
|
+
});
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
const assert = require( 'assert' );
|
|
2
|
+
const path = require( 'path' );
|
|
3
|
+
const fs = require( 'fs' );
|
|
4
|
+
const exec = require( 'child_process' ).exec;
|
|
5
|
+
|
|
6
|
+
const fixture = path.join( __dirname, '../fixtures' );
|
|
7
|
+
const getAppConfiguration = require( '../../lib/utils/getAppConfiguration' );
|
|
8
|
+
const writeJson = require( '../../lib/writeJson' );
|
|
9
|
+
const patternConfig = getAppConfiguration( 'patterns' );
|
|
10
|
+
|
|
11
|
+
const expectedJsonPath = path.join( fixture, './build/json/modules/' );
|
|
12
|
+
|
|
13
|
+
describe( 'writeJson', () => {
|
|
14
|
+
let testJsonPath = path.join( expectedJsonPath, 'test-module.prototype.json' );
|
|
15
|
+
let testPrototypePath = path.join( fixture, './src/patterns/modules/test-module/test-module.prototype.js' );
|
|
16
|
+
let testVariantJsonPath = path.join( expectedJsonPath, 'test-module.featured.json' );
|
|
17
|
+
let testIgnoredJsonPath = path.join( expectedJsonPath, 'ignore-me.prototype.json' );
|
|
18
|
+
|
|
19
|
+
beforeAll( ( done ) => {
|
|
20
|
+
exec( 'mkdirp ' + expectedJsonPath, ( err ) => {
|
|
21
|
+
if ( err ) {
|
|
22
|
+
console.error( err );
|
|
23
|
+
done();
|
|
24
|
+
} else {
|
|
25
|
+
writeJson( patternConfig );
|
|
26
|
+
done();
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it( 'creates a JSON file', () => {
|
|
32
|
+
assert.equal( fs.existsSync( testJsonPath ), true );
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
it( 'prototype JS file equals JSON contents', () => {
|
|
36
|
+
assert.equal( JSON.stringify( require( testPrototypePath ) ), JSON.stringify( require( testJsonPath ) ) );
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it( 'does not write JSON for ignored modules', () => {
|
|
40
|
+
assert.equal( fs.existsSync( testIgnoredJsonPath ), false );
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it( 'creates a variant JSON', () => {
|
|
44
|
+
assert.equal( fs.existsSync( testVariantJsonPath ), true );
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
afterAll( ( done ) => {
|
|
48
|
+
exec( 'rm -r ' + path.join( expectedJsonPath ), ( err ) => {
|
|
49
|
+
if ( err ) {
|
|
50
|
+
console.error( err );
|
|
51
|
+
}
|
|
52
|
+
done();
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
describe( 'writeJson from Larva', () => {
|
|
58
|
+
let testJsonPath = path.join( expectedJsonPath, 'pmc-footer.prototype.json' );
|
|
59
|
+
|
|
60
|
+
beforeAll( ( done ) => {
|
|
61
|
+
exec( 'mkdirp ' + expectedJsonPath, ( err ) => {
|
|
62
|
+
if ( err ) {
|
|
63
|
+
console.error( err );
|
|
64
|
+
} else {
|
|
65
|
+
writeJson( patternConfig, true );
|
|
66
|
+
done();
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
it( 'creates a JSON file', () => {
|
|
72
|
+
assert.equal( fs.existsSync( testJsonPath ), true );
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
afterAll( ( done ) => {
|
|
76
|
+
exec( 'rm -r ' + path.join( expectedJsonPath ), ( err ) => {
|
|
77
|
+
if ( err ) {
|
|
78
|
+
console.error( err );
|
|
79
|
+
}
|
|
80
|
+
done();
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
});
|
package/bin/larva.js
CHANGED
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
*/
|
|
4
|
+
const fs = require( 'fs' );
|
|
5
|
+
const path = require( 'path' );
|
|
6
|
+
const spawn = require( 'cross-spawn' );
|
|
7
|
+
const chalk = require( 'chalk' );
|
|
9
8
|
|
|
10
|
-
require( '../lib/
|
|
9
|
+
const getArgsFromCli = require( '../lib/utils/getArgsFromCli' );
|
|
10
|
+
const cliArgs = getArgsFromCli();
|
|
11
|
+
const scriptName = cliArgs[0];
|
|
12
|
+
|
|
13
|
+
const hasScriptFile = fs.existsSync( path.join( __dirname, '../scripts/' + scriptName + '.js' ) );
|
|
14
|
+
|
|
15
|
+
if ( hasScriptFile ) {
|
|
16
|
+
spawn.sync(
|
|
17
|
+
'node',
|
|
18
|
+
[
|
|
19
|
+
path.join( __dirname, `../scripts/${ scriptName }.js` ),
|
|
20
|
+
... cliArgs
|
|
21
|
+
], { stdio: 'inherit' }
|
|
22
|
+
);
|
|
23
|
+
} else {
|
|
24
|
+
console.error( chalk.red( `No file found for "${ scriptName }".` ) );
|
|
25
|
+
}
|