GithubHelp home page GithubHelp logo

biotope / biotope-boilerplate Goto Github PK

View Code? Open in Web Editor NEW
23.0 23.0 20.0 3.65 MB

Home Page: https://boilerplate.biotope.sh

License: MIT License

HTML 55.37% JavaScript 10.98% TypeScript 10.30% CSS 20.37% Smarty 2.97%
component-based css3 frontend-boilerplate frontend-components frontend-framework html5 typescript web-components

biotope-boilerplate's Introduction

Biotope, a toolchain for lasting design systems.

shield build shield npm

Biotope helps you to build, distribute and adopt a library of web components with a consistent design and of high quality across all your websites and apps. With Biotope you can easily collaborate with your team to develop and maintain the user interface of all your digital experiences from a single location.

If you want to learn more about Biotope and how you can benefit from using this toolchain please visit https://biotope.sh

Quick Start

Installation

First and foremost, you need to install biotope either as global package:

npm i biotope -g

After that you can use the biotope commandline tool to start a new biotope project.

Setup your first project

Setting up your first biotope instance, you should just trust the cli tool to setup your project. Just run:

biotope create [project-name]

This command will ask you some questions and create a new biotope-boilerplate instance.
After the tool is done, you can change directory to the newly generated biotope instance and run it:

cd [project-name]
npm start

Developing your first component

After starting your project, if you've chosen the empty instance, you should see an empty overview page.
Now to add your first component, just run

biotope generate

After asking you some questions, a new component will be created and ready to be developed. After that, you can go into the newly generated files an change them at your will.

biotope-boilerplate's People

Contributors

alxbenz avatar benjaminkonopka avatar clemens-vi avatar dannystey avatar dependabot[bot] avatar depfu[bot] avatar hummelch avatar iam-robin avatar janrembold avatar jurekbarth avatar koepferd avatar shariati avatar sheepfromheaven avatar smohadjer avatar tiagoaguiar31 avatar timomayer avatar vi-lukas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

biotope-boilerplate's Issues

Add docs

please add the docsify package and transfer the readme docs quick and dirty to these docs

Deprecated templates

Is it possible to mark templates as "deprecated" so that on index page they are displayed with special styling, same as we had in previous versions of frontend framework? If so, it's not being mentioned in readme.md

Add biotope-element

Expected behavior

I want to clone biotope and be ready to use biotope-element

Actual behavior

I have to update a bunch of stuff to use biotope-element

Remove references to vi coding guidelines

Current:
We reference the coding guidelines from VI as best practices

Wish:
To become it's own product, there should be no more references to the coding guidelines, as it is up to the developer.

@timomayer what do you think?

minified external scripts whatwg-fetch and object-assign not available

Expected behavior

All external resources and scripts are available

Actual behavior

https://unpkg.com/[email protected]/dist/fetch.umd.min.js is no longer working
"Cannot find "/dist/fetch.umd.min.js" in [email protected]"

https://unpkg.com/[email protected]/index.min.js is not accessible (anymore):
"Cannot find "/index.min.js" in [email protected]"

not minified versions are available however:
https://unpkg.com/[email protected]/dist/fetch.umd.js
https://unpkg.com/[email protected]/index.jsย 

Steps to reproduce

  1. load URL: https://unpkg.com/[email protected]/dist/fetch.umd.min.js
  2. load URL: https://unpkg.com/[email protected]/index.min.js

Specifications

  • Biotope Version: all
  • Node Version: all
  • Yarn Version: all
  • Operating System: all
  • Browser & Version: all

yarn start doesnt work

Expected behavior

start the development environment run yarn start

Actual behavior

error Command "start" not found.

Steps to reproduce

  1. Open your command line/terminal/bash
  2. Navigate to the project folder
  3. Run yarn install
  4. Run yarn start

Rename icon.scss to icon.tpl

Expected behavior

After cloning the project will build without warnings.

Actual behavior

