Skip to content

Commit c9d3739

Browse files
committed
core: add basic workflow
1 parent f1820e6 commit c9d3739

File tree

10 files changed

+150
-0
lines changed

10 files changed

+150
-0
lines changed

.babelrc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"presets": [
3+
[
4+
"env",
5+
{
6+
"modules": false
7+
}
8+
]
9+
],
10+
"plugins": [
11+
"external-helpers"
12+
]
13+
}

.editorconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
indent_style = space
6+
indent_size = 2
7+
end_of_line = lf
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true

.eslintignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/dist/
2+
/test/unit/coverage/
3+
/*.js

.eslintrc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"parser": "babel-eslint",
3+
"parserOptions": {
4+
"sourceType": "module",
5+
"allowImportExportEverywhere": false,
6+
"codeFrame": false
7+
},
8+
"extends": "standard"
9+
}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ typings/
5353

5454
# Yarn Integrity file
5555
.yarn-integrity
56+
yarn.lock
5657

5758
# dotenv environment variables file
5859
.env

dist/index.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/**
2+
* Element form-builder v0.1.0
3+
* (c) 2018 Felix Yang
4+
*/
5+
var FormBuilder = {
6+
name: 'ElFormBuilder',
7+
8+
props: {},
9+
10+
render: function render(h) {
11+
return h('div', {}, ['formbuilder']);
12+
}
13+
};
14+
15+
var install = function installFormBuilder(Vue) {
16+
Vue.component('el-form-builder', FormBuilder);
17+
};
18+
19+
var index = {
20+
install: install
21+
};
22+
23+
export default index;

package.json

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
{
2+
"name": "element-form-builder",
3+
"version": "0.1.0",
4+
"description": "Generate form of element-ui using JSON configuration.",
5+
"main": "dist/index.js",
6+
"scripts": {
7+
"build": "node scripts/build.js",
8+
"test": "yarn test"
9+
},
10+
"repository": {
11+
"type": "git",
12+
"url": "git+https://github.com/codetrial/element-form-builder.git"
13+
},
14+
"keywords": [
15+
"vue",
16+
"element",
17+
"form",
18+
"builder",
19+
"json"
20+
],
21+
"author": "felixpy",
22+
"license": "MIT",
23+
"bugs": {
24+
"url": "https://github.com/codetrial/element-form-builder/issues"
25+
},
26+
"homepage": "https://github.com/codetrial/element-form-builder#readme",
27+
"dependencies": {
28+
"element-ui": "^2.4.11",
29+
"vue": "^2.6.0"
30+
},
31+
"devDependencies": {
32+
"babel-core": "^6.26.3",
33+
"babel-eslint": "^10.0.1",
34+
"babel-plugin-external-helpers": "^6.22.0",
35+
"babel-preset-env": "^1.7.0",
36+
"eslint": "^5.10.0",
37+
"eslint-config-standard": "^12.0.0",
38+
"eslint-plugin-import": "^2.14.0",
39+
"eslint-plugin-jest": "^22.1.2",
40+
"eslint-plugin-node": "^8.0.0",
41+
"eslint-plugin-promise": "^4.0.1",
42+
"eslint-plugin-standard": "^4.0.0",
43+
"jest": "^23.6.0",
44+
"rollup": "^0.67.4",
45+
"rollup-plugin-babel": "3"
46+
}
47+
}

scripts/build.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
const babel = require('rollup-plugin-babel')
2+
const rollup = require('rollup')
3+
const version = process.env.VERSION || require('../package.json').version
4+
const banner = '/**\n * Element form-builder v' + version + '\n * (c) 2018 Felix Yang\n */'
5+
6+
const inputOptions = {
7+
input: 'src/index.js',
8+
external: ['vue', 'element-ui'],
9+
plugins: [
10+
babel({
11+
exclude: 'node_modules/**',
12+
plugins: ['external-helpers']
13+
})
14+
]
15+
}
16+
const outputOptions = {
17+
file: 'dist/index.js',
18+
format: 'es',
19+
banner
20+
}
21+
22+
async function build () {
23+
const bundle = await rollup.rollup(inputOptions)
24+
await bundle.write(outputOptions)
25+
}
26+
27+
build()

src/formbuilder.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export default {
2+
name: 'ElFormBuilder',
3+
4+
props: {},
5+
6+
render (h) {
7+
return h('div', {}, ['formbuilder'])
8+
}
9+
}

src/index.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import FormBuilder from './formbuilder'
2+
3+
const install = function installFormBuilder (Vue) {
4+
Vue.component('el-form-builder', FormBuilder)
5+
}
6+
7+
export default {
8+
install
9+
}

0 commit comments

Comments
 (0)