Fast front-end web app build tool with simple declarative config and seamless incremental compilation for rapid development.

Overview

Brunch Weekly downloads Yearly downloads

Web applications made easy. Since 2011.

Fast front-end web app build tool with simple declarative config and seamless incremental compilation for rapid development.

Usage

Install Brunch with a simple node.js package manager command:

npm install -g brunch
  1. Create a new Brunch project: brunch new [--skeleton url]
    • skeleton specifies a skeleton from which your application will be initialized. The default skeleton (dead-simple) doesn't have any opinions about frameworks or libraries.
    • brunch.io/skeletons contains over 50 boilerplate projects, which you can use to init your app from.
  2. Develop with Brunch: brunch watch --server
    • tells Brunch to watch your project and incrementally rebuild it when source files are changed. The optional server flag launches a simple web server with push state support.
  3. Deploy with Brunch: brunch build --production
    • builds a project for distribution. By default it enables minification.

Learn

Contributing

See the CONTRIBUTING.md document for more info on how to file issues or get your head into the Brunch's internals.

  • To install edge version (from GitHub master branch): npm install -g brunch/brunch
  • To enable debug mode, simply pass -d flag to any command like that: brunch build -d
  • To create your own plugin, check out our plugin boilerplate as a starting point.

License

MIT license (c) 2021 Paul Miller paulmillr.com, Elan Shanker, Nik Graf, Thomas Schranz, Allan Berger, Jan Monschke, Martin Schürrer

See LICENSE file.

