| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- // create package.json, README, etc. for packages that don't have them yet
- const args = require('minimist')(process.argv.slice(2))
- const fs = require('fs')
- const path = require('path')
- const baseVersion = require('../lerna.json').version
- const packagesDir = path.resolve(__dirname, '../packages')
- const files = fs.readdirSync(packagesDir)
- files.forEach(shortName => {
- if (shortName === 'shared') {
- return
- }
- if (!fs.statSync(path.join(packagesDir, shortName)).isDirectory()) {
- return
- }
- const name = shortName === `vue` ? shortName : `@vue/${shortName}`
- const pkgPath = path.join(packagesDir, shortName, `package.json`)
- if (args.force || !fs.existsSync(pkgPath)) {
- const json = {
- name,
- version: baseVersion,
- description: name,
- main: 'index.js',
- module: `dist/${shortName}.esm-bundler.js`,
- types: 'dist/index.d.ts',
- repository: {
- type: 'git',
- url: 'git+https://github.com/vuejs/vue.git'
- },
- keywords: ['vue'],
- author: 'Evan You',
- license: 'MIT',
- bugs: {
- url: 'https://github.com/vuejs/vue/issues'
- },
- homepage: `https://github.com/vuejs/vue/tree/dev/packages/${shortName}#readme`
- }
- fs.writeFileSync(pkgPath, JSON.stringify(json, null, 2))
- }
- const readmePath = path.join(packagesDir, shortName, `README.md`)
- if (args.force || !fs.existsSync(readmePath)) {
- fs.writeFileSync(readmePath, `# ${name}`)
- }
- const npmIgnorePath = path.join(packagesDir, shortName, `.npmignore`)
- if (args.force || !fs.existsSync(npmIgnorePath)) {
- fs.writeFileSync(npmIgnorePath, `__tests__/\n__mocks__/\ndist/packages`)
- }
- const srcDir = path.join(packagesDir, shortName, `src`)
- const indexPath = path.join(packagesDir, shortName, `src/index.ts`)
- if (args.force || !fs.existsSync(indexPath)) {
- if (!fs.existsSync(srcDir)) {
- fs.mkdirSync(srcDir)
- }
- fs.writeFileSync(indexPath, ``)
- }
- const nodeIndexPath = path.join(packagesDir, shortName, 'index.js')
- if (args.force || !fs.existsSync(nodeIndexPath)) {
- fs.writeFileSync(
- nodeIndexPath,
- `
- 'use strict'
- if (process.env.NODE_ENV === 'production') {
- module.exports = require('./dist/${shortName}.cjs.prod.js')
- } else {
- module.exports = require('./dist/${shortName}.cjs.js')
- }
- `.trim() + '\n'
- )
- }
- })
|