All Projects → omahajs → generator-omaha

omahajs / generator-omaha

Licence: MIT license
Yeoman generator designed to help you craft sustainable code for the modern web

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to generator-omaha

Project Name
Get the name of a project from package.json, git config, or basename of the current working directory.
Stars: ✭ 8 (-33.33%)
Mutual labels:  yeoman, scaffold
Generator Gulp Express Webapp
Yeoman generator for building a simple web app using express + gulp. This project contains proper project and build structure to be easily extensible.
Stars: ✭ 8 (-33.33%)
Mutual labels:  yeoman, scaffold
generator-veams
Scaffold modern frontend web apps or web pages with a static site generator (Assemble or Mangony), Grunt and/or Gulp, Sass and Bower. Use modern frameworks like Bourbon, Bootstrap or Foundation and structure your JavaScript with ES Harmony support.
Stars: ✭ 45 (+275%)
Mutual labels:  yeoman, scaffold
generator-go
A Yeoman generator to scaffold a simple golang application
Stars: ✭ 46 (+283.33%)
Mutual labels:  yeoman, scaffold
Generate
A new command line tool and developer framework for scaffolding out GitHub projects. Generate offers the robustness and configurability of Yeoman, the expressiveness and simplicity of Slush, and more powerful flow control and composability than either.
Stars: ✭ 238 (+1883.33%)
Mutual labels:  yeoman, scaffold
Generator
Rails-inspired generator system that provides scaffolding for your apps
Stars: ✭ 1,000 (+8233.33%)
Mutual labels:  yeoman, scaffold
Generator Sails Rest Api
Yeoman generator for scaffolding Sails REST API with predefined features
Stars: ✭ 336 (+2700%)
Mutual labels:  yeoman, scaffold
Generator Standard Readme
Scaffold out a Standard Readme
Stars: ✭ 150 (+1150%)
Mutual labels:  yeoman, scaffold
React Native Create Library
📓 Command line tool to create a React Native library with a single command
Stars: ✭ 1,362 (+11250%)
Mutual labels:  native, scaffold
generator-deepexi-spring-cloud
deepexi java scaffold(spring cloud) generator
Stars: ✭ 30 (+150%)
Mutual labels:  yeoman, scaffold
ti.paint
Touch-based painting with the Titanium SDK.
Stars: ✭ 27 (+125%)
Mutual labels:  native
jekyll-loading-lazy
🧙🏽‍♀️ Automatically adds loading="lazy" to <img> and <iframe> tags. Load images on your sites lazily without JavaScript.
Stars: ✭ 41 (+241.67%)
Mutual labels:  native
ti.playservices
Titanium module for Google Play Services
Stars: ✭ 19 (+58.33%)
Mutual labels:  native
mem64
Run Any Native PE file as a memory ONLY Payload , most likely as a shellcode using hta attack vector which interacts with Powershell.
Stars: ✭ 26 (+116.67%)
Mutual labels:  native
libandroidjni
Android JNI bindings library
Stars: ✭ 66 (+450%)
Mutual labels:  native
imgui-java
JNI based binding for Dear ImGui
Stars: ✭ 270 (+2150%)
Mutual labels:  native
react-native-jsi-image
🖼️ A writeable in-memory Image JSI Host Object
Stars: ✭ 245 (+1941.67%)
Mutual labels:  native
react-scaffolder
⚡ Scaffolding tool for React
Stars: ✭ 43 (+258.33%)
Mutual labels:  scaffold
generator-react-jest-tests
A React Jest test generator. Generates snapshot tests for React components.
Stars: ✭ 34 (+183.33%)
Mutual labels:  yeoman
generator-node-bahmutov
My personal Node project boilerplate generator
Stars: ✭ 39 (+225%)
Mutual labels:  yeoman
OMAHA JS

A Yeoman generator for the modern front-end artisan designed to help you craft sustainable code for the web.

Quick Start

Install Yeoman CLI tool, Grunt CLI tool, and generator-omaha node module globally

npm install --global yo grunt-cli generator-omaha

Create an empty directory and cd into it

mkdir my-project && cd my-project

Run omaha generator

yo omaha

Make some choices

Generator Choices Rail Diagram

Start creating your app!

omaha generator quick start asciicast

Patterns are Paramount

generator-omahastrives to enable developers of various skill and experience to more easily implement patterns and architectures with minimal time and effort. Specifically, generator-omaha enables the following patterns and capabilities:

The default sub-generator may be for a web app, but generator-omaha also has sub-generators for crafting:

  • servers built on express with security baked in (using lusca and helmet)
  • plugins to support a modular architecture
  • projects with pre-configured modern workflows
  • native desktop applications built on Electron --> quickly turn your web app into a desktop app!

Typical Workflows

After scaffolding a new project with yo omaha ...

  • Serve live-reload enabled app with companion RESTful API using npm start, then...
    • lint your code in real-time with a second terminal running npm run lint:watch
    • 💯 run tests and calculate code coverage in real-time with npm run test:watch
    • 💄 see your style updates and code changes in the browser with a second terminal running grunt styling
  • Run tests with npm test
  • One-time lint with npm run lint
  • Run tests and lint code as a watch task in one terminal with: npm run dev (linux only)
  • Demo your bundled project in a browser with npm run demo
  • View reports, documentation and styleguide:
    • code coverage: grunt cover open:coverage
    • JSDocs documentation: grunt docs open:docs
    • Living styleguide: grunt docs open:styleguide
  • Review the code to see all the available tasks

View the lint rules that make your code more secure

Command Line Options

Beyond yo omaha --help

  • Scaffold a web app after making some choices via prompts (options are not honored without the use of --defaults)
yo omaha
  • Scaffold a web app "auto-magically" with defaults and no user input
yo omaha --defaults
  • Use "silent" webapp defaults, skip support for everything, and select custom source directory
yo omaha --defaults --slim --src src
  • Use "silent" web app defaults with Webpack
yo omaha --defaults --use-webpack
yo omaha --defaults --use-browserify --use-jest
  • Use "silent" web app defaults with custom modifications
yo omaha --defaults --template-technology lodash --skip-coveralls

Available options

Default in bold

  • --defaults: scaffold app with no user input using defaults
  • --slim: use with --defaults to perform "slim" install (all options skipped)
  • --src: use with --defaults to select custom source directory for app and assets files
  • --amd: use AMD module format (with r.js as script bundler)
  • --use-browserify: use Browserify as script bundler (auto selects CommonJS module format)
  • --use-jest: use Facebook's Jest instead of mocha (auto selects CommonJS module format)
  • --use-webpack: use Webpack as script bundler (auto selects CommonJS module format and Jest test framework)
  • --use-rust: Add folder structure, sample file, and build scripts for WebAssembly development using Rust (rustc and wasm-gc required)
  • --skip-imagemin: use with --defaults
  • --css-preprocessor: less | sass | none
  • --template-technology: handlebars | lodash

But wait, there's more! Read about all the available generators!

Alternatives

Credits

A Note on Semantic Versioning

This project strives to follow the principles of semantic versioning (semver). However, it seems unreasonable to release major versions for changes to the generated output of generator-omaha that are not backwards compatible with the generated output of previous versions. In general, this project will release major versions when the generator API is not backwards compatible or when the generated outputs undergo substantial changes. In the case of the latter, a major version increment would serve more as a signifier of significant change (not necessarily changes that are not backwards compatible). I am perhaps making this more complicated than necessary; however, I want to avoid superficial "churn" while still maintaining a standardized process for development and enhancement.

License

FOSSA Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].