Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitda718a3

Browse files
committed
fix: formatpackage.json andnpm-shrinkwrap.json asnpm
1 parentca0af17 commitda718a3

File tree

2 files changed

+17
-43
lines changed

2 files changed

+17
-43
lines changed

‎lib/update-package-version.js‎

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
constpath=require('path');
2-
const{readFile, writeFile, pathExists}=require('fs-extra');
2+
const{readJson, writeJson, pathExists}=require('fs-extra');
33

44
module.exports=async(version,basePath,logger)=>{
55
constpackagePath=path.join(basePath,'package.json');
66
constshrinkwrapPath=path.join(basePath,'npm-shrinkwrap.json');
7-
constpkg=(awaitreadFile(packagePath)).toString();
7+
constpackageLockPath=path.join(basePath,'package-lock.json');
8+
constpkg=awaitreadJson(packagePath);
89

9-
awaitwriteFile(packagePath,replaceVersion(pkg,version));
10+
awaitwriteJson(packagePath,{...pkg,...{version}},{spaces:2});
1011
logger.log('Wrote version %s to %s',version,packagePath);
1112

1213
if(awaitpathExists(shrinkwrapPath)){
13-
constshrinkwrap=(awaitreadFile(shrinkwrapPath)).toString();
14-
awaitwriteFile(shrinkwrapPath,replaceVersion(shrinkwrap,version));
14+
constshrinkwrap=awaitreadJson(shrinkwrapPath);
15+
awaitwriteJson(shrinkwrapPath,{...shrinkwrap,...{version}},{spaces:2});
1516
logger.log('Wrote version %s to %s',version,shrinkwrapPath);
1617
}
17-
};
1818

19-
functionreplaceVersion(json,version){
20-
returnjson.replace(/("version"\s*:\s*")\S+?(\s*")/,`$1${version}$2`);
21-
}
19+
};

‎test/update-package-version.test.js‎

Lines changed: 10 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
importtestfrom'ava';
2-
import{outputFile,readFile}from'fs-extra';
2+
import{outputJson,readJson}from'fs-extra';
33
importtempyfrom'tempy';
44
importexecafrom'execa';
55
import{stub}from'sinon';
@@ -21,72 +21,48 @@ test.afterEach.always(() => {
2121
});
2222

2323
test.serial('Updade package.json',asynct=>{
24-
constpkg=`{
25-
"name": "test",
26-
"description": "pacakage description",
27-
"version":
28-
"0.0.0-dev" ,
29-
"arr": [
30-
1,
31-
2, 3
32-
]
33-
}
34-
`;
35-
3624
// Create package.json in repository root
37-
awaitoutputFile('./package.json',pkg);
25+
awaitoutputJson('./package.json',{version:'0.0.0-dev'});
3826

3927
awaitupdatePackageVersion('1.0.0','.',t.context.logger);
4028

4129
// Verify package.json has been updated
42-
t.is((awaitreadFile('./package.json')).toString(),pkg.replace('0.0.0-dev','1.0.0'));
30+
t.is((awaitreadJson('./package.json')).version,'1.0.0');
4331

4432
// Verify the logger has been called with the version updated
4533
t.deepEqual(t.context.log.args[0],['Wrote version %s to %s','1.0.0','package.json']);
4634
});
4735

4836
test.serial('Updade package.json and npm-shrinkwrap.json',asynct=>{
49-
constpkg=`{
50-
"name": "test"
51-
, "description":
52-
"pacakage description",
53-
54-
"version": "0.0.0-dev"
55-
}`;
5637
// Create package.json in repository root
57-
awaitoutputFile('./package.json',pkg);
38+
awaitoutputJson('./package.json',{version:'0.0.0-dev'});
5839
// Create a npm-shrinkwrap.json file
5940
awaitexeca('npm',['shrinkwrap']);
60-
constshrinkwrap=(awaitreadFile('./npm-shrinkwrap.json')).toString();
6141

6242
awaitupdatePackageVersion('1.0.0','.',t.context.logger);
6343

6444
// Verify package.json and npm-shrinkwrap.json have been updated
65-
t.is((awaitreadFile('./package.json')).toString(),pkg.replace('0.0.0-dev','1.0.0'));
66-
t.is((awaitreadFile('./npm-shrinkwrap.json')).toString(),shrinkwrap.replace('0.0.0-dev','1.0.0'));
45+
t.is((awaitreadJson('./package.json')).version,'1.0.0');
46+
t.is((awaitreadJson('./npm-shrinkwrap.json')).version,'1.0.0');
6747
// Verify the logger has been called with the version updated
6848
t.deepEqual(t.context.log.args[0],['Wrote version %s to %s','1.0.0','package.json']);
6949
t.deepEqual(t.context.log.args[1],['Wrote version %s to %s','1.0.0','npm-shrinkwrap.json']);
7050
});
7151

72-
test.serial('Updade package.json and npm-shrinkwrap.json in a sub-directory',asynct=>{
73-
constpkg=`{
74-
"name": "test","description":"pacakage description","version":"0.0.0-dev"
75-
}`;
7652

53+
test.serial('Updade package.json and npm-shrinkwrap.json in a sub-directory',asynct=>{
7754
// Create package.json in repository root
78-
awaitoutputFile('./dist/package.json',pkg);
55+
awaitoutputJson('./dist/package.json',{version:'0.0.0-dev'});
7956
process.chdir('dist');
8057
// Create a npm-shrinkwrap.json file
8158
awaitexeca('npm',['shrinkwrap']);
8259
process.chdir('..');
83-
constshrinkwrap=(awaitreadFile('./dist/npm-shrinkwrap.json')).toString();
8460

8561
awaitupdatePackageVersion('1.0.0','dist',t.context.logger);
8662

8763
// Verify package.json and npm-shrinkwrap.json have been updated
88-
t.is((awaitreadFile('./dist/package.json')).toString(),pkg.replace('0.0.0-dev','1.0.0'));
89-
t.is((awaitreadFile('./dist/npm-shrinkwrap.json')).toString(),shrinkwrap.replace('0.0.0-dev','1.0.0'));
64+
t.is((awaitreadJson('./dist/package.json')).version,'1.0.0');
65+
t.is((awaitreadJson('./dist/npm-shrinkwrap.json')).version,'1.0.0');
9066
// Verify the logger has been called with the version updated
9167
t.deepEqual(t.context.log.args[0],['Wrote version %s to %s','1.0.0','dist/package.json']);
9268
t.deepEqual(t.context.log.args[1],['Wrote version %s to %s','1.0.0','dist/npm-shrinkwrap.json']);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp