Skip to content

Commit bd491d8

Browse files
committed
build: skip pre-release versions
1 parent cace2b4 commit bd491d8

File tree

2 files changed

+19
-11
lines changed

2 files changed

+19
-11
lines changed

lib/node_modules/@stdlib/_tools/changelog/generate/lib/main.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ var semver = require( 'semver' );
2626
var recommendVersionBump = require( '@stdlib/_tools/changelog/recommend-version-bump' );
2727
var name2standalone = require( '@stdlib/_tools/pkgs/name2standalone' );
2828
var substringAfter = require( '@stdlib/string/substring-after' );
29-
var objectEntries = require( '@stdlib/utils/entries' );
3029
var parseCommits = require( '@stdlib/_tools/changelog/parse-commits' );
3130
var objectKeys = require( '@stdlib/utils/keys' );
3231
var namespaces = require( '@stdlib/_tools/pkgs/namespaces' ).sync;
@@ -259,13 +258,13 @@ function generate( pkg, releaseType ) {
259258
isNamespacePkg = true;
260259
standalone = '@stdlib/stdlib';
261260
pkg = '';
262-
releases = objectEntries( npmReleases( standalone ) );
261+
releases = npmReleases( standalone );
263262
} else {
264263
// Case: all other packages
265264
isNamespacePkg = contains( STDLIB_NAMESPACE_PKGS, pkg );
266265
standalone = name2standalone( pkg );
267266
pkg = replace( pkg, '@stdlib/', '' );
268-
releases = objectEntries( npmReleases( standalone ) );
267+
releases = npmReleases( standalone );
269268
}
270269
if ( releases.length > 0 ) {
271270
newestRelease = releases[ releases.length-1 ][ 0 ];

lib/node_modules/@stdlib/_tools/changelog/generate/lib/npm_releases.js

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
// MODULES //
2222

2323
var shell = require( 'child_process' ).execSync; // eslint-disable-line node/no-sync
24+
var semver = require( 'semver' );
2425
var logger = require( 'debug' );
2526
var omit = require( '@stdlib/utils/omit' );
2627
var rootDir = require( '@stdlib/_tools/utils/root-dir' );
@@ -35,35 +36,43 @@ var OMITTED_KEYS = [ 'created', 'modified', 'unpublished' ];
3536
// MAIN //
3637

3738
/**
38-
* Returns a list of published package versions and their release dates.
39+
* Returns a two-element array of published package versions and their release dates.
3940
*
4041
* @private
4142
* @param {string} pkg - package name
42-
* @returns {Object} object mapping versions to release dates
43+
* @returns {Array} two-element array of published package versions and their release dates
4344
*
4445
* @example
4546
* var releases = npmReleases( '@stdlib/utils-omit' );
46-
* // returns {...}
47+
* // returns [...]
4748
*/
4849
function npmReleases( pkg ) {
50+
var releases;
4951
var command;
52+
var version;
5053
var opts;
51-
var out;
54+
var map;
5255

5356
command = 'npm view ' + pkg + ' time --json';
5457
opts = {
5558
'cwd': rootDir(),
5659
'stdio': [ 'pipe', 'pipe', 'ignore' ] // stdin, stdout, stderr
5760
};
5861
try {
59-
out = shell( command, opts ).toString();
60-
out = JSON.parse( out );
62+
map = shell( command, opts ).toString();
63+
map = JSON.parse( map );
6164
} catch ( err ) {
6265
debug( 'Encountered an error when attempting to retrieve package release dates: %s', err.message );
6366
return {};
6467
}
65-
out = omit( out, OMITTED_KEYS );
66-
return out;
68+
map = omit( map, OMITTED_KEYS );
69+
releases = [];
70+
for ( version in map ) {
71+
if ( semver.valid( version ) && !semver.prerelease( version ) ) {
72+
releases.push( [ version, map[ version ] ] );
73+
}
74+
}
75+
return releases;
6776
}
6877

6978

0 commit comments

Comments
 (0)