Warning in IconFont task: file does not exist, src/resources/scss/fonts/iconfont/_icons.tpl
Renaming src/resources/scss/fonts/iconfont/_icons.scss to _icons.tpl will fix this.

Steps to reproduce

  1. clone project
  2. yarn install
  3. yarn start
  4. enjoy your warning

Specifications

  • Biotope Version: 5.4.0
  • Node Version: >=8.9.0
  • Yarn Version: >=1.4.0
  • Operating System: Windows

@dweiger : was changed in biotope-build (biotope/biotope-build#102) but not adjusted in biotope-boilerplate

add watchScss to projectConfig

Expected behavior

Live reload

Actual behavior

stop and start npm for effecting changes

Steps to reproduce

  1. start npm
  2. change style
  3. reload website

Specifications

  • Biotope Version: 6.2.0
  • Node Version: 11.13
  • Yarn Version:
  • Operating System: macOS 10.14.5
  • Browser & Version: Firefox Developer Edition 68.0b11

Fix system

Currently the boilerplate may not run after clone. Please ensure this usecase.

Adding NPX to biotope-boilerplate

Expected behavior

having NPX installed via npm install from the start on

Actual behavior

NPX needs to be installed manually

Steps to reproduce

  1. clone boilerplate
  2. generate a new component
  3. NPX is temporarily installing to generate the component each time

Specifications

  • Biotope Version: 6.2.0
  • Node Version: 11.13
  • Yarn Version:
  • Operating System: macOS 10.14.5
  • Browser & Version: Firefox Developer Edition 68.0b11

Move helpers to own repo

Current:

The jquery/js helpers are delivered with the biotope.

Wish:

The helpers are required as modules from their own repositories.

Enable "Snyk" for Security Checks on all Repositories

Snyk is a security checker for NPM Dependencies that could be used to identify security risks within the Biotope-Ecosystem.

It is free for open-source projects and could therefore be easily connected with all of biotopes repositories.

For more info see the website:
https://snyk.io/

Just a suggestion ;)

Typescript. JavaScript heap out of memory.

Start with gulp serve.

After view times webpack:ts runs it takes longer and longer and at some point running into:

Starting 'webpack:ts'...
<--- Last few GCs --->

[13936:0000020A1C0B82A0] 2906109 ms: Mark-sweep 1410.9 (1461.0) -> 1410.9 (1461.0) MB, 1618.4 / 0.0 ms last resort GC in old space requested

<--- JS stacktrace --->

==== JS stack trace =========================================

