Support publish component packages

pull/451/head
qingwei.li 2016-10-13 17:51:14 +08:00 committed by cinwell.li
parent 0f7158ab78
commit 0cc28fb16a
73 changed files with 307 additions and 976 deletions

View File

@ -14,12 +14,12 @@ 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`);
}
});
const paths = componentPaths.join(',');
const cli = `cooking build -c ${paths} -p`;
const cli = `node_modules/.bin/cooking build -c ${paths} -p`;
execSync(cli, {
stdio: 'inherit'

View File

@ -16,7 +16,7 @@ const uppercamelcase = require('uppercamelcase');
const componentname = process.argv[2];
const chineseName = process.argv[3] || componentname;
const ComponentName = uppercamelcase(componentname);
const PackagePath = path.resolve(__dirname, '../packages', componentname);
const PackagePath = path.resolve(__dirname, '../../packages', componentname);
const Files = [
{
filename: 'index.js',

View File

@ -1,5 +1,4 @@
{
"select-dropdown": "./packages/select-dropdown/index.js",
"pagination": "./packages/pagination/index.js",
"dialog": "./packages/dialog/index.js",
"autocomplete": "./packages/autocomplete/index.js",

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElAlert',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElAutocomplete',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElBadge',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElBreadcrumb',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElButton',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElCard',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,50 +0,0 @@
# el-cascader
> A el-cascader component for Vue.js.
## Installation
```shell
npm i el-cascader -D
```
## Usage
```javascript
import Vue from 'vue'
import ElCascader from 'el-cascader'
import 'theme-default/dist/cascader.css'
Vue.use(ElCascader)
```
or
```javascript
import Vue from 'vue'
import { ElCascader } from 'el-cascader'
Vue.component('el-cascader', ElCascader)
```
## Options
### el-cascader
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|--------------------|----------------------------------------------------------|-------------------|-------------|--------|
|model| 绑定值| string | | |
|placeholder| 占位符| string | | | |
## Development
```shell
make dev
## test
make test
## build
make build
```
# License
[MIT](https://opensource.org/licenses/MIT)

View File

@ -1,29 +0,0 @@
var cooking = require('cooking');
var path = require('path');
cooking.set({
entry: {
index: path.join(__dirname, 'index.js')
},
dist: path.join(__dirname, 'lib'),
template: false,
format: 'umd',
moduleName: 'ElCascader',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
});
module.exports = cooking.resolve();

View File

@ -1,7 +0,0 @@
const ElCascader = require('./src/cascader');
ElCascader.install = function(Vue) {
Vue.component(ElCascader.name, ElCascader);
};
module.exports = ElCascader;

View File

@ -1,17 +0,0 @@
{
"name": "el-cascader",
"version": "1.0.1",
"description": "A cascader component for Vue.",
"keywords": [
"element",
"vue",
"component"
],
"main": "./lib/index.js",
"repository": "https://github.com/element-component/element/tree/master/packages/cascader",
"author": "qingwei-li<qingwei.li@ele.me>",
"license": "MIT",
"dependencies": {
"object-equal": "^1.0.0"
}
}

View File

@ -1,91 +0,0 @@
<script>
import ElInput from 'element-ui/packages/input/index.js';
import ElDropdown from './dropdown.vue';
/**
* ElCascader
* @module components/basic/cascader
* @desc 级联下拉选择
* @param {string} model - 绑定值
* @param {string} [placeholder] - 占位内容
*/
export default {
name: 'ElCascader',
props: {
model: {
required: true,
type: String
},
placeholder: String
},
directives: {
ElementClickoutside: require('element-ui/src/utils/clickoutside').default
},
data() {
return {
show: false,
data: [],
menus: []
};
},
compiled() {
this.data.push(this.menus);
},
methods: {
handleSelected(selected, index) {
const nextIndex = index + 1;
let removeIndex = nextIndex;
if (selected.hasOwnProperty('submenu')) {
this.data.$set(nextIndex, selected.submenu);
removeIndex++;
}
this.data = this.data.slice(0, removeIndex);
}
},
components: {
ElInput,
ElDropdown
}
};
</script>
<template>
<div
class="element-cascader"
v-element-clickoutside="show = false">
<el-input
readonly
:value.sync="model"
@click="show = !show"
:placeholder="placeholder">
</el-input>
<div
v-show="show"
class="element-cascader__dropdown">
<div class="element-cascader__wrap">
<el-dropdown
class="element-cascader__menu"
v-ref:dropdown
:model.sync="model"
:data="list"
:index="$index"
trigger="hover"
v-for="list in data"
@change="handleSelected">
</el-dropdown>
</div>
</div>
<slot></slot>
</div>
</template>

View File

@ -1,109 +0,0 @@
<script>
import isEqual from 'object-equal';
/**
* dropdown
* @module components/basic/dropdown
* @desc 级联选择下拉菜单
* @param {object[]} data - 基本数据
* @param {string|string[]} [model] - 绑定值需双向绑定
* @param {number} [index] - 当前组件的索引
* @param {string} [trigger=click] - 触发方式可选'click', 'hover'
* @param {boolean} [allow-arrow=false] - 是否显示箭头
* @param {function} [change] - 选中后的回调函数
*/
module.exports = {
name: 'ElDropdown',
props: {
data: {
default() {
return [];
},
required: true
},
model: {
default() {
return [];
},
twoWay: true
},
index: Number,
trigger: {
type: String,
default: 'click',
validator(value) {
return ['click', 'hover'].indexOf(value) > -1;
}
}
},
data() {
return {
cache: {}
};
},
watch: {
model(value) {
if (!value) {
this.cache = '';
}
}
},
methods: {
handleSelected(trigger, data, pid, id) {
let cache;
if (trigger === 'click' && !data.hasOwnProperty('submenu')) {
this.$parent.show = false;
}
if (data.disabled || trigger !== this.trigger) {
return;
}
//
cache = { pid: pid, id: id };
if (isEqual(cache, this.cache)) {
return;
}
this.cache = cache;
// model
// completed
if (this.$parent.completed) {
if (!Array.isArray(this.model)) {
this.model = [];
}
this.model.$set(pid, data.label);
this.model = this.model.slice(0, pid + 1);
} else {
this.model = data.label;
}
this.$nextTick(() => this.$dispatch('change', data, pid));
}
}
};
</script>
<template>
<div class="element-dropdown">
<ul class="element-dropdown__list">
<li
v-for="item in data"
class="element-option element-option--arrow"
:class="{
'is-disabled': item.disabled,
'is-selected': cache.pid === index && cache.id === $index,
'is-last': !item.hasOwnProperty('submenu')
}"
@click="handleSelected('click', item, index, $index)"
@mouseover="handleSelected('hover', item, index, $index)">
<span v-text="item.label"></span>
</li>
</ul>
</div>
</template>

View File

@ -1,35 +0,0 @@
<script>
/**
* menu
* @module components/basic/menu
* @desc 用于 dropdown 中的菜单
* @param {string} label - 名称
*/
export default {
name: 'ElMenu',
props: {
label: String,
disabled: Boolean
},
compiled() {
const parent = this.$parent;
let menu = {
label: this.label,
disabled: this.disabled
};
if (this.submenu) {
menu.submenu = this.submenu;
}
if (parent.$options.name !== this.name && parent.hasOwnProperty('menus')) {
parent.menus = parent.menus.concat(menu);
} else {
parent.submenu = (parent.submenu || []).concat(menu);
}
}
};
</script>

View File

@ -0,0 +1,10 @@
const ElCheckbox = require('./src/checkbox');
const ElCheckboxGroup = require('./src/checkbox-group.vue');
module.exports = function install(Vue) {
Vue.component(ElCheckboxGroup.name, ElCheckboxGroup);
Vue.component(ElCheckbox.name, ElCheckbox);
};
exports.ElCheckbox = ElCheckbox;
exports.ElCheckboxGroup = ElCheckboxGroup;

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElCheckbox',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,7 +1,7 @@
const ElCheckbox = require('./src/checkbox');
ElCheckbox.install = function(Vue) {
Vue.component('el-checkbox', ElCheckbox);
Vue.component(ElCheckbox.name, ElCheckbox);
};
module.exports = ElCheckbox;

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElCol',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,33 +1,39 @@
# __component_name__
# el-date-picker
# Screenshots
# Demo
# Installation
>
# Usage
```javascript
```
# Options
| name | description | type | default |
|-------------|-------------|-------------|-------------|
| | | | |
# Development
## Installation
```shell
make dev
# test
make test
# build
make build
npm i el-date-picker -S
```
# License
[MIT](https://opensource.org/licenses/MIT)
## Usage
A:
```javascript
import Vue from 'vue'
import ElDatePicker from 'el-date-picker'
Vue.use(ElDatePicker)
```
B:
```javascript
import Vue from 'vue'
import { DatePicker, TimePicker, TimeSelect } from 'el-date-picker'
Vue.component(DatePicker.name, DatePicker);
Vue.component(TimePicker.name, TimePicker);
Vue.component(TimeSelect.name, TimeSelect);
```
C:
```html
<script src="path/to/vue/dist/vue.js"></script>
<script src="path/to/el-date-picker/index.js"></script>
<script>
Vue.use(ElDatePicker);
</script>
```
## License
MIT

View File

@ -0,0 +1,13 @@
import DatePicker from './src/picker/date-picker';
import TimePicker from './src/picker/time-picker';
import TimeSelect from './src/picker/time-select';
module.exports = function install(Vue) {
Vue.component(DatePicker.name, DatePicker);
Vue.component(TimePicker.name, TimePicker);
Vue.component(TimeSelect.name, TimeSelect);
};
exports.DatePicker = DatePicker;
exports.TimePicker = TimePicker;
exports.TimeSelect = TimeSelect;

View File

@ -1,29 +1,18 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
index: path.join(__dirname, 'index.js')
index: path.join(__dirname, '_index.js')
},
dist: path.join(__dirname, 'lib'),
template: false,
format: 'umd',
moduleName: 'ElDatePicker',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,2 +1,2 @@
import Picker from '../date-picker/src/picker/date-picker';
import Picker from './src/picker/date-picker';
module.exports = Picker;

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElDialog',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,7 +1,7 @@
const ElDialog = require('./src/component');
ElDialog.install = function(Vue) {
Vue.component('el-dialog', ElDialog);
Vue.component(ElDialog.name, ElDialog);
};
module.exports = ElDialog;

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElDropdown',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

10
packages/form/_index.js Normal file
View File

@ -0,0 +1,10 @@
const ElFormItem = require('./src/form-item');
const ElForm = require('./src/form');
module.exports = function(Vue) {
Vue.component(ElForm.name, ElForm);
Vue.component(ElFormItem.name, ElFormItem);
};
exports = ElFormItem;
exports = ElForm;

View File

@ -1,29 +1,18 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
index: path.join(__dirname, 'index.js')
index: path.join(__dirname, '_index.js')
},
dist: path.join(__dirname, 'lib'),
template: false,
format: 'umd',
moduleName: 'ElForm',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElInputNumber',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElInput',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElLoading',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,4 +1,2 @@
import Loading from './src/directive';
Loading.name = 'loading';
module.exports = Loading;

16
packages/menu/_index.js Normal file
View File

@ -0,0 +1,16 @@
const ElMenu = require('./src/menu');
const ElMenuItem = require('./src/menu-item');
const ElMenuItemGroup = require('./src/menu-item-group');
const ElSubmenu = require('./src/submenu');
module.exports = function(Vue) {
Vue.component(ElMenuItem.name, ElMenuItem);
Vue.component(ElMenuItemGroup.name, ElMenuItemGroup);
Vue.component(ElMenu.name, ElMenu);
Vue.component(ElSubmenu.name, ElSubmenu);
};
exports.ElMenuItemGroup = ElMenuItemGroup;
exports.ElMenuItem = ElMenuItem;
exports.ElMenu = ElMenu;
exports.ElSubmenu = ElSubmenu;

View File

@ -1,29 +1,18 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
index: path.join(__dirname, 'index.js')
index: path.join(__dirname, '_index.js')
},
dist: path.join(__dirname, 'lib'),
template: false,
format: 'umd',
moduleName: 'ElMenu',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,16 +1,17 @@
{
"name": "el-select-dropdown",
"name": "el-menu",
"version": "0.0.0",
"description": "A select-dropdown component for Vue.js.",
"description": "A menu component for Vue.js.",
"keywords": [
"element",
"vue",
"component"
],
"main": "./lib/index.js",
"repository": "https://github.com/element-component/element/tree/master/packages/select-dropdown",
"repository": "https://github.com/element-component/element/tree/master/packages/menu",
"author": "elemefe",
"license": "MIT",
"dependencies": {
"wind-dom": "0.0.3"
}
}

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElMessageBox',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,3 +1,2 @@
import MessageBox from './src/main.js';
module.exports = MessageBox;

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElMessage',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,3 +1,2 @@
import Message from './src/main.js';
module.exports = Message;

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElNotification',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,3 +1,2 @@
import Notification from './src/main.js';
module.exports = Notification;

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElPagination',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElPopover',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElProgress',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

13
packages/radio/_index.js Normal file
View File

@ -0,0 +1,13 @@
const ElRadio = require('./src/radio');
const RadioButton = require('./src/radio-button.vue');
const RadioGroup = require('./src/radio-group.vue');
module.exports = function(Vue) {
Vue.component(ElRadio.name, ElRadio);
Vue.component(RadioButton.name, RadioButton);
Vue.component(RadioGroup.name, RadioGroup);
};
exports.ElRadio = ElRadio;
exports.RadioButton = ElRadio;
exports.RadioGroup = RadioGroup;

View File

@ -1,29 +1,18 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
index: path.join(__dirname, 'index.js')
index: path.join(__dirname, '_index.js')
},
dist: path.join(__dirname, 'lib'),
template: false,
format: 'umd',
moduleName: 'ElCascader',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
moduleName: 'ElRadio',
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElRate',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElRow',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,7 +1,7 @@
const ElRow = require('./src/row');
ElRow.install = function(Vue) {
Vue.component('el-row', ElRow);
Vue.component(ElRow.name, ElRow);
};
module.exports = ElRow;

View File

@ -1,29 +0,0 @@
var cooking = require('cooking');
var path = require('path');
cooking.set({
entry: {
index: path.join(__dirname, 'index.js')
},
dist: path.join(__dirname, 'lib'),
template: false,
format: 'umd',
moduleName: 'ElSelectMenu',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
});
module.exports = cooking.resolve();

View File

@ -1,7 +0,0 @@
const SelectDropdown = require('./src/select-dropdown.vue');
SelectDropdown.install = function(Vue) {
Vue.component(SelectDropdown.name, SelectDropdown);
};
module.exports = SelectDropdown;

13
packages/select/_index.js Normal file
View File

@ -0,0 +1,13 @@
const ElSelect = require('./src/select');
const ElOption = require('./src/option');
const ElOptionGroup = require('./src/option-group');
module.exports = function(Vue) {
Vue.component(ElSelect.name, ElSelect);
Vue.component(ElOption.name, ElOption);
Vue.component(ElOptionGroup.name, ElOptionGroup);
};
exports.ElSelect = ElSelect;
exports.ElOption = ElOption;
exports.ElOptionGroup = ElOptionGroup;

View File

@ -1,29 +1,18 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
index: path.join(__dirname, 'index.js')
index: path.join(__dirname, '_index.js')
},
dist: path.join(__dirname, 'lib'),
template: false,
format: 'umd',
moduleName: 'ElSelect',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -66,7 +66,7 @@
<script type="text/babel">
import emitter from 'element-ui/src/mixins/emitter';
import ElInput from 'element-ui/packages/input/index.js';
import ElSelectMenu from 'element-ui/packages/select-dropdown/index.js';
import ElSelectMenu from './select-dropdown.vue';
import ElTag from 'element-ui/packages/tag/index.js';
import debounce from 'throttle-debounce/debounce';
import Clickoutside from 'element-ui/src/utils/clickoutside';

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElSlider',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElSpinner',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

10
packages/steps/_index.js Normal file
View File

@ -0,0 +1,10 @@
const Steps = require('./src/steps');
const Step = require('./src/step');
module.exports = function(Vue) {
Vue.component(Steps.name, Steps);
Vue.component(Step.name, Step);
};
exports.Steps = Steps;
exports.Step = Step;

View File

@ -1,29 +1,18 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
index: path.join(__dirname, 'index.js')
index: path.join(__dirname, '_index.js')
},
dist: path.join(__dirname, 'lib'),
template: false,
format: 'umd',
moduleName: 'ElSteps',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -8,22 +9,10 @@ cooking.set({
dist: path.join(__dirname, 'lib'),
template: false,
format: 'umd',
moduleName: 'ElCascader',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
moduleName: 'ElSwitch',
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,7 +1,7 @@
const ElSwitch = require('./src/component');
ElSwitch.install = function(Vue) {
Vue.component('el-switch', ElSwitch);
Vue.component(ElSwitch.name, ElSwitch);
};
module.exports = ElSwitch;

10
packages/table/_index.js Normal file
View File

@ -0,0 +1,10 @@
const ElTableColumn = require('./src/table-column');
const ElTable = require('./src/table');
module.exports = function(Vue) {
Vue.component(ElTable.name, ElTable);
Vue.component(ElTableColumn.name, ElTableColumn);
};
exports.ElTable = ElTable;
exports.ElTableColumn = ElTableColumn;

View File

@ -1,29 +1,18 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
index: path.join(__dirname, 'index.js')
index: path.join(__dirname, '_index.js')
},
dist: path.join(__dirname, 'lib'),
template: false,
format: 'umd',
moduleName: 'ElTable',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,7 +1,7 @@
const ElTable = require('./src/table');
ElTable.install = function(Vue) {
Vue.component('el-table', ElTable);
Vue.component(ElTable.name, ElTable);
};
module.exports = ElTable;

10
packages/tabs/_index.js Normal file
View File

@ -0,0 +1,10 @@
const ElTabs = require('./src/tabs');
const ElTabPane = require('./src/tab-pane');
module.exports = function(Vue) {
Vue.component(ElTabs.name, ElTabs);
Vue.component(ElTabPane.name, ElTabPane);
};
exports.ElTabs = ElTabs;
exports.ElTabPane = ElTabPane;

View File

@ -1,29 +1,18 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
index: path.join(__dirname, 'index.js')
index: path.join(__dirname, '_index.js')
},
dist: path.join(__dirname, 'lib'),
template: false,
format: 'umd',
moduleName: 'ElTabs',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,9 +1,7 @@
const ElTabs = require('./src/tabs');
const ElTabPane = require('./src/tab-pane');
ElTabs.install = function(Vue) {
Vue.component(ElTabs.name, ElTabs);
Vue.component(ElTabPane.name, ElTabPane);
};
module.exports = ElTabs;

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElTag',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElTooltip',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElTree',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,5 +1,6 @@
var cooking = require('cooking');
var path = require('path');
var config = require('../../build/config');
cooking.set({
entry: {
@ -9,21 +10,9 @@ cooking.set({
template: false,
format: 'umd',
moduleName: 'ElUpload',
extends: ['vue2']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, '../../src'),
'packages': path.join(__dirname, '../../packages')
});
cooking.add('externals', {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
extends: ['vue2'],
alias: config.alias,
externals: { vue: config.vue }
});
module.exports = cooking.resolve();

View File

@ -1,4 +1,3 @@
import SelectDropdown from '../packages/select-dropdown/index.js';
import Pagination from '../packages/pagination/index.js';
import Dialog from '../packages/dialog/index.js';
import Autocomplete from '../packages/autocomplete/index.js';
@ -58,7 +57,6 @@ import Step from '../packages/step/index.js';
const install = function(Vue) {
if (install.installed) return;
Vue.component(SelectDropdown.name, SelectDropdown);
Vue.component(Pagination.name, Pagination);
Vue.component(Dialog.name, Dialog);
Vue.component(Autocomplete.name, Autocomplete);
@ -129,7 +127,6 @@ if (typeof window !== 'undefined' && window.Vue) {
module.exports = {
version: '1.0.0-rc.7',
install,
SelectDropdown,
Pagination,
Dialog,
Autocomplete,