2.40.0 â€ĸ Published 10 months ago

aiware-js v2.40.0

Weekly downloads
9,572
License
-
Repository
-
Last release
10 months ago

aiWARE Apps

Lines of Code Maintainability Rating Reliability Rating Security Rating Quality Gate Status Technical Debt Vulnerabilities Coverage Code Smells Duplicated Lines (%) Bugs

This project contains internal aiWARE OS components, javascript SDK and full stack applications. It is using Nx to manage the monorepo.

What is NX?

🔎 Nx is a set of Extensible Dev Tools for Monorepos.

If you are new to Nx, please go to nx.dev, and watch 10 min overview and complete the tutorial.

If you want to learn more,

Running the project

  1. Clone the project, and run yarn at the project root directory.
  2. You may run yarn nx serve [project-name] to start the front end project, and nx storybook [project-name] to start the storybook development server for isolated component/feature development. Note: project names are usually the path from /apps, and /libs directories. For example for the project that resides on os/sample-app-bar, the directory project name is os-sample-app-bar.

❗❗❗ New Library and Applications ❗❗❗

All new library and application requests, and their namespaces should be reviewed first. This is required as we need to set up external tooling like cypress dashboard and percy manually.

Add your suggested project name to the .github/semantic file and create a PR. We will discuss the structure, what tools are needed etc, and create external projects/keys and add them to the PR.

⚠ī¸ Note; This change should be against the master, and the PR should only include the addition of the project names to this file. You may still create another branch, add application/libraries you requested. However some refactoring may needed after (could easily be done with the nx mv command)

Generate an application

You probably don't need to generate an application, but if you are creating a brand-new application that will be deployed to Its own subdomain, then you'd need to generate an application.

Run nx g @nrwl/react:app my-app to generate an application.

When using Nx, you can create multiple applications and libraries in the same workspace.

Generate a feature library

Feature libraries host all the code that is related to that feature. Applications/SDKs should import this features, and use them directly. For example, we could have a checkout page feature, and application could have a route, and render this feature. Libraries are sharable across libraries and applications. They can be imported from @aiware/mylib.

Should I Make a New Library?

If yes, run nx g @nrwl/react:lib feature-my-feature to generate your feature. Please keep feature prefix. Some other prefixes; ui, data-access, util, page etc.

⚠ī¸ Note; if some other library is going to depend on this library, you'd need to pass --buildable flag. We also need to update tsconfig.base.json / tsconfig.lib.json files for the dependencies.

If you are creating aiWare operating system feature, it would look like this; nx g lib sample-app-bar --directory=os

To create a component; nx g c AppBar --project=os-sample-app-bar

To create redux slice; nx g slice sample-app-bar-slice --project=os-sample-app-bar

This feature should also have sub features, react components, redux modules etc. Go here, and see the protal section for the visualization

Code scaffolding

Run nx g @nrwl/react:component my-component --project=my-app to generate a new component.

Shorter version; nx g c AppBar --project=os-sample-app-bar.

For redux;

nx g slice sample-app-bar-slice --project=os-sample-app-bar

Please note that when you create nested project like os/sample-app-bar, project name becomes os-app-bar

⚠ī¸ Note: use --dryRun to see what is going to be created.

If you already created bunch off stuff that you want to clean;

Use remove or reset the branch;

git reset --hard HEAD
git clean -f -d

Generate utility library

Run nx g @nrwl/workspace:library to generate a library.

Libraries are sharable across libraries and applications. They can be imported from @aiware/mylib.

Use generic scope (like utils/ui) to keep the primary namespace clean. See here how

Please create libraries to define typescript interfaces between apis / libraries / applications.

Request package

Procedure to add allowed scope that is required by commit analyzer (which will help us determine versions and generate changelogs). Scope name is you application or library name, and must be kebab-case. Libraries also must have proper prefix. See contributing.md for more details.

Add new scope name to .github/semantic.yml, and create a separate PR with only this name change. This PR has to be approved and merged first before you can push your changes to master branch.

Add storybook

Storybook helps with easier development.

Run nx g @nrwl/react:storybook-configuration [package-name]