Security context: 000003CDEB725EE1
2: /* anonymous /(aka / anonymous */) [C:<projectPath>\ui-privatkunden-frontend-framework\node_modules\typescript\lib\typescript.js:20797] [bytecode=0000012474DB12A9 offset=3](this=000001CA07782311 ,ElementKind=
0000012985E5CA71 )
4: bindObjectLiteralExpression(aka bindObjectLiteralExpression) [C:\Users...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
1: node_module_register
2: v8::internal::FatalProcessOutOfMemory
3: v8::internal::FatalProcessOutOfMemory
4: v8::internal::Factory::NewTransitionArray
5: v8::internal::EhFrameIterator::DecodeSLeb128
6: v8::internal::JSReceiver::GetOwnPropertyDescriptor
7: v8::internal::JSReceiver::GetOwnPropertyDescriptor
8: v8::internal::JSReceiver::GetOwnPropertyDescriptor
9: v8::internal::JSReceiver::class_name
10: v8::internal::JSReceiver::GetOwnPropertyDescriptor
11: v8::internal::LookupIterator::PrepareTransitionToDataProperty
12: std::vector<v8::internal::compiler::MoveOperands * __ptr64,v8::internal::ZoneAllocator<v8::internal::compiler::MoveOperands * __ptr64> >::_Reallocate
13: std::vector<v8::internal::compiler::MoveOperands * __ptr64,v8::internal::ZoneAllocator<v8::internal::compiler::MoveOperands * __ptr64> >::_Reallocate
14: std::vector<v8::internal::compiler::MoveOperands * __ptr64,v8::internal::ZoneAllocator<v8::internal::compiler::MoveOperands * __ptr64> >::_Reallocate
15: std::vector<v8::internal::compiler::MoveOperands * __ptr64,v8::internal::ZoneAllocator<v8::internal::compiler::MoveOperands * __ptr64> >::_Reallocate
16: 0000014AEA2847A1

Race condition (resourceloader, slotted elements, polyfills)

Expected behavior

Slotted components work with resource-loader and polyfill.
ย 

Actual behavior

Slotted components don't work with resource-loader and polyfill.

Specifications

ย  - Biotope Version: 6
ย  - Browser & Version: IE11, Edge, Firefox ESR

ย 

RFC: vNext

@tiagomapmarques I would propose a change in the folder structure for vNext in comparison to your v7 branch:

In my opinion, there should be only a components and a common folder (you called it services)

What do you think @biotope/core-enforcer ?

CDN and local version of jQuery in use

Currently jQuery is included in two different ways:

  • loaded from CDN (index.hbs, browserSupport.hbs)
  • local jQuery module (included in every layout/page)

RFC: Get rid of the resources folder

I propose to get rid of the resources folder, as everything should live inside a component to guaranty reusability. This ticket is for discussion around that topic and for collection of risks.

Make it possible to work offline

Currently there is no way of working offline (in train) because bootstrap and jquery are only loaded from CDN

We should have a local fallback version in case of no internet.

Compile/Watch .scss in components folder

Expected behavior

Sass get's compiled if there's no underscore and it should trigger a build if there's no underscore

Actual behavior

In case you include it in resources, it works when saving the entrypoint file.

Steps to reproduce

  1. Checkout project and just use it.
  2. Create a scss file somewhere in src/components/<componentname>/styles.scss
  3. Run npm start check for a compiled file.

Specifications

  • Biotope Version: 6
  • Node Version: 11
  • Operating System: Mac OS

Make port configurable in projectConfig

I sometimes need to run two projects locally at the same time. Because biotope-build's serve process uses port 9000 by default, that's not possible without changing the used port. Currently it's possible to change it in biotope-build's config.js file. However, because that's a change in the node_modules folder, it gets lost upon every yarn install execution.
My suggestion: make the port configurable in the projectConfig.js file like a lot of other features are.

Update the patterns section of the readme

The local typescript demos src/resources/ts/jquery.plugin.advanced.ts and src/resources/ts/jquery.plugin.simple.ts referenced in the README file ('Patterns' section) do not exist.
Also, the jQuery section references the wrong file (/patterns/jquery.typescript.boilerplate.ts)
Does this whole section need to be updated?

Update readme - remove global gulp

It is not necessary to install global gulp if we use the script property in package.json to call "gulp build" with "yarn run build". We can remove this global requirement from the readme.

Move from normalize to sanitize

As normalize seems to be abandoned at the moment, we could move on and use sanitize. It's almost the same and it fixes the main Element for IE11 :)

Error running npm start with Node 12.1.0

Expected behavior

When entering "npm start" the server should be fired up and I can view the start page.

Actual behavior

I get an error message and the server is not started.

PS C:\...> npm start
> [email protected] start C:\projects\vi\biotope-for-non-biotopers\biotope-boilerplate
> gulp serve

fs.js:27
const { Math, Object, Reflect } = primordials;
                                  ^
ReferenceError: primordials is not defined
    at fs.js:27:35
    at req_ (C:\projects\vi\biotope-for-non-biotopers\biotope-boilerplate\node_modules\natives\index.js:143:24)
    at Object.req [as require] (C:\projects\vi\biotope-for-non-biotopers\biotope-boilerplate\node_modules\natives\index.js:55:10)
    at Object.<anonymous> (C:\projects\vi\biotope-for-non-biotopers\biotope-boilerplate\node_modules\vinyl-fs\node_modules\graceful-fs\fs.js:1:37)
    at Module._compile (internal/modules/cjs/loader.js:759:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:770:10)
    at Module.load (internal/modules/cjs/loader.js:628:32)
    at Function.Module._load (internal/modules/cjs/loader.js:555:12)
    at Module.require (internal/modules/cjs/loader.js:666:19)
    at require (internal/modules/cjs/helpers.js:16:16)

Probably caused by: "Gulp 3 is broken on Node 12"
gulpjs/gulp#2324

Steps to reproduce

  1. Install node version 12.1.0
  2. npm install -g npx
  3. npx @biotope/cli init
  4. goto project folder
  5. npm start

Specifications

  • Biotope Version: 6.0.0
  • Node Version: 12.1.0
  • Yarn Version: n/a
  • Operating System: Win 10
  • Browser & Version: n/a

SCSS IntelliSense throws UnhandledPromiseRejectionWarning when starting serve process

Expected behavior

No errors thrown.

Actual behavior

The following error comes up in the VSCode SCC IntelliSense log:
[Error - 09:27:55] (node:13924) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: ENOENT: no such file or directory, stat 'c:\Users\lukas.mueller\Documents\dev\biotope\src\resources\scss\utilities\functions.scss'

Steps to reproduce

  1. Open (clean) biotope project in VSCode
  2. yarn start
  3. check SCSS IntelliSense output

Specifications

  • Biotope Version: 5.4.0
  • Node Version: 8.10.0
  • Yarn Version: 1.7.0
  • Operating System: Windows 10 Pro (Version 10.0.16299 Build 16299)
  • VSCode Version: 1.25.0-insider

rename the repo

Expected behavior

i expect to have a rough understanding of what a repo is for by reading its repo name.

Actual behavior

biotope/biotope confuses. i suggest to rename it to biotope/biotope-seed, biotope/biotope-boilerplate ?

Wrong path to component scaffolding in layout.default.hbs

Expected behavior

The path to the scaffolding of the components goes in line with the files that biotope CLI generates:
{{bioInclude 'components/XHeader/scaffolding/XHeader' }}
and
{{bioInclude 'components/XFooter/scaffolding/XFooter' }}

Actual behavior

image

Specifications

  • Biotope Version: 7.0.0

Yarn start does not work on windows

On windows yarn start does not work and exit with an error.

C:\dev\frontend-turbo-diesel\node_modules\.bin\gulp:2
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
          ^^^^^^^

SyntaxError: missing ) after argument list
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:616:28)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Function.Module.runMain (module.js:693:10)
    at startup (bootstrap_node.js:188:16)
    at bootstrap_node.js:609:3

