More questions

This commit is contained in:
Belen Curcio
2017-07-06 13:09:43 -03:00
parent 60608af8b2
commit 99425e89ca
7 changed files with 94 additions and 5 deletions
+32 -3
View File
@@ -286,7 +286,7 @@ async function createSeedPlugin() {
{
type: 'input',
name: 'pluginName',
message: 'Plugin Name: i.e talk-plugin-permalink',
message: 'Plugin Name:',
validate: (input) => {
if (pluginNameExists(input)) {
@@ -299,18 +299,47 @@ async function createSeedPlugin() {
return 'Plugin Name is required.';
}
},
{
type: 'confirm',
name: 'server',
message: 'Is this a server-side plugin?'
},
{
type: 'confirm',
name: 'client',
message: 'Is this a client-side plugin?'
},
{
type: 'confirm',
name: 'client',
message: 'Should we add it to the plugins.json?'
}
]);
//==============================================================================
// Creating plugin seed
//==============================================================================
const seedTemplatePlugin = path.join(dir, 'scripts/templates/plugin');
const newPluginPath = path.join(pluginsDir, answers.pluginName);
try {
fs.copySync(seedTemplatePlugin, newPluginPath);
fs.copySync(seedTemplatePlugin, newPluginPath, {
filter: (p) => {
if (!answers.server) {
return /templates\/plugin\/server/.test(p);
}
console.log('Success!');
if (!answers.client) {
return /templates\/plugin\/client/.test(p);
}
return true;
}
});
console.log(`✨ Yay! Talk Plugin Seed created! Find your plugin in the /plugins folder`);
} catch (err) {
console.error(err);
}
@@ -0,0 +1,14 @@
{
"presets": [
"es2015"
],
"plugins": [
"add-module-exports",
"transform-class-properties",
"transform-decorators-legacy",
"transform-object-assign",
"transform-object-rest-spread",
"transform-async-to-generator",
"transform-react-jsx"
]
}
@@ -0,0 +1,23 @@
{
"env": {
"browser": true,
"es6": true,
"mocha": true
},
"parserOptions": {
"sourceType": "module",
"ecmaFeatures": {
"experimentalObjectRestSpread": true,
"jsx": true
}
},
"parser": "babel-eslint",
"plugins": [
"react"
],
"rules": {
"react/jsx-uses-react": "error",
"react/jsx-uses-vars": "error",
"no-console": ["warn", { "allow": ["warn", "error"] }]
}
}
+1
View File
@@ -0,0 +1 @@
module.exports = {};
+1
View File
@@ -0,0 +1 @@
module.exports = {};
@@ -0,0 +1,15 @@
import React from 'react';
import {Icon} from 'plugin-api/beta/client/components/ui';
class MyPluginComponent extends React.Component {
render() {
return (
<div>
<CoralLogo />
Plugin Created by Talk CLI
</div>
);
}
}
export default MyPluginComponent;
+8 -2
View File
@@ -1,6 +1,6 @@
/**
This is a client index example file and it should look like this:
This is a client index example file and it could look like this:
```
import LoveButton from './components/LoveButton';
@@ -17,4 +17,10 @@
To read more info on how to build client plugins. Please, go to: https://coralproject.github.io/talk/plugins-client.html
*/
export default {};
import MyPluginComponent from './components/MyPluginComponent';
export default {
slots: {
stream: [MyPluginComponent]
}
};