Skip to content

Commit

Permalink
Updated generator. Added initial testing workflow.
Browse files Browse the repository at this point in the history
  • Loading branch information
alexgrozav committed Feb 19, 2020
1 parent 09e1189 commit 45bd937
Show file tree
Hide file tree
Showing 21 changed files with 41,811 additions and 32 deletions.
12 changes: 12 additions & 0 deletions packages/vue-cli-plugin/babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
module.exports = {
presets: [
[
'@babel/preset-env',
{
targets: {
node: 'current',
},
},
],
],
};
19 changes: 14 additions & 5 deletions packages/vue-cli-plugin/generator/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,15 @@ module.exports = (api, options, rootOptions) => {

// Add imports
api.injectImports(api.entryFile, options.scss ?
`import '@inkline/inkline/src/index.scss'` :
`import '@inkline/inkline/src/inkline.scss'` :
`import '@inkline/inkline/dist/inkline.css'`);
api.injectImports(api.entryFile, options.treeShaking ?
`import Inkline from '@inkline/inkline/src/index'`:
`import Inkline from '@inkline/inkline'`);

if (options.treeShaking) {
api.injectImports(api.entryFile, `import { Inkline } from '@inkline/inkline/src'`);
api.injectImports(api.entryFile, `import * as components from '@inkline/inkline/src/components'`);
} else {
api.injectImports(api.entryFile, `import Inkline from '@inkline/inkline'`);
}

api.onCreateComplete(() => {
const fs = require('fs');
Expand All @@ -22,7 +26,12 @@ module.exports = (api, options, rootOptions) => {

// Inject imports
const lastImportIndex = lines.findIndex(line => line.match(/^import/));
lines[lastImportIndex] += `\n\nVue.use(Inkline);`;

if (options.treeShaking) {
lines[lastImportIndex] += `\n\nVue.use(Inkline, { components });`;
} else {
lines[lastImportIndex] += `\n\nVue.use(Inkline);`;
}

// Write back
content = lines.reverse().join(`\n`);
Expand Down
26 changes: 26 additions & 0 deletions packages/vue-cli-plugin/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
module.exports = {
moduleFileExtensions: ["js", "jsx", "json", "vue"],
collectCoverage: false,
transform: {
"^.+\\.vue$": "vue-jest",
".+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$": "jest-transform-stub",
"^.+\\.jsx?$": "babel-jest"
},
transformIgnorePatterns: [
"node_modules/(?!@inkline/inkline)"
],
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/$1',
'^~/(.*)$': '<rootDir>/$1',
'^vue$': 'vue/dist/vue.common.js'
},
snapshotSerializers: ["jest-serializer-vue"],
testMatch: [
"**/tests/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)"
],
setupFilesAfterEnv: [
"./tests/jest/setup.js"
],
testURL: "http://localhost/",
verbose: true
};
7,082 changes: 7,082 additions & 0 deletions packages/vue-cli-plugin/package-lock.json

Large diffs are not rendered by default.

84 changes: 57 additions & 27 deletions packages/vue-cli-plugin/package.json
Original file line number Diff line number Diff line change
@@ -1,29 +1,59 @@
{
"name": "vue-cli-plugin-inkline",
"version": "0.0.3",
"description": "Inkline UI/UX Framework Plugin for Vue CLI",
"main": "index.js",
"author": "Manuel Tancoigne <m.tancoigne@gmail.com>",
"contributors": [
"Alex Grozav <alex@grozav.com> (https://grozav.com/)"
],
"homepage": "https://github.com/inkline/vue-cli-plugin-inkline#readme",
"repository": {
"type": "git",
"url": "git+https://github.com/inkline/vue-cli-plugin-inkline.git"
},
"license": "MIT",
"private": false,
"bugs": {
"url": "https://github.com/inkline/vue-cli-plugin-inkline/issues"
},
"keywords": [
"inkline",
"inkline plugin",
"vue",
"vue-cli",
"vue-cli inkline",
"vue-cli-3",
"vue-cli-3 inkline"
]
"name": "@inkline/vue-cli-plugin-inkline",
"version": "1.0.0",
"description": "Inkline UI/UX Framework Plugin for Vue CLI",
"main": "index.js",
"scripts": {
"test": "jest",
"test:dev": "jest --watch",
"prepare": "cd tests/app && npm install"
},
"dependencies": {
"@inkline/inkline": "^1.0.0"
},
"peerDependencies": {
"vue": "^2.0.0",
"node-sass": "*",
"sass-loader": "*"
},
"devDependencies": {
"@babel/core": "^7.8.4",
"@babel/preset-env": "^7.8.4",
"@vue/test-utils": "^1.0.0-beta.31",
"babel-jest": "^25.1.0",
"jest": "^25.1.0",
"jest-serializer-vue": "^2.0.2",
"jest-transform-stub": "^2.0.0",
"rimraf": "^3.0.2",
"vue-jest": "^3.0.5"
},
"files": [
"index.js",
"generator/",
"README.md",
"LICENSE"
],
"author": "Alex Grozav <alex@grozav.com> (https://grozav.com/)",
"contributors": [
"Manuel Tancoigne <m.tancoigne@gmail.com>"
],
"homepage": "https://github.com/inkline/vue-cli-plugin-inkline#readme",
"repository": {
"type": "git",
"url": "git+https://github.com/inkline/vue-cli-plugin-inkline.git"
},
"license": "MIT",
"private": false,
"bugs": {
"url": "https://github.com/inkline/vue-cli-plugin-inkline/issues"
},
"keywords": [
"inkline",
"inkline plugin",
"vue",
"vue-cli",
"vue-cli inkline",
"vue-cli-3",
"vue-cli-3 inkline"
]
}
5 changes: 5 additions & 0 deletions packages/vue-cli-plugin/tests/app/babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
};
Binary file not shown.
17 changes: 17 additions & 0 deletions packages/vue-cli-plugin/tests/app/dist/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="/favicon.ico">
<title>app</title>
</head>
<body>
<noscript>
<strong>We're sorry but app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

0 comments on commit 45bd937

Please sign in to comment.