Which is granted under scripts in the package.json

Problem occures because the given path "node node_modules/.bin/gulp" selects a file which is not processable with windows.

Quickfix: Change path to "node node_modules/gulp/bin/gulp"

We need to discuss if this a valid solution or if we need some better solution.

Resource Loader not dispatching event "resourcesReady"

Expected behavior

If you use the resource loader in a component and every resource got loaded it should fire an event for completion, e.g. to initialize components with data-init

Actual behavior

Event is not fired, the first file the resource loader picks up is stuck in the queue.

Steps to reproduce

  1. Checkout
  2. Create a component and some js/ts file include it via the resource loader
  3. Watch src/resources/ts/main.ts for the event

Specifications

  • Biotope Version: 6
  • Node Version: 11
  • Operating System: Mac OS

Add documentation for assets

There's missing documentation on how biotope behaves regarding copying assets in the component folder.

The behaviour is as followed:
All folders and files with and _ are ignored, as well as scss and ts files. They'll get transpiled and put back in the folder ๐Ÿ‘
Everything else is copied over, the folder structure stays the same.

โœ๏ธ Typo in README.md

Expected behavior

In README.md file, "Definition Ecosystem vs. Ecosystem Framework" section point one should be "web applications user interface"

Actual behavior

Currently, it is "webaaplications user interface"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.