@@ -41,9 +41,9 @@ var readJSON = require( '@stdlib/fs/read-json' ).sync;
4141var existsSync = require ( '@stdlib/fs/exists' ) . sync ;
4242var contains = require ( '@stdlib/assert/contains' ) ;
4343var repeat = require ( '@stdlib/string/repeat' ) ;
44- var endsWith = require ( '@stdlib/string/ends-with' ) ;
4544var trim = require ( '@stdlib/string/trim' ) ;
4645var replace = require ( '@stdlib/string/replace' ) ;
46+ var isString = require ( '@stdlib/assert/is-string' ) . isPrimitive ;
4747var removeFirst = require ( '@stdlib/string/remove-first' ) ;
4848var startsWith = require ( '@stdlib/string/starts-with' ) ;
4949var namespaceDeps = require ( '@stdlib/_tools/pkgs/namespace-deps' ) ;
@@ -175,7 +175,9 @@ var CHANGELOG = [
175175] . join ( '\n' ) ;
176176
177177var EXISTING_REPOS = { } ;
178- var RE_USAGE_SECTION = / ( # # C L I \n \n ) ? ( < ! - - C L I u s a g e d o c u m e n t a t i o n . - - > \n \n | < ! - - C u s a g e d o c u m e n t a t i o n . - - > \n \n ) ? < s e c t i o n c l a s s = " u s a g e " > / g;
178+ var RE_CLI_USAGE_SECTION = / ( # # C L I \r ? \n \r ? \n ) ( < ! - - C L I u s a g e d o c u m e n t a t i o n \. - - > \r ? \n \r ? \n ) ? < s e c t i o n c l a s s = " u s a g e " > / ;
179+ var RE_C_USAGE_SECTION = / ( < ! - - C u s a g e d o c u m e n t a t i o n \. - - > \r ? \n \r ? \n ) < s e c t i o n c l a s s = " u s a g e " > / ;
180+ var RE_USAGE_SECTION = / < s e c t i o n c l a s s = " u s a g e " > / ;
179181var BASIC_GITHUB_TOPICS = [
180182 'nodejs' ,
181183 'javascript' ,
@@ -347,11 +349,13 @@ function onTopics( error, data, info ) {
347349* @returns {string } replacement
348350*/
349351function replacer ( match , p1 , p2 ) {
350- if ( p1 === '## CLI\n\n' ) {
351- return p1 + CLI_INSTALLATION_SECTION + '\n<section class="usage">' ;
352- }
353- else if ( p2 === '<!-- C usage documentation. -->\n\n' ) {
354- return p2 + '<section class="usage">' ;
352+ if ( isString ( p1 ) ) {
353+ if ( startsWith ( p1 , '## CLI' ) ) {
354+ return p1 + CLI_INSTALLATION_SECTION + ( p2 || '\n<!-- CLI usage documentation. -->\n' ) + '\n<section class="usage">' ;
355+ }
356+ else if ( startsWith ( p1 , '<!-- C usage documentation. -->' ) ) {
357+ return p1 + '<section class="usage">' ;
358+ }
355359 }
356360 return INSTALLATION_SECTION + '\n<section class="usage">' ;
357361}
@@ -464,6 +468,8 @@ function publish( pkg, clbk ) {
464468 debug ( 'Copying and populating README.md file...' ) ;
465469 readmePath = join ( dist , 'README.md' ) ;
466470 readme = readFileSync ( readmePath , 'utf-8' ) ;
471+ readme = replace ( readme , RE_CLI_USAGE_SECTION , replacer ) ;
472+ readme = replace ( readme , RE_C_USAGE_SECTION , replacer ) ;
467473 readme = replace ( readme , RE_USAGE_SECTION , replacer ) ;
468474 badges = '[![NPM version][npm-image]][npm-url]' ;
469475 badges += ' ' ;
0 commit comments