Go to package's .eslintrc.json and add ".storybook/\*" to ignore patterns. Remove this when #3867 is fixed. Please note that this is required for lints to pass (so commit/merge)

Structuring Projects

We will be following portal like organization (see the link below). All features must be nested under the primary feature.

For example;

os/ data-center/ ui/ interfaces/ data-layer/ feature-center/ feature-importer/ feature-exporter/

See more here; https://nx.dev/latest/angular/guides/monorepo-nx-enterprise#code-organization-amp-naming-conventions

Move Library

Run nx g mv command to move libraries/resturcture them.

Development server

Run nx serve my-app for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Build

Run nx build my-app to build the project. The build artifacts will be stored in the dist/ directory.

Use the --prod flag for a production build.

Running unit tests

Run nx test my-app-e2e to execute the unit tests via Jest.

Run nx affected:test to execute the unit tests affected by a change.

Running end-to-end tests

Run ng e2e my-app to execute the end-to-end tests via Cypress.

Run nx affected:e2e to execute the end-to-end tests affected by a change.

Understand the workspace

Run nx dep-graph to see a diagram of the dependencies of your projects.

☁ Nx Cloud

Computation Memoization in the Cloud

Nx Cloud pairs with Nx in order to enable you to build and test code more rapidly, by up to 10 times. Even teams that are new to Nx can connect to Nx Cloud and start saving time instantly.

Teams using Nx gain the advantage of building full-stack applications with their preferred framework alongside Nx’s advanced code generation and project dependency graph, plus a unified experience for both frontend and backend developers.

Visit Nx Cloud to learn more.

More resources on Nx

Development

SonarLint

This project is checked by SonarCloud. Use sonar cube and sonar lint plugins if you don't want your code fail on CI. Plugins are available for popular IDEs including VS Code and WebStorm

Commit Message Format

Each commit message consists of a header, a body and a footer. The header has a special format that includes a type, a scope and a subject:

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

The header is mandatory and the scope of the header is also mandatory.

Any line of the commit message cannot be longer 100 characters! This allows the message to be easier to read on GitHub as well as in various git tools.

The footer should contain a closing reference to an issue if any.

Samples: (even more samples)

docs(changelog): update changelog to beta.5
fix(release): need to depend on latest rxjs and zone.js

The version in our package.json gets copied to the one we publish, and users need the latest of these.

Revert

If the commit reverts a previous commit, it should begin with revert:, followed by the header of the reverted commit. In the body it should say: This reverts commit <hash>., where the hash is the SHA of the commit being reverted.

Type bookmark this

Must be one of the following:

  • build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
  • ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
  • docs: Documentation only changes
  • feat: A new feature
  • fix: A bug fix
  • perf: A code change that improves performance
  • refactor: A code change that neither fixes a bug nor adds a feature
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • test: Adding missing tests or correcting existing tests

Scope

The scope should be the name of the package affected (as perceived by the person reading the changelog generated from commit messages.

The following is the list of supported scopes:

  • repo (means repository, affecting all projects))
  • deps
  • aiware
  • js-core
  • js-constants
  • js-interfaces
  • ui
  • shared-theme
  • shared-store
  • os-sample-app-bar
  • os-sample-panels
  • os-flow-center
  • os-flow-widget

Use repo for the changes that are outside of packages.

Subject

The subject contains a succinct description of the change:

  • use the imperative, present tense: "change" not "changed" nor "changes"
  • don't capitalize the first letter
  • no dot (.) at the end

Body

Just as in the subject, use the imperative, present tense: "change" not "changed" nor "changes". The body should include the motivation for the change and contrast this with previous behavior.

Footer

The footer should contain any information about Breaking Changes and is also the place to reference GitHub issues that this commit Closes.

Breaking Changes should start with the word BREAKING CHANGE: with a space or two newlines. The rest of the commit message is then used for this.

TMI

Use IDE plugins to get the format correct, It's hard to remember, and CI will fail if we don't get it right.

Release

aiWARE.js

