mirror of https://github.com/ElemeFE/element
				
				
				
			package: add lint script & lock vue version
							parent
							
								
									8261e1d124
								
							
						
					
					
						commit
						a7c30b5148
					
				| 
						 | 
				
			
			@ -14,7 +14,7 @@ Object.keys(components).forEach(key => {
 | 
			
		|||
  const filePath = path.join(__dirname, `../packages/${key}/cooking.conf.js`);
 | 
			
		||||
 | 
			
		||||
  if (existsSync(filePath)) {
 | 
			
		||||
    componentPaths.push(`packages/${key}/cooking.conf.js`)
 | 
			
		||||
    componentPaths.push(`packages/${key}/cooking.conf.js`);
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,12 +1,12 @@
 | 
			
		|||
var Components = require('../components.json')
 | 
			
		||||
var fs = require('fs')
 | 
			
		||||
var render = require('json-templater/string')
 | 
			
		||||
var uppercamelcase = require('uppercamelcase')
 | 
			
		||||
var path = require('path')
 | 
			
		||||
var Components = require('../components.json');
 | 
			
		||||
var fs = require('fs');
 | 
			
		||||
var render = require('json-templater/string');
 | 
			
		||||
var uppercamelcase = require('uppercamelcase');
 | 
			
		||||
var path = require('path');
 | 
			
		||||
 | 
			
		||||
var OUTPUT_PATH = path.join(__dirname, '../src/index.js')
 | 
			
		||||
var IMPORT_TEMPLATE = `import {{name}} from '../packages/{{package}}/index.js';`
 | 
			
		||||
var ISNTALL_COMPONENT_TEMPLATE = `  Vue.component({{name}}.name, {{name}});`
 | 
			
		||||
var OUTPUT_PATH = path.join(__dirname, '../src/index.js');
 | 
			
		||||
var IMPORT_TEMPLATE = 'import {{name}} from \'../packages/{{package}}/index.js\';';
 | 
			
		||||
var ISNTALL_COMPONENT_TEMPLATE = '  Vue.component({{name}}.name, {{name}});';
 | 
			
		||||
var MAIN_TEMPLATE = `{{include}}
 | 
			
		||||
 | 
			
		||||
const install = function(Vue) {
 | 
			
		||||
| 
						 | 
				
			
			@ -33,41 +33,40 @@ module.exports = {
 | 
			
		|||
  install,
 | 
			
		||||
{{list}}
 | 
			
		||||
};
 | 
			
		||||
`
 | 
			
		||||
`;
 | 
			
		||||
 | 
			
		||||
delete Components.font
 | 
			
		||||
delete Components.font;
 | 
			
		||||
 | 
			
		||||
var ComponentNames = Object.keys(Components)
 | 
			
		||||
var ComponentNames = Object.keys(Components);
 | 
			
		||||
 | 
			
		||||
var includeComponentTemplate = []
 | 
			
		||||
var installTemplate = []
 | 
			
		||||
var listTemplate = []
 | 
			
		||||
var includeComponentTemplate = [];
 | 
			
		||||
var installTemplate = [];
 | 
			
		||||
var listTemplate = [];
 | 
			
		||||
 | 
			
		||||
ComponentNames.forEach(name => {
 | 
			
		||||
  var componentName = uppercamelcase(name)
 | 
			
		||||
  var componentName = uppercamelcase(name);
 | 
			
		||||
 | 
			
		||||
  includeComponentTemplate.push(render(IMPORT_TEMPLATE, {
 | 
			
		||||
    name: componentName,
 | 
			
		||||
    package: name
 | 
			
		||||
  }))
 | 
			
		||||
 | 
			
		||||
  }));
 | 
			
		||||
 | 
			
		||||
  if (['Loading', 'MessageBox', 'Notification'].indexOf(componentName) === -1) {
 | 
			
		||||
    installTemplate.push(render(ISNTALL_COMPONENT_TEMPLATE, {
 | 
			
		||||
      name: componentName,
 | 
			
		||||
      component: name
 | 
			
		||||
    }))
 | 
			
		||||
    }));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  listTemplate.push(`  ${componentName}`)
 | 
			
		||||
})
 | 
			
		||||
  listTemplate.push(`  ${componentName}`);
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
var template = render(MAIN_TEMPLATE, {
 | 
			
		||||
  include: includeComponentTemplate.join('\n'),
 | 
			
		||||
  install: installTemplate.join('\n'),
 | 
			
		||||
  list: listTemplate.join(',\n')
 | 
			
		||||
})
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
fs.writeFileSync(OUTPUT_PATH, template)
 | 
			
		||||
console.log('[build entry] DONE:', OUTPUT_PATH)
 | 
			
		||||
fs.writeFileSync(OUTPUT_PATH, template);
 | 
			
		||||
console.log('[build entry] DONE:', OUTPUT_PATH);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,6 +15,6 @@ nodes.forEach((node) => {
 | 
			
		|||
  if (arr && arr[1]) {
 | 
			
		||||
    classList.push(arr[1]);
 | 
			
		||||
  }
 | 
			
		||||
})
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
fs.writeFile(path.resolve(__dirname, '../examples/icon.json'), JSON.stringify(classList));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										16
									
								
								bin/new.js
								
								
								
								
							
							
						
						
									
										16
									
								
								bin/new.js
								
								
								
								
							| 
						 | 
				
			
			@ -94,7 +94,7 @@ export default {
 | 
			
		|||
    filename: path.join('../../examples/docs/', `${componentname}.md`),
 | 
			
		||||
    content: `## ${chineseName}`
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
// 添加到 components.json
 | 
			
		||||
const componentsFile = require('../components.json');
 | 
			
		||||
| 
						 | 
				
			
			@ -105,27 +105,27 @@ if (componentsFile[componentname]) {
 | 
			
		|||
componentsFile[componentname] = [`./packages/${componentname}/index.js`];
 | 
			
		||||
fileSave(path.join(__dirname, '../components.json'))
 | 
			
		||||
  .write(JSON.stringify(componentsFile, null, '  '), 'utf8')
 | 
			
		||||
  .end('\n')
 | 
			
		||||
  .end('\n');
 | 
			
		||||
 | 
			
		||||
// 创建 package
 | 
			
		||||
Files.forEach(file => {
 | 
			
		||||
  fileSave(path.join(PackagePath, file.filename))
 | 
			
		||||
  .write(file.content, 'utf8')
 | 
			
		||||
  .end('\n')
 | 
			
		||||
})
 | 
			
		||||
  .end('\n');
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
// 添加到 nav.config.json
 | 
			
		||||
const navConfigFile = require('../examples/nav.config.json');
 | 
			
		||||
navConfigFile[navConfigFile.length - 1].list.push({
 | 
			
		||||
  path: `/${componentname}`,
 | 
			
		||||
  name: `${chineseName} (${componentname})`,
 | 
			
		||||
  title: componentname === chineseName ?
 | 
			
		||||
         componentname :
 | 
			
		||||
         `${componentname} ${chineseName}`
 | 
			
		||||
  title: componentname === chineseName
 | 
			
		||||
          ? componentname
 | 
			
		||||
          : `${componentname} ${chineseName}`
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
fileSave(path.join(__dirname, '../examples/nav.config.json'))
 | 
			
		||||
  .write(JSON.stringify(navConfigFile, null, '  '), 'utf8')
 | 
			
		||||
  .end('\n')
 | 
			
		||||
  .end('\n');
 | 
			
		||||
 | 
			
		||||
console.log('DONE!');
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,14 +9,15 @@
 | 
			
		|||
  ],
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "dev": "npm i && (node bin/iconInit.js & node bin/build-entry.js) && cooking watch -c scripts/cooking.demo.js",
 | 
			
		||||
    "dist": "del -f lib && cooking build -c scripts/cooking.conf.js,scripts/cooking.common.js -p && cooking build -c scripts/cooking.component.js -p && npm run build:theme",
 | 
			
		||||
    "dist": "npm run lint && del -f lib && cooking build -c scripts/cooking.conf.js,scripts/cooking.common.js -p && cooking build -c scripts/cooking.component.js -p && npm run build:theme",
 | 
			
		||||
    "dist:all": "node bin/build-all.js && npm run build:theme",
 | 
			
		||||
    "build:theme": "gulp build --gulpfile packages/theme-default/gulpfile.js && cp-cli packages/theme-default/lib lib/theme-default",
 | 
			
		||||
    "deploy": "cooking build -c scripts/cooking.demo.js -p",
 | 
			
		||||
    "gh-docs": "cooking build -c scripts/cooking.demo.js -p && gh-pages -d examples/element-ui --remote origin",
 | 
			
		||||
    "postinstall": "lerna bootstrap",
 | 
			
		||||
    "pub": "npm run dist && kp",
 | 
			
		||||
    "pub:all": "npm run dist:all && lerna publish"
 | 
			
		||||
    "pub:all": "npm run dist:all && lerna publish",
 | 
			
		||||
    "lint": "eslint src/** packages/** scripts/** bin/** --ext .js,.vue --ignore-pattern node_modules"
 | 
			
		||||
  },
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
| 
						 | 
				
			
			@ -67,10 +68,12 @@
 | 
			
		|||
    "theaterjs": "^3.0.0",
 | 
			
		||||
    "uppercamelcase": "^1.1.0",
 | 
			
		||||
    "url-loader": "^0.5.7",
 | 
			
		||||
    "vue": "^2.0.0-rc.3",
 | 
			
		||||
    "vue": "2.0.0-rc.3",
 | 
			
		||||
    "vue-loader": "9.3.2",
 | 
			
		||||
    "vue-markdown-loader": "^0.4.0",
 | 
			
		||||
    "vue-popup": "^0.2.3",
 | 
			
		||||
    "vue-router": "^2.0.0-beta.2",
 | 
			
		||||
    "vue-template-compiler": "2.0.0-rc.3",
 | 
			
		||||
    "webpack": "^1.13.2",
 | 
			
		||||
    "webpack-dev-server": "^1.15.1",
 | 
			
		||||
    "wind-dom": "0.0.3"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,7 +6,7 @@ var striptags = require('../src/utils/strip-tags');
 | 
			
		|||
 | 
			
		||||
function convert(str) {
 | 
			
		||||
  str = str.replace(/(&#x)(\w{4});/gi, function($0) {
 | 
			
		||||
    return String.fromCharCode(parseInt(encodeURIComponent($0).replace(/(%26%23x)(\w{4})(%3B)/g,"$2"),16));
 | 
			
		||||
    return String.fromCharCode(parseInt(encodeURIComponent($0).replace(/(%26%23x)(\w{4})(%3B)/g, '$2'), 16));
 | 
			
		||||
  });
 | 
			
		||||
  return str;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -50,7 +50,7 @@ cooking.set({
 | 
			
		|||
          }
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
    ]
 | 
			
		||||
    ];
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -101,7 +101,7 @@ var wrap = function (render) {
 | 
			
		|||
  return function() {
 | 
			
		||||
    return render.apply(this, arguments)
 | 
			
		||||
      .replace('<code class="', '<code class="hljs ')
 | 
			
		||||
      .replace('<code>', '<code class="hljs">')
 | 
			
		||||
      .replace('<code>', '<code class="hljs">');
 | 
			
		||||
  };
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue