Coder Social home page Coder Social logo

oplog / ad-cli Goto Github PK

View Code? Open in Web Editor NEW
8.0 8.0 2.0 424 KB

Cli tool & frontend app structure using atomic design, typescript, redux and more

License: MIT License

JavaScript 55.57% TypeScript 42.25% HTML 1.71% CSS 0.47%
atomic-design frontend react redux redux-saga typescript

ad-cli's People

Contributors

aacanakin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

aacanakin fk1blow

ad-cli's Issues

Enzyme integration

ad new <appName> should generate setupTests.ts in the __tests__ folder.

  • App.test.tsx should be in __tests__ folder
  • Align tsconfig.json with package.json -> jest.moduleNameMapper
  • Add enzyme related packages to package.json
  • All generate functions should create a test case with;
expect(wrapper).toHaveLength(1);

and a failing test

All generate commands should generate tests as well

Should generate a shallowed component which have a passing test case such as;

wrapper = shallow(<Component />)
expect(wrapper.toHaveLength(1));

Should generate a failing test case that is to be fixed. i.e;

expect(true).toBeFalsy();

Config merging system implementation

ad-cli.config.json -> ad-cli.config.default.json should be dumped to app template

  • cwd/ad-cli.config.json should

  • Configurables are the following;

- component paths (atom, molecule, organism, template, page)
- test paths (base test path, i.e `cwd/__tests__`)
- tbd more
  • Default config should be readonly (which resides under node_modules)
  • All config variables should be overridable

Generate store implementation

Should generate;

  • Constants
    • SET & REMOVE actions
  • Actions
    • Action generators based on constants
  • Reducer
    • Action handling based on actions
  • Saga (should be an option --with-saga (default: true))
  • Selectors (empty)

App template should be changed as well
Remove/Do not include resource store
Should not modify store state & root reducer initially but print info to add root reducer and store state

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.