Issues
  • Do something with bower assets

    Do something with bower assets

    1. do something with files specified in main that are not compiled
    2. don’t treat as assets assets-matching bower components (bootstrap/docs/assets/boostrap.js)
    feature 
    opened by paulmillr 56
  • Compiler Appears to Stop Compiling on Watch

    Compiler Appears to Stop Compiling on Watch

    Using the watcher, after a number of saves over a period of time the compiler appears to stop actually compiling, though the console shows that it is still building (correct timestamp, etc.). Not sure if this is related to compulsive / rapid cmd+s's or what; this only started happening after upgrading to the latest version.

    opened by damassi 49
  • Brunch watch is not detecting code changes

    Brunch watch is not detecting code changes

    After using brunch for almost a year, the brunch watch function suddenly stopped detecting my file changes today. If I run brunch watch, I get the normal info: compiled X files... message without errors, but after updating one of the files, nothing happens. If I stop brunch watch and then run it again, the changes I made before are compiled fine.

    My setup:

    • I run VirtualBox on a Windows host machine with help of Vagrant
    • I use brunch 1.7.18 on Ubuntu 12.04.5

    I've tried to update all NPM dependencies, and also reloaded and even rebuilt my vagrant box. Nothing seems to work.

    How can I debug this issue?

    opened by jvannistelrooy 48
  • Add package manager

    Add package manager

    Right now, when you create something with a template, you just use a snapshot of that template right now.

    However, templates change all the time. html5 boilerplate gets updated, chaplin gets updated... This means that everything that's in your template, but not a JS dependency, does not get updated and therefore gets outdated quickly.

    brunch obviously has mechanisms for updating the JS dependencies. To me, it only makes sense that whatever your template depends on would get updated too.

    I have mailed @paulmillr about this and he agrees that this should be raised as an issue and hopefully something nice can be found to fix this problem.

    Because everything is pretty much on github anyway, I think that git submodules should be involved, and the template should just use the upstream repository (perhaps with symlinks -- although I don't know how well they work on windows). That way, you can literally just update all the submodules and be synced with upstream.

    feature 
    opened by lvh 46
  • Client-side NPM integration requires serious rework

    Client-side NPM integration requires serious rework

    Just a general issue for all kinds of NPM issues.

    • [x] Documentation update
    • [x] Better stack traces
    • [x] Config shims
    • [x] Performance (#1038)
    feature 
    opened by paulmillr 44
  • Configure plugin order in config rather than rely on package.json order

    Configure plugin order in config rather than rely on package.json order

    It seems a bit fragile to have to rely on the order of declaration in package.json to determine the order that plugins are invoked in, given that npm --save reorders the dependencies alphabetically. I'm basing this on brunch-guide, and a cursory glance over the source code.

    It would be nice if this could be overridden in config.

    On another note, I'd quite like to be able to add locally-defined plugins without having them be a package in node_modules.

    feature 
    opened by facboy 42
  • What to change between 1.6.7 to 1.7.0 for plugins ?

    What to change between 1.6.7 to 1.7.0 for plugins ?

    There doesn't seem to be an entry in the changelog for that .. Jade-angularjs-brunch won't work anymore since the update (undefined's not a function).

    bug 
    opened by vendethiel 40
  • v1.7.14: Intermittent build failure on Ubuntu with no error output

    v1.7.14: Intermittent build failure on Ubuntu with no error output

    • Brunch: v1.7.14
    • Node: v0.10.28
    • OS: Ubuntu 12.04.4 LTS

    When attempting to build using v1.7.14 on Ubuntu, builds fail silently (exit code 0) about 50% of the time (after only 4-5 brunch:watch log events) with the final log line showing info: compiled in NaNms. No error is logged, and nothing in the debug output shows what might be causing the issue. The sporadic behavior makes me thing there's a race condition somewhere. My current hunch is that something's changed with fs events, possibly in chokidar. The fact that I can build normally using v1.7.14 on OS X reinforces this—it's something particular to the Linux platform. In any case, the fact that it's not reporting the error makes the problem difficult to figure out.

    We've done a careful regression test, and the only change for us that could be causing this is the v1.7.14 upgrade. After reverting to v1.7.13, builds are working normally for us everywhere. If we learn anything more about a possible underlying cause, I'll update this ticket.

    opened by kainosnoema 39
  • Add testing support

    Add testing support

    Recently I've found great testing library that seems to be even better than jasmine: visionmedia/mocha.

    It has several advantages:

    • node.js support out-of-box (no more jasmine-node spikes)
    • active development (some issues with pull requests stuck in jasmine for almost year)
    • @visionmedia as a maintainer -- it means that library would be soon widely used, even more than Jasmine

    As long as 0.9 isn't out, the switch would have no effect on our users. Jasmine support would be added as a separate plugin with new plugin system.

    @omarkhan i'm especially interested in your opinion about mocha.

    feature 
    opened by paulmillr 35
  • images and plugins issues with 1.7.0

    images and plugins issues with 1.7.0

    Hi, Source maps, wow, amazing. Congrats!!! Now back to subject:

    1. gifs from app/assets copied as empty files. And a random error:

    stream.js:81 throw er; // Unhandled stream error in pipe. ^ Error: OK, open '..../file.gif'

    1. //@ sourceMappingURL=app.js.map string always attached to js file (even the mapping is disabled
    2. vendor libraries start to crash (tested with http://github.com/razorjack/quicksand 1.2.2 and 1.3) (Uncaught TypeError: undefined is not a function )

    and 2 suggestions:

    1. a switch to chose between generating sourcesContent and making a link to app and vendor folders
    2. disable vendor folder mapping Thank you very much Paul
    bug 
    opened by devel-pa 34
  • submodules not working in vendors

    submodules not working in vendors

    while having in code something like

    import { useState } from 'preact/hooks'
    
    

    brunch finds and merges node_modules/preact/hooks/dist/hooks.js to vendor.js but at runtime we've:

    vendor.js:62 Uncaught Error: Cannot find module 'preact/hooks' from 'components/app.js'
    

    looking at vendor.js we can see that problem may be caused by non-existent alias preact/hooks => node_modules/preact/hooks/dist/hooks.js

    bug 
    opened by mkrasuski 4
  • Custom server not working on Brunch 3

    Custom server not working on Brunch 3

    Description

    When trying to run a custom server, it is not started.

    Expected behavior

    The custom server should obviously be started

    Actual behavior

    The command has no effect.

    On previous version of Brunch, the server is correctly started, as the log shows it:

    With Brunch 3:

    npx brunch watch --server
    11:17:49 - info: app started on http://localhost:3333/
    

    With Brunch 2:

    npx brunch watch --server
    [Wed Dec 25 11:59:50 2019] PHP 7.4.1 Development Server (http://localhost:8000) started
    11:59:50 - info: custom server started, initializing watcher
    

    Environment

    1. Brunch: latest (just installed)
    2. Node.js: 12.13.1
    3. NPM: 6.12.1
    4. Operating system: Linux Fecora 31
    5. Code editor: Atom

    Brunch config contents

      server: {
        command: "php -S localhost:8000 -t public/"
      },
    
    bug 
    opened by Arcesilas 0
  • New workers implementation

    New workers implementation

    The code for now:

    
    
    // function processFileParallel(file, isStatic) {
    //   const WorkerPool = require('../workers/pool');
    //   if (WorkerPool.instance) {
    //     return WorkerPool.instance.schedule([file, isStatic]);
    //   }
    //   return processFile(file, isStatic);
    // }
    
    
    // const sysPath = require('path');
    // const {EventEmitter} = require('events');
    // let threads;
    // try {
    //   threads = require('worker_threads');
    // } finally {}
    // exports.enabled = true;
    
    // // 1. no workers
    // //   main => processFile(file) =>
    // // 2. workers
    // //   main => processFile(file) =>
    // //     pool.determineWorker(file) =>
    // //     worker.postMessage(file) =>
    // //     parentPort.postMessage(processed)
    // // TODO:
    // // this.workers = await WorkerPool.create(application.stripOpts(options));
    // class WorkerPool extends EventEmitter {
    //   // static instance;
    //   /**
    //    * @returns {Promise}
    //    */
    //   static schedule(args) {
    //     if (!WorkerPool.instance) {
    //       throw new Error('No worker pool');
    //     }
    //     return WorkerPool.instance.schedule(args);
    //   }
    
    //   static create(options) {
    //     return new Promise(resolve => {
    //       const pool = new WorkerPool(options);
    //       pool.once('ready', () => {
    //         resolve(pool);
    //       });
    //     })
    //   }
    
    //   constructor(options) {
    //     super();
    
    //     WorkerPool.instance = this;
    
    //     if (!threads) {
    //       throw new Error('Workers are not supported');
    //     }
    //     const { Worker } = threads;
    
    //     const data = {workerData: {options}};
    
    //     this.counter = 0;
    //     this.workers = [];
    //     const count = 6 || require('os').cpus().length;
    //     this.workersToInit = count - 1;
    
    //     const file = sysPath.join(__dirname, 'listen.js');
    //     for (let i = 0; i < count - 1; i++) {
    //       this.workers.push(new Worker(file, data));
    //     }
    //     for (let worker of this.workers) {
    //       worker.on('message', msg => this.handleWorkerMessage(msg));
    //       worker.on('error', err => { throw err; });
    //       worker.on('exit', () => {
    //         this.workers.splice(this.workers.indexOf(worker), 1);
    //       });
    //     }
    //   }
    
    //   handleWorkerMessage(msg) {
    //     if (msg === 'ready') {
    //       this.workersToInit--;
    //       if (this.workersToInit === 0) {
    //         this.emit('ready');
    //       }
    //       return;
    //     }
    //     this.emit(msg.id, msg.result);
    //   }
    
    //   schedule(args) {
    //     const counter = this.counter++;
    //     const worker = this.workers[counter % this.workers.length];
    //     const id = counter.toString();
    //     worker.postMessage({type: 'compile', id, args});
    //     return new Promise(resolve => {
    //       this.once(id, resolve);
    //     });
    //   }
    
    //   async dispose() {
    //     await Promise.all(this.workers.map(t => t.terminate()));
    //   }
    // }
    // WorkerPool.instance = undefined;
    
    // if (threads && !threads.isMainThread) {
    //   async function initWorker() {
    //     const {isMainThread, parentPort, workerData} = require('worker_threads');
    //     const application = require('../utils/config');
    //     const pipeline = require('../fs_utils/pipeline');
    //     const {options} = workerData;
    //     options.fromWorker = true;
    //     const [cfg, {plugins}] = await application.loadConfigAndPlugins(options);
    //     pipeline.setPlugins(plugins, cfg.npm.compilers);
    
    //     parentPort.on('message', async ({type, id, args}) => {
    //       if (type === 'compile') {
    //         const result = await pipeline.processFile(args[0], args[1]);
    //         parentPort.postMessage({type, id, result});
    //       }
    //     });
    //     parentPort.postMessage('ready');
    //   }
    //   initWorker();
    // }
    
    // module.exports = WorkerPool;
    
    feature 
    opened by paulmillr 0
  • Reload Brunch Config on Plugin config file change?

    Reload Brunch Config on Plugin config file change?

    Description

    I would like to reload the brunch config when a config file for a plugin changes. For example, I am using tailwindcss, a postcss plugin, and would like to recompile my css when I change tailwind.js

    Expected behavior

    Brunch should know about external configuration sources and reload the config when they change.

    Actual behavior

    I have to restart the brunch watcher for the tailwind config to get reloaded.

    feature 
    opened by mattly 4
  • Fix issues when processFile changes the file's path.

    Fix issues when processFile changes the file's path.

    https://github.com/brunch/deppack/issues/49

    I've noticed that Typescript is giving me issues with brunch. I've tracked this down to Typescript changing the path of files when it changes their file extension.

    opened by danthedaniel 0
  • Undocumented requirement for `compileStatic` plugins.

    Undocumented requirement for `compileStatic` plugins.

    I discovered an interesting edge case today and wanted to bring it up to the maintainers. I am not sure whether the solution is a code change or a documentation update, hence this post.

    Description

    Not accessing file.data() in compileStatic results in the file raw data being used rather than the compiled asset data.

    Source of issue:

    asset._wasProcessed is only set if asset.data() was called at least once.

    See asset.js#83

    Expected behavior

    I expect that it should be sufficient that a compiler gets called on the file for it to be tracked as processed

    Example

    Works

    compileStatic(file) {
        file.data;
        Promise.resolve(file);
    }
    

    Does not work:

    compileStatic(file) {
        Promise.resolve(file);
    }
    
    docs 
    opened by rminderhoud 0
  • Add pnpm support

    Add pnpm support

    Description

    brunch doesn't detect pnpm

    Expected behavior

    brunch should be able to install packages via pnpm

    Actual behavior

    brunch ignores pnpm

    Implementation

    CR https://github.com/brunch/deps-install/pull/4

    feature 
    opened by reubano 0
  • Notify plugins when a file/asset is deleted

    Notify plugins when a file/asset is deleted

    I am writing a brunch plugin which is transforming static files using handlebars and handlebars-layouts. The plugin is picking up helpers (partials) from files on the filesystem - these are common layout files. They are then used across transforms of all the static files.

    I want it to work in "watch" mode. So when a file is deleted, I want to unregister the partials that it corresponds to. Is there a hook for a plugin to be notified when a file is deleted? I've scoured the code but it seems impossible.

    Thanks for your help!

    feature 
    opened by mr-miles 2
  • Installing a Skeleton Behind a Proxy

    Installing a Skeleton Behind a Proxy

    Description

    I'm having issues installing a new Brunch instance with a skeleton because I am behind a proxy. I would like to install the https:// version of the repo instead of the ssh (git://github.com) version of each skeleton. Is there a way to specify the https:// to be cloned instead of the git://github.com when setting up a new project?

    Expected behavior

    I should be able to run brunch new -s es6 and have it create a new instance of brunch without errors.

    Actual behavior

    After running brunch new -s es6 I receive the following output because I am behind a proxy:

    10:23:07 - log: Cloning git repo "git://github.com/brunch/with-es6.git" to "/Users/r880912/.brunch/skeletons/9152c4186024c8cef4830ecf8bc55c7c86af99d3"...
    (node:78593) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Git clone error: Error: Command failed: git clone git://github.com/brunch/with-es6.git "/Users/r880912/.brunch/skeletons/9152c4186024c8cef4830ecf8bc55c7c86af99d3"
    Cloning into '/Users/r880912/.brunch/skeletons/9152c4186024c8cef4830ecf8bc55c7c86af99d3'...
    fatal: unable to connect to github.com:
    github.com[0: 192.30.253.112]: errno=Connection refused
    github.com[1: 192.30.253.113]: errno=Connection refused
    
    
    (node:78593) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
    

    Environment

    1. Brunch: 2.10.9
    2. Node.js: 7.7.3
    3. NPM: 4.1.2
    4. Operating system: macOS Sierra
    bug 
    opened by procload 4
  • Killer feature request: Make Brunch STABLE

    Killer feature request: Make Brunch STABLE

    Description

    The Brunch concept is super nice. Easy to install, easy to configure. Simple.

    • Easy to use compilers.
    • Great watch mode.
    • Automatic npm installation.
    • Awesome browser auto-reload.

    Nothing super critical is missing from Brunch.

    The issue is that Brunch keeps breaking. This is due to:

    • Lack of tests.
    • Lack of plugin API docs → plugins doing the wrong thing.
    • Lack of npm releases and changelogs.

    All of the time that I save from Brunch's super simple configuration is spent on hunting down the exact commits of Brunch and its plugins that work together and manages to compile my projects.

    Examples

    • #1634: Brunch relying on private parts of the source-map package. This caused source maps to break when that package was updated, but there were non tests to catch this.
    • #1621: A non-obvious feature that broke after a refactor of Brunch. A test could have caught it.
    • #1546: Plugins breaking because of a mistake in a patch release. A basic integration test could have caught it.
    • brunch/sass-brunch#120: Plugin being unsure of what it is supposed to return, resulting in no error messages from it. Better API documentation and some kind of "type-checking" tests could help.
    • babel/babel-brunch#44: Same as the previous point.
    • brunch/uglify-js-brunch#39: Plugin being unsure of what parameters it receives, and what it is supposed to return. Caused source maps to be broken.
    • brunch/[email protected]: Cleanup after plugin being uncertain of what it receives.

    Ideas

    Monorepo

    Gather Brunch, deppack and all official Brunch plugins into a monorepo.

    • Makes it easier to run tests that check if a change in Brunch breaks a plugin.

    • Ability to share test setup between plugins. Currently, changes seem to be made in one plugin, and then things are copied to others. If a mistake is made in the first plugin's setup, that propagates. Making changes to all plugins is super tedious.

      For example, I tried to add source map support to clean-css-brunch a few days ago. That caused the tests to fail with no error messages at all – because the test assertions made in .then() of promises causes the tests to fail because of timeout in the tests, not because of the assertions themselves! Super frustrating. I've seen this testing pattern in other plugins as well. This would be much easier to fix in a shared test setup. brunch/[email protected] fixes it for one particular plugin.

    • Easier to make sweeping changes to all plugins.

    • People don't have to think about which repo to open an issue for.

    Tests

    It feels common that a fix for one bug causes another bug, or a regression. I'm thinking that tests can help here.

    • Every official plugin should be part of an integration test.
    • Common combos of plugins should be tested, like sass-brunch + postcss-brunch.
    • Unit tests, especially around source maps.
    • Tests of the brunch watch log. This is where people look when their code fails to compile. It is very important that errors are show correct.

    Flow

    Use flow for type checking. I think this would be especially nice for plugins. They could check that they return what they are supposed to, and be sure of what they receive.

    Plugin API docs improvements

    • Document exactly what will be available in config passed to plugin constructors.

    • Most plugin methods receive File objects. This is how it is documented:

      • path: "system path to the file." Quite good, but relative to what? Is it the path to the source code, or the output file? What is it when it comes from another plugin?
      • data: "file data as JS String." Perfect. We know both what it is, and its type.
      • map: "source map". What type is this? I think it is a SourceMapGenerator object from the source-map package. However, we returning a File from a plugin (in a Promise), it is supposed to be a string (I think!).

      It should also be documented that path and data must exist. (I think so, at least. Would it make sense otherwise?) And that map only may exist (depending on the "sourceMaps" config, and it previous plugins support source maps or not).

    Simpler plugin source map handling

    I suggest that the .map property of Files always are null or a plain JavaScript object. Not a SourceMapGenerator. Not a string.

    • This is what most compilers take as input.
    • It makes testing a lot easier. Just create a plain JavaScript object. No need to use require('source-map').SourceMapGenerator. That's harder – and isn't it an implementation detail?

    A more radical idea is to not pass source maps to plugins at all. Only let them return source maps. Then, Brunch would be in charge of merging all the source maps. Much less to go wrong in every plugin.

    Automatic releases

    If we have tests and CI, it would be really great if releases of Brunch and plugins were fully automatic (including changelogs). I'm thinking about semantic-release.

    Why? Fixes are often quickly merged. (Nice! :+1:) But it is annoying for maintainers to make releases, resulting in people having to wait for a long time, or hunting down the speciic commits known to work.

    For example, one of the most popular plugins, babel-brunch, still hasn't made a release with the fix for its error messages. People simply running npm i -D babel-brunch get basically no information at all when they make a syntax error mistake in their code.

    Summary

    Brunch is great. But it keeps breaking. I've presented a few solution ideas. Hopefully this can steer Brunch in a better direction.

    I know that Brunch is open source and free of charge. People don't have unlimited time to work on it. I'm not complaining. I'm not demanding anything. I know that there are several awesome people working on Brunch at the moment. I like Brunch. And I hope the best for it. I'll help out as much as I can, too.

    feature 
    opened by lydell 1
Releases(4.0.0)
  • 4.0.0(Feb 18, 2021)

    • Breaking: Require node.js 12.13 or higher
    • Breaking: Remove node-browser-modules:
      • This part of Brunch shimmed well-known node.js built-in modules and provided them for browsers - such as buffer and util
      • It increased Brunch package size massively and the modules themselves were outdated
      • Now, if you need to use "node.js" module, install proper shim from NPM
      • NPM packages can be used as before, this change only affects built-ins
    Source code(tar.gz)
    Source code(zip)
  • 3.0.0(Dec 16, 2019)

    • Make config optional; and you could have it in package.json
    • Build speed-ups up to 1.5x for some cases.
    • Built-in webserver is now using serve-handler from micro(1) webserver. Custom webservers are unaffected.
    • Breaking: Require node.js 10.16 or higher
    • Breaking: Remove Bower and AMD support
    • Breaking: Remove support for CoffeeScript brunch configs, emit a command that would compile coffee file to js
    • Breaking: New node.js API - use brunch.build() from node without hassle
    • Decrease package size by a huge amount:
      • Update Chokidar to 3.0
      • Remove or integrate many dependencies
      • Update dependencies to latest versions
    Source code(tar.gz)
    Source code(zip)
Owner
Brunch
HTML5 applications made easy.
Brunch
A simple color game made using VueJS + Ionic on front-end, and AdonisJS + PostgreSQL on back-end

Simple Color Game This is a browser game made using VueJS + Ionic on front-end, and AdonisJS + PostgreSQL on back-end. The game is very simple: You ha

Thales B. Rodrigues 10 Aug 20, 2021
Build an end-to-end e-commerce App with Vue, Nuxt, and appbase.io. Uses Auth0 for authentication, Stripe for checkout, and Heroku / Vercel for deployment.

Build an end-to-end e-commerce App with Vue, Nuxt, and appbase.io (for building search). Uses Auth0 for authentication, Stripe for checkout, and Heroku / Vercel for deployment.

null 8 Dec 27, 2021
This project front-end app based on Vue + vant-ui to build the mobile mall

vue-mobile-store 描述 该项目前端为移动商城app,基于Vue + vant-ui搭建。后台管理系统采用vue + element-ui实现,项目整体采用前后端分离技术,在node端加入一个server服务,模拟服务器环境,为前端提供数据来源。

Banana 2 Nov 11, 2021
KubeCube-front is the front-end project of KubeCube

KubeCube-front KubeCube-front is the front-end project of KubeCube. Features Structure Quick Start npm install npm run build docker build . Put the pa

KubeCube IO 5 Dec 17, 2021
Gflbans-web - Vue.JS 3 Web Front End for GFLBans

GFLBans Web The Web Frontend for GFLBans. This project, although public, is likely not useful to most as the Python API server component (which coordi

Aurora 0 Jan 4, 2022
This project shows how to dockerize web application build using Vue JS web development framework for Java Script programming language.

vue-docker This project shows how to dockerize web application build using Vue JS web development framework for Java Script programming language. Requ

Denny Imanuel 1 Dec 27, 2021
Front-end version of the flight_club app implemented with firebase and vue

flight-club Project setup npm install Compiles and hot-reloads for development npm run serve Compiles and minifies for production npm run build Lin

David Brown 0 Dec 27, 2021
A vue.js web application to practice with front-end rendering

VuePosts Introduction This is simply another vue.js web application. I did this project to practice front-end rendering skills and try out a framework

Davide 0 Dec 12, 2021
An SSI web wallet front-end, leveraging the backend API

waltid-web-wallet An SSI web wallet front-end, leveraging the backend API of https://github.com/walt-id/waltid-wallet-backend Wallet backend connectio

walt.id 3 Jan 10, 2022
Vue.js energy monitor front-end app

Node-Red Energy Monitor Vue.js energy monitor front-end app. Uses Node-red with uibuilder for the back-end with sqlite as a database. Data is pulled f

null 0 Jan 3, 2022
Front-end app that emulates the classic simon toy

Front-end app that emulates the classic simon toy. By choosing a level and clicking start, you should press the buttons in the correct order. You'll be able to save your score.

Juan Raudales 5 Oct 18, 2021
Vue front-end App like Okta

frontend-app Project setup npm install Compiles and hot-reloads for development npm run serve Compiles and minifies for production npm run build Ru

Techie Mastermind 0 Dec 23, 2021
Toko is an Open Source Jamstack e-commerce solution powered by NuxtJS (Front-End) and Directus (CMS).

Toko is an Open Source Jamstack e-commerce solution powered by NuxtJS (Front-End) and Directus (CMS). Toko focuses on four key points: Performances to give users fast loading time, low data consumption to improve the eco-conception, SEO-friendly content, and modern design templates.

Florian 17 Jan 4, 2022
Config files for my GitHub profile.

Github太慢的话可以访问Gitee国内地址:https://gitee.com/chendark/chendark 前言 1.之前一直使用hexo做为博客引擎然后上传至github来做静态博客网站,后部署至gitee。但由于站内文章越来越多,导致自己需要一套轻松便捷的博客管理系统来进行管理。 2

Chen 5 Oct 30, 2021
CN466:IoT midterm project as a front-end using vue.js

CN466:IoT midterm project as a front-end using vue.js

Yodsatorn Pantongkam 1 Oct 9, 2021
Front-end for nindika. A brazilian platform that helps users to find their next Nintendo Switch game.

nindika Build Setup # install dependencies $ yarn install # serve with hot reload at localhost:3000 $ yarn dev # build for production and launch ser

Stephann Vasconcelos 1 Dec 6, 2021
Projeto front-end de pizzaria para estudos

Pyzza's A Quasar Framework app Pré-requisitos Ter o Quasar CLI instalado globalmente (https://quasar.dev/quasar-cli/installation); Gostar de pizza. In

Lucy Brandão 4 Nov 15, 2021
An initial attempt at using Vaadin Fusion for a Vue based front-end to communicate with a Java based server

Custom project from start.vaadin.com This project can be used as a starting point to create your own Vaadin application with Spring Boot. It contains

Petri Heinonen (Vaadin) 0 Dec 3, 2021
Vuejs front-end to fetch users

thermondo vue application to fetch 10 users initially and to add one user after that when add button clicked, also delete any of the user profiles Pro

null 0 Dec 27, 2021