Git Product home page Git Product logo

hospitalrun-core's Issues

Migrate type generation to json-schema

๐Ÿš€ Feature Proposal

HospitalRun core types should be generated from a json schema. This issue is to migrate all known types to json-schema using @hospitalrun/frontend as reference.

Add TAP test runner

๐Ÿš€ Feature Proposal

We need to test all TS interfaces. Add TAP, that is already used by the server package, to this repository. Reference: https://node-tap.org/

  • add TAP as devDependency
  • add all needed scripts to package.json
  • add working pre-commit hook
  • make a trivial test as example

OpenAPI/Swagger

๐Ÿš€ Feature Proposal

OpenAPI/Swagger

Motivation

Work hard at being lazy ~ Mike Feher

Single Source of truth. SOLID interface between all projects

Backlog:

  • Generate Core Models (finalize OpenAPI->TS Model Interface)
  • Generate Core Services (Configure Services CodeGen Template)

Related Issues:

HospitalRun/hospitalrun#12
HospitalRun/hospitalrun#15

Remove gitmoji to improve CI pipeline

๐Ÿ’ฅ Regression Report

Restore the semantic-release without the assistance of Gitmoji.
Repository to use as a reference: https://github.com/tehKapa/testone

New devDependencies will be:

  • @commitlint/cli
  • @commitlint/config-conventional
  • @commitlint/prompt
  • @semantic-release/changelog
  • @semantic-release/commit-analyzer
  • @semantic-release/git
  • @semantic-release/github
  • @semantic-release/release-notes-generator
  • commitizen
  • commitlint-config-cz
  • cz-conventional-changelog
  • husky
  • semantic-release

Other configurations in package.json file

 "husky": {
    "hooks": {
      "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
    }
  },
  "config": {
    "commitizen": {
      "path": "./node_modules/cz-conventional-changelog"
    }
  }

Only necessary script in package.json

"semantic-release": "semantic-release"

Other configuration files:

commitlint.config.js

module.exports = { extends: ["@commitlint/config-conventional"] };

.releaserc

{
  "plugins": [
    "@semantic-release/commit-analyzer",
    "@semantic-release/release-notes-generator",
    "@semantic-release/changelog",
    "@semantic-release/npm",
    ["@semantic-release/git", {
      "assets": ["package.json", "CHANGELOG.md"],
      "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
    }],
    "@semantic-release/github"
  ]
}

Add prettier and eslint

๐Ÿš€ Feature Proposal

Add prettier and eslint to core repo. We need to have same rules across all projects.

Add TypeScript interfaces

๐Ÿš€ Feature Proposal

We need TS interfaces, alongside JSONSchemas, for better developer experience. The interfaces will be derived directly from Schemas.

Motivation

Please outline the motivation for the proposal.

TODO:

  • rename model to models
  • add one folder per model
  • add a proper TS interface for every model
  • export default the interface
  • export JSONSchema as schema

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.