Git Product home page Git Product logo

wintercounter / mhy Goto Github PK

View Code? Open in Web Editor NEW
135.0 8.0 32.0 5.57 MB

🧩 A zero-config, out-of-the-box, multi-purpose toolbox and development environment

Home Page: https://mhy.js.org

License: MIT License

JavaScript 83.18% HTML 1.94% Dockerfile 0.40% Shell 0.63% TypeScript 12.70% SCSS 1.15%
babel webpack development-environment build zero-configuration out-of-the-box react redux jest storybook

mhy's Issues

Rewrite name and bin key

Where is name and bin key?
What do you mean by rewrite?
What do you mean by link?

Are you using cmd on Windows? PowerShell? Other?

Capture531

How you're using mhy?

I'm curioius for what purpuse your using mhy, how you use it and what is your overall experience with it?

Depth flag for config output

When running /mhy config typescript, I get the following output:

{ compilerOptions:
   { module: 'esNext',
     target: 'esnext',
     moduleResolution: 'node',
     allowJs: false,
     emitDeclarationOnly: true,
     strict: true,
     jsx: 'preserve',
     resolveJsonModule: true,
     esModuleInterop: true,
     noImplicitAny: false,
     declaration: true,
     baseUrl: '/path/redacted',
     skipLibCheck: true,
     incremental: true,
     outDir: 'src',
     paths:
      { '*': [Array],
        '@': [Array],
        '@/*': [Array],
        '@/mhy': [Array],
        '@/mhy/*': [Array] },
     typeRoots:
      [ '/path/redacted/node_modules/mhy/node_modules/@types',
        '/path/redacted/node_modules/@types' ] },
  include:
   [ '/path/redacted/src/**/*' ],
  files:
   [ '/path/redacted/node_modules/mhy/dist/configs/typescript/mhy.d.ts' ] }

Notice how the paths contain [Array] only.

Not sure if this is by design, but IMHO there could be a depth flag similar to node's util.inspect(). For example --depth 0 or just no depth flag should print the full object (this would change the default behaviour of the command though).

WDYT?

How can we improve mhy?

I'm thinking about using mhy for myself, but i don't like few things:

  • the list of dependencies is huge, and beside babel, ts, webpack and react i don't need others (so i would love to have something like search with autocomplete here) or some presets with checkboxes, i see what https://www.npmjs.com/package/inquirer has good menu constructors with autocomplete.

  • i don't think what it's a good idea to update packages.json all the time when the new version of some package is updated, i guess it should just fetch the latest versions with npm install if we not specifying the special one

  • when the port is busy i recommend to search for free one with something like this https://www.npmjs.com/package/get-port

@wintercounter what do you think about this?

Continuous TODO list

Done (keeping them just because it looks cool)

  • Refact the code to make it easier for other maintainers start on it easily
  • Typescript support -> config
  • Create documentation
  • Official website
  • Add command registering interface instead of implementing all commands in mhy
  • Add CI for dist (along with sub-packages) + Docker image
  • Update dependencies (being done continously)
  • Remove postcss-cssnext in the favor of postcss-preset-env
  • Rename @mhy/mhy to mhy
  • Prettier refakt: detach from Babel, use Process
  • Add Prettier to all available extensions it is supporting
  • Add *Storm configuration docs
  • Add VSCode configuration docs
  • Make folders configurable (like src)
  • Add mhy config, single source for stuffs like extensions, directories, etc.
  • Implement a solution for correct array manipulation from package.json
  • Add webpack-bundle-analyzer process
  • Add tslint process
  • Deprecate other mhy repositories and packages
  • Appriciation option for contributors and dependency developers
  • Add standalone storybook support
  • Pass flags to WDS
  • Make console functions allowed by eslint using development NODE_ENV
  • Measure babel-loader cache options if compilation can be speed up
  • Add jimp process (cancelled)

Next

  • Create more examples
  • More CLI ouput tests
  • Create repository with test projects
  • Add missing community profile pages
  • Use svgr-loader instead of react-svg-loader (also investigate the removal of svgx extension)
  • Add GraphQL toys (with GraphQL Codegen)
  • Add backend toys for servers, API testing tools, OpenAPI mock server, etc.
  • Add VueJS support
  • Add Angluar support
  • Introduce multiple sub folders instead of a single src (like ui, server, etc.)
  • Rewrite whole codebase in TS
  • Add svgo process
  • Implement support for presets
  • Add support for react-docgen-typescript-loader
  • Add more verbose loggin
  • Add more debug info
  • Create unit tests
  • Add out-of-the-box support for translations using Babel macros
  • Add parcel support
  • Add rollup support
  • Add babel-plugin-redux-saga (only macro maybe?)
  • Add support for locked mhy versions
  • Optimize UI: speed
  • Refact UI: Draggable, resizable, full mouse support
  • Add https://github.com/pikapkg/web support
  • Add https://github.com/okonet/lint-staged support
  • Node 12 support for Docker image
  • Setup a monorepo approach, use @mhy namespace again and refact codebase into smaller packages again.
  • Add support for monorepo tools (eg. Lerna)
  • Add support for dependecy presets (npm i mhy will still have everything together but there can be a choice to use @mhy/core only and install @mhy/preset-react separately for example.
  • Auto update mhyDependencies?
  • Run tests on deployments
  • Add storybook-addon-react-live-edit
  • Add support for command auto-complete (#20)
  • Add new process for https://github.com/kefranabg/readme-md-generator
  • Add new process for as-script
  • Add new process for TypeDoc
  • Add new process for serve
  • Add process for https://github.com/urish/typewiz

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.