Skip to content

Instantly share code, notes, and snippets.

@cumet04
Last active August 7, 2021 06:25
Show Gist options
  • Save cumet04/7f5d80f02d0eb7fa00913536a777d1f7 to your computer and use it in GitHub Desktop.
Save cumet04/7f5d80f02d0eb7fa00913536a777d1f7 to your computer and use it in GitHub Desktop.
package.jsonのdependenciesをjsで書けたら面白いかなという試み
const _deps = {}
const _devDeps = {}
function add(deps, devDeps) {
Object.assign(_deps, (deps || {}))
Object.assign(_devDeps, (devDeps || {}))
}
const devDeps = (targets) => add({}, targets)
add({
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
}, {
"@types/react": "^17.0.8",
"@types/react-dom": "^17.0.5",
"@testing-library/react": "^11.1.0",
})
devDeps({
"eslint": "^7.31.0",
"eslint-plugin-react": "^7.24.0",
"typescript": "4.2.4",
})
;(() => {
const packageJson = require('./_package.json')
const dependencies = Object.assign(packageJson.dependencies, _deps)
const devDependencies = Object.assign(packageJson.devDependencies, _devDeps)
packageJson.dependencies = {}
packageJson.devDependencies = {}
Object.keys(dependencies).sort().forEach(key => {
packageJson.dependencies[key] = dependencies[key]
})
Object.keys(devDependencies).sort().forEach(key => {
packageJson.devDependencies[key] = devDependencies[key]
})
console.log(JSON.stringify(packageJson, null, 2))
})();
#!/bin/bash
mv package.json _package.json
node dependencies.js > package.json
npm install
mv -f _package.json package.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment