Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- springboot
- jetbrains
- JPA
- wildfly
- IntelliJ
- MySQL
- database
- gson
- VSCode
- log4j2
- kubectl
- LOG4J
- docker
- NCP
- tibero
- JavaScript
- Windows
- Java
- dbeaver
- react
- Kubernetes
- gradle
- nodejs
- mybatis
- nginx
- useEffect
- BPMN
- Git
- intellijIDEA
- Spring
Archives
- Today
- Total
두 손끝의 창조자
package.lock.js로부터 package.js 만들기 본문
샘플 코드를 받았는데 package.js는 없고 package.lock.js 파일만 있으면 npm install 이 안된다.
package.lock.js에는 package.js가 가지고 있는 정보를 일정부분 보함하고 있으니 코드로 복원하자.
const fs = require('fs');
const lockFile = 'package-lock.json';
const packageFile = 'package.json';
fs.readFile(lockFile, (err, data) => {
if (err) throw err;
const lockJson = JSON.parse(data);
const packageJson = {
name: lockJson.name || 'example-project',
version: lockJson.version || '1.0.0',
description: '',
main: 'index.js',
scripts: {
test: 'echo "Error: no test specified" && exit 1'
},
author: '',
license: 'ISC',
dependencies: {},
devDependencies: {}
};
for (const [key, value] of Object.entries(lockJson.dependencies)) {
if (value.dev) {
packageJson.devDependencies[key] = value.version;
} else {
packageJson.dependencies[key] = value.version;
}
}
fs.writeFile(packageFile, JSON.stringify(packageJson, null, 2), (err) => {
if (err) throw err;
console.log('package.json has been created');
});
});
반응형
Comments