aiWARE.js releases are automated as of today, and any push to feature/* branches will trigger a release in non production distribution channels.

Any push to master branch will trigger alpha release as we are just starting to build these components. We will change it to latest when we do initial production release. Production releases are need to be triggered manually for now (under github workflows/release). We could also automate it in the feature when we are comfortable with our CI/CD process.

FAQs

Please create a github issue if you have any questions, or something is not working, or not clear here in this file.

2.40.0

10 months ago

1.0.0-master.685

10 months ago

1.0.0-master.687

10 months ago

1.0.0-master.686

10 months ago

1.0.0-master.689

10 months ago

1.0.0-master.688

10 months ago

1.0.0-master.690

10 months ago

1.0.0-master.692

10 months ago

1.0.0-master.691

10 months ago

1.0.0-master.694

10 months ago

1.0.0-master.693

10 months ago

1.0.0-master.696

10 months ago

1.0.0-master.695

10 months ago

1.0.0-master.599

12 months ago

1.0.0-master.598

12 months ago

1.0.0-master.588

12 months ago

1.0.0-master.587

12 months ago

1.0.0-master.589

12 months ago

1.0.0-master.591

12 months ago

1.0.0-master.590

12 months ago

1.0.0-master.593

12 months ago

1.0.0-master.592

12 months ago

1.0.0-master.595

12 months ago

1.0.0-master.594

12 months ago

1.0.0-master.597

12 months ago

1.0.0-master.596

12 months ago

1.0.0-master.577

12 months ago

1.0.0-master.576

12 months ago

1.0.0-master.579

12 months ago

1.0.0-master.578

12 months ago

1.0.0-master.580

12 months ago

1.0.0-master.582

12 months ago

1.0.0-master.581

12 months ago

1.0.0-master.584

12 months ago

1.0.0-master.583

12 months ago

1.0.0-master.586

12 months ago

1.0.0-master.585

12 months ago

1.0.0-master.568

12 months ago

1.0.0-master.567

12 months ago

1.0.0-master.569

12 months ago

1.0.0-master.571

12 months ago

1.0.0-master.570

12 months ago

1.0.0-master.573

12 months ago

1.0.0-master.572

12 months ago

1.0.0-master.575

12 months ago

1.0.0-master.574

12 months ago

2.37.0

11 months ago

2.38.1

11 months ago

2.38.0

11 months ago

2.35.0

12 months ago

1.0.0-master.632

11 months ago

1.0.0-master.631

11 months ago

1.0.0-master.634

11 months ago

1.0.0-master.633

11 months ago

1.0.0-master.636

11 months ago

1.0.0-master.635

11 months ago

1.0.0-master.638

11 months ago

1.0.0-master.637

11 months ago

1.0.0-master.639

11 months ago

1.0.0-master.641

11 months ago

1.0.0-master.640

11 months ago

1.0.0-master.621

11 months ago

1.0.0-master.620

11 months ago

1.0.0-master.623

11 months ago

1.0.0-master.622

11 months ago

1.0.0-master.625

11 months ago

1.0.0-master.624

11 months ago

1.0.0-master.627

11 months ago

1.0.0-master.626

11 months ago

1.0.0-master.629

11 months ago

1.0.0-master.628

11 months ago

1.0.0-master.630

11 months ago

1.0.0-master.654

11 months ago

1.0.0-master.653

11 months ago

1.0.0-master.656

11 months ago

1.0.0-master.655

11 months ago

1.0.0-master.658

11 months ago

1.0.0-master.657

11 months ago

1.0.0-master.659

11 months ago

1.0.0-master.661

11 months ago

1.0.0-master.660

11 months ago

1.0.0-master.663

11 months ago

1.0.0-master.662

11 months ago

1.0.0-master.643

11 months ago

1.0.0-master.642

11 months ago

1.0.0-master.645

11 months ago

1.0.0-master.644

11 months ago

1.0.0-master.647

11 months ago

1.0.0-master.646

11 months ago

1.0.0-master.649

11 months ago

1.0.0-master.648

11 months ago

1.0.0-master.650

11 months ago

1.0.0-master.652

11 months ago

1.0.0-master.651

11 months ago

1.0.0-master.610

11 months ago

1.0.0-master.612

11 months ago

1.0.0-master.611

11 months ago

1.0.0-master.614

11 months ago

1.0.0-master.613

11 months ago

1.0.0-master.616

11 months ago

1.0.0-master.615

11 months ago

1.0.0-master.618

11 months ago

1.0.0-master.617

11 months ago

1.0.0-master.619

11 months ago

1.0.0-master.601

12 months ago

1.0.0-master.600

12 months ago

1.0.0-master.603

11 months ago

1.0.0-master.602

11 months ago

1.0.0-master.605

11 months ago

1.0.0-master.604

11 months ago

1.0.0-master.607

11 months ago

1.0.0-master.606

11 months ago

1.0.0-master.609

11 months ago

1.0.0-master.608

11 months ago

1.0.0-master.676

11 months ago

1.0.0-master.675

11 months ago

1.0.0-master.678

11 months ago

1.0.0-master.677

11 months ago

1.0.0-master.679

11 months ago

1.0.0-master.681

11 months ago

1.0.0-master.680

11 months ago

1.0.0-master.683

11 months ago

1.0.0-master.682

11 months ago

1.0.0-master.684

11 months ago

1.0.0-master.665

11 months ago

1.0.0-master.664

11 months ago

1.0.0-master.667

11 months ago

1.0.0-master.666

11 months ago

1.0.0-master.669

11 months ago

1.0.0-master.668

11 months ago

1.0.0-master.670

11 months ago

1.0.0-master.672

11 months ago

1.0.0-master.671

11 months ago

1.0.0-master.674

11 months ago

1.0.0-master.673

11 months ago

2.36.0

12 months ago

2.36.1

12 months ago

2.39.0

11 months ago

2.34.0

1 year ago

2.34.2

1 year ago

2.34.1

1 year ago

2.33.0

1 year ago

2.32.0

1 year ago

2.30.0

1 year ago

2.31.0

1 year ago

2.25.0

1 year ago

2.25.1

1 year ago

2.21.0

1 year ago

2.22.0

1 year ago

2.23.0

1 year ago

2.28.0

1 year ago

2.29.0

1 year ago

2.26.0

1 year ago

2.27.0

1 year ago

2.10.0

2 years ago

2.1.0

2 years ago

2.5.0

2 years ago

1.43.0

2 years ago

1.0.0-master.115

2 years ago

1.0.0-master.114

2 years ago

1.0.0-master.117

2 years ago

1.0.0-master.116

2 years ago

1.0.0-master.119

2 years ago

1.0.0-master.118

2 years ago

1.0.0-master.120

2 years ago

1.0.0-master.122

2 years ago

1.0.0-master.121

2 years ago

1.0.0-master.124

2 years ago

1.44.0

2 years ago

1.0.0-master.123

2 years ago

1.0.0-master.104

2 years ago

1.0.0-master.103

2 years ago

1.0.0-master.106

2 years ago

1.0.0-master.105

2 years ago

1.0.0-master.108

2 years ago

1.0.0-master.107

2 years ago

1.0.0-master.109

2 years ago

2.19.0

1 year ago

1.0.0-master.111

2 years ago

1.0.0-master.110

2 years ago

1.0.0-master.113

2 years ago

1.0.0-master.112

2 years ago

1.0.0-master.137

2 years ago

1.0.0-master.136

2 years ago

1.0.0-master.139

2 years ago

1.0.0-master.138

2 years ago

1.0.0-master.140

2 years ago

1.0.0-master.142

2 years ago

1.0.0-master.141

2 years ago

1.0.0-master.144

2 years ago

1.0.0-master.143

2 years ago

1.0.0-master.146

2 years ago

1.0.0-master.145

2 years ago

1.0.0-master.126

2 years ago

1.0.0-master.125

2 years ago

1.0.0-master.128

2 years ago

1.0.0-master.127

2 years ago

1.0.0-master.129

2 years ago

1.0.0-master.131

2 years ago

1.0.0-master.130

2 years ago

1.0.0-master.133

2 years ago

1.0.0-master.132

2 years ago

1.0.0-master.135

2 years ago

1.0.0-master.134

2 years ago

1.0.0-master.100

2 years ago

1.0.0-master.102

2 years ago

1.0.0-master.101

2 years ago

2.15.0

2 years ago

1.0.0-master.191

2 years ago

1.0.0-master.190

2 years ago

1.0.0-master.193

2 years ago

1.0.0-master.192

2 years ago

1.0.0-master.195

2 years ago

1.0.0-master.194

2 years ago

1.0.0-master.197

2 years ago

1.0.0-master.196

2 years ago

1.0.0-master.198

2 years ago

1.0.0-master.159

2 years ago

1.0.0-master.158

2 years ago

1.0.0-master.160

2 years ago

1.0.0-master.162

2 years ago

1.0.0-master.161

2 years ago

1.0.0-master.164

2 years ago

1.0.0-master.163

2 years ago

1.0.0-master.166

2 years ago

1.0.0-master.165

2 years ago

1.0.0-master.168

2 years ago

1.0.0-master.167

2 years ago

1.0.0-master.148

2 years ago

1.0.0-master.147

2 years ago

1.0.0-master.149

2 years ago

1.0.0-master.151

2 years ago

1.0.0-master.150

2 years ago

1.0.0-master.153

2 years ago

1.0.0-master.152

2 years ago

1.0.0-master.155

2 years ago

1.0.0-master.154

2 years ago

1.0.0-master.157

2 years ago

1.0.0-master.156

2 years ago

1.0.0-master.180

2 years ago

1.0.0-master.182

2 years ago

1.0.0-master.181

2 years ago

1.0.0-master.184

2 years ago

1.0.0-master.183

2 years ago

1.0.0-master.186

2 years ago

1.0.0-master.185

2 years ago

1.0.0-master.188

2 years ago

1.0.0-master.187

2 years ago

1.0.0-master.189

2 years ago

1.0.0-master.169

2 years ago

1.0.0-master.171

2 years ago

1.0.0-master.170

2 years ago

1.0.0-master.173

2 years ago

1.0.0-master.172

2 years ago

1.0.0-master.175

2 years ago

1.0.0-master.174

2 years ago

1.0.0-master.177

2 years ago

1.0.0-master.176

2 years ago

1.0.0-master.179

2 years ago

1.0.0-master.178

2 years ago

2.11.0

2 years ago

2.4.0

2 years ago

2.20.0

1 year ago

2.8.0

2 years ago

1.45.0

2 years ago

2.9.0

2 years ago

2.16.1

2 years ago

2.16.0

2 years ago

2.0.0

2 years ago

2.12.0

2 years ago

1.0.0-master.36

2 years ago

1.0.0-master.35

2 years ago

1.0.0-master.34

2 years ago

1.0.0-master.33

2 years ago

1.0.0-master.32

2 years ago

1.0.0-master.31

2 years ago

1.0.0-master.30

2 years ago

1.0.0-master.39

2 years ago

1.0.0-master.38

2 years ago

1.0.0-master.37

2 years ago

1.0.0-master.47

2 years ago

1.0.0-master.46

2 years ago

1.0.0-master.45

2 years ago

1.0.0-master.44

2 years ago

1.0.0-master.43

2 years ago

1.0.0-master.42

2 years ago

1.0.0-master.41

2 years ago

1.0.0-master.40

2 years ago

1.0.0-master.49

2 years ago

1.0.0-master.48

2 years ago

2.3.0

2 years ago

1.0.0-master.19

2 years ago

1.0.0-master.18

2 years ago

1.0.0-master.25

2 years ago

1.0.0-master.24

2 years ago

1.0.0-master.23

2 years ago

1.0.0-master.22

2 years ago

1.0.0-master.21

2 years ago

1.0.0-master.20

2 years ago

1.0.0-master.29

2 years ago

1.0.0-master.28

2 years ago

1.0.0-master.27

2 years ago

1.0.0-master.26

2 years ago

1.0.0-master.72

2 years ago

1.0.0-master.71

2 years ago

1.0.0-master.70

2 years ago

1.0.0-master.79

2 years ago

1.0.0-master.78

2 years ago

1.0.0-master.77

2 years ago

1.0.0-master.76

2 years ago

1.0.0-master.75

2 years ago

1.0.0-master.74

2 years ago

1.0.0-master.73

2 years ago

1.0.0-master.83

2 years ago

1.0.0-master.82

2 years ago

1.0.0-master.81

2 years ago

1.0.0-master.80

2 years ago

1.0.0-master.89

2 years ago

1.0.0-master.88

2 years ago

1.0.0-master.87

2 years ago

1.0.0-master.86

2 years ago

1.0.0-master.85

2 years ago

1.0.0-master.84

2 years ago

1.0.0-master.50

2 years ago

1.0.0-master.58

2 years ago

1.0.0-master.57

2 years ago

1.0.0-master.56

2 years ago

1.0.0-master.55

2 years ago

1.0.0-master.54

2 years ago

1.0.0-master.53

2 years ago

1.0.0-master.52

2 years ago

1.0.0-master.51

2 years ago

1.0.0-master.59

2 years ago

1.0.0-master.61

2 years ago

1.0.0-master.60

2 years ago

1.0.0-master.69

2 years ago

1.0.0-master.68

2 years ago

1.0.0-master.67

2 years ago

1.0.0-master.66

2 years ago

1.0.0-master.65

2 years ago

1.0.0-master.64

2 years ago

1.0.0-master.63

2 years ago

1.0.0-master.62

2 years ago

1.0.0-master.94

2 years ago

1.0.0-master.93

2 years ago

1.0.0-master.92

2 years ago

1.0.0-master.91

2 years ago

1.0.0-master.90

2 years ago

1.0.0-master.99

2 years ago

1.0.0-master.98

2 years ago

2.7.0

2 years ago

1.0.0-master.97

2 years ago

1.0.0-master.96

2 years ago

2.7.2

2 years ago

1.0.0-master.95

2 years ago

2.7.1

2 years ago

1.46.0

2 years ago

1.46.1

2 years ago

2.17.0

2 years ago

2.13.0

2 years ago

2.2.0

2 years ago

2.6.0

2 years ago

2.18.0

1 year ago

2.14.0

2 years ago

1.41.1

2 years ago

1.37.0

2 years ago

1.39.0

2 years ago

1.40.0

2 years ago

1.42.0

2 years ago

1.36.0

2 years ago

1.38.0

2 years ago

1.35.0

2 years ago

1.34.0

3 years ago

1.33.0

3 years ago

1.32.0

3 years ago

1.31.0

3 years ago

1.30.0

3 years ago

1.29.0

3 years ago

1.28.1

3 years ago

1.28.0

3 years ago

1.24.0

3 years ago

1.26.0

3 years ago

1.25.0

3 years ago

1.27.0

3 years ago

1.23.0

3 years ago

1.22.0

3 years ago

1.21.0

3 years ago

1.20.0

3 years ago

1.19.0

3 years ago

1.18.0

3 years ago

1.16.0

3 years ago

1.15.0

3 years ago

1.14.1

3 years ago

1.14.0

3 years ago

1.13.0

3 years ago

1.12.1

3 years ago

1.12.0

3 years ago

1.11.1

3 years ago

1.11.0

3 years ago

1.10.0

3 years ago

1.9.0

3 years ago

1.8.0

3 years ago

1.7.1

3 years ago

1.7.0

3 years ago

1.6.0

3 years ago

1.5.0

3 years ago

1.4.2

3 years ago

1.4.1

3 years ago

1.4.0

3 years ago

1.3.0

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

1.0.0-master.17

3 years ago

1.0.0-master.16

3 years ago

1.0.0-master.15

3 years ago

1.0.0-master.14

3 years ago

1.0.0-master.13

3 years ago

1.0.0-master.12

3 years ago

1.0.0-master.11

3 years ago

1.0.0-master.10

3 years ago

1.0.0-master.9

3 years ago

1.0.0-master.8

3 years ago

1.0.0-master.7

3 years ago

1.0.0-master.6

3 years ago

1.0.0-master.5

3 years ago

1.0.0-master.4

3 years ago

1.0.0-master.3

3 years ago

1.0.0-master.2

3 years ago

1.0.0-master.1

4 years ago

0.0.1

4 years ago

1.0.0-cd-74078.1

4 years ago