From be653099f0a156f381a9d1692df2b62ba3540ec0 Mon Sep 17 00:00:00 2001 From: Bart Waardenburg Date: Wed, 5 Dec 2018 00:23:33 +0100 Subject: [PATCH] fix: Added preact configuration in missing (cli related) places --- .circleci/config.yml | 10 ++++++++++ .../buildTypes/StorybookApp.kt | 1 + docs/src/pages/basics/quick-start-guide/index.md | 2 +- lib/cli/lib/detect.js | 7 +++++++ lib/cli/lib/initiate.js | 6 ++++++ lib/cli/lib/project_types.js | 2 ++ 6 files changed, 27 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 76cc6666676..94123a70db9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -99,6 +99,11 @@ jobs: command: | cd examples/riot-kitchen-sink yarn build-storybook + - run: + name: Build preact kitchen-sink + command: | + cd examples/preact-kitchen-sink + yarn build-storybook - run: name: Build official-storybook command: | @@ -166,6 +171,11 @@ jobs: command: | cd examples/riot-kitchen-sink yarn storybook --smoke-test --quiet + - run: + name: Run preact kitchen-sink (smoke test) + command: | + cd examples/preact-kitchen-sink + yarn storybook --smoke-test --quiet native-smoke-tests: <<: *defaults steps: diff --git a/.teamcity/OpenSourceProjects_Storybook/buildTypes/StorybookApp.kt b/.teamcity/OpenSourceProjects_Storybook/buildTypes/StorybookApp.kt index 3f043631cee..ccbfa662d65 100644 --- a/.teamcity/OpenSourceProjects_Storybook/buildTypes/StorybookApp.kt +++ b/.teamcity/OpenSourceProjects_Storybook/buildTypes/StorybookApp.kt @@ -17,6 +17,7 @@ enum class StorybookApp(val appName: String, val exampleDir: String, val merged: SVELTE("Svelte", "svelte-kitchen-sink"), RIOT("Riot", "riot-kitchen-sink"), EMBER("Ember", "ember-cli"); + PREACT("Preact", "preact-kitchen-sink"), val lowerName = appName.toLowerCase() diff --git a/docs/src/pages/basics/quick-start-guide/index.md b/docs/src/pages/basics/quick-start-guide/index.md index 1f7d0fd144f..462f1f9dde7 100644 --- a/docs/src/pages/basics/quick-start-guide/index.md +++ b/docs/src/pages/basics/quick-start-guide/index.md @@ -4,7 +4,7 @@ title: 'Quick Start Guide' --- Storybook supports many different frontend view layers with more coming! -React, Vue, Angular, Mithril, Marko, HTML, Svelte, Meteor, and Ember are currently supported. Follow these steps to get started with Storybook. +React, Vue, Angular, Mithril, Marko, HTML, Svelte, Meteor, Ember and Preact are currently supported. Follow these steps to get started with Storybook. Get started using the automated command line tool. This command adds a set of boilerplate files for Storybook in your project: diff --git a/lib/cli/lib/detect.js b/lib/cli/lib/detect.js index 205c8015f54..89c8ca29721 100644 --- a/lib/cli/lib/detect.js +++ b/lib/cli/lib/detect.js @@ -104,6 +104,13 @@ function detectFramework(dependencies) { return types.RIOT; } + if ( + (dependencies.dependencies && dependencies.dependencies.preact) || + (dependencies.devDependencies && dependencies.devDependencies.preact) + ) { + return types.PREACT; + } + return false; } diff --git a/lib/cli/lib/initiate.js b/lib/cli/lib/initiate.js index 42116a1b06b..1f3b445178f 100644 --- a/lib/cli/lib/initiate.js +++ b/lib/cli/lib/initiate.js @@ -20,6 +20,7 @@ import mithrilGenerator from '../generators/MITHRIL'; import markoGenerator from '../generators/MARKO'; import htmlGenerator from '../generators/HTML'; import riotGenerator from '../generators/RIOT'; +import preactGenerator from '../generators/PREACT'; const logger = console; @@ -150,6 +151,11 @@ const installStorybook = (projectType, options) => { .then(commandLog('Adding storybook support to your "riot.js" app')) .then(end); + case types.PREACT: + return preactGenerator(npmOptions) + .then(commandLog('Adding storybook support to your "Preact" app')) + .then(end); + default: paddedLog(`We couldn't detect your project type. (code: ${projectType})`); paddedLog( diff --git a/lib/cli/lib/project_types.js b/lib/cli/lib/project_types.js index 84e12248032..e027b3faae0 100644 --- a/lib/cli/lib/project_types.js +++ b/lib/cli/lib/project_types.js @@ -17,6 +17,7 @@ const projectTypes = { MARKO: 'MARKO', HTML: 'HTML', RIOT: 'RIOT', + PREACT: 'PREACT', }; export default projectTypes; @@ -32,6 +33,7 @@ export const supportedFrameworks = [ 'ember', 'marko', 'meteor', + 'preact', ]; const notInstallableProjectTypes = [