35.0.0 • Published 1 year ago

@automationcloud/fuzzy-search v35.0.0

Weekly downloads
247
License
ISC
Repository
github
Last release
1 year ago

Welcome to Autopilot!

This repository hosts a codebase for several tightly coupled projects:

  • Autopilot — a GUI application for authoring automation Scripts
  • Worker — a bot that runs in cloud and executes Jobs
  • Engine — a shared library between Autopilot and Worker
  • and some other related modules

Overview

Workers perform web automation jobs by means of running a Chromium process, connecting to it via Chrome DevTools Protocol, and performing a series of scripted actions on some websites.

Technically this is facilitated by following layers:

  • Chrome DevTools Protocol driver responsible for running and controlling Chrome.
  • Scripting Engine facilitating Ubio Automation Scripts model.
  • Worker a process which coordinates execution of the Ubio Automation Jobs by means of communicating with APIs and delegating the work to Scripting Engine.
  • Autopilot — an Electron-based GUI application for editing and debuggin scripts, which uses Scripting Engine to do the actual work (executing actions, evaluating pipelines, etc).

Development

This repository is a monorepo managed by Lerna.

Initial setup

Make sure you have Lerna installed globally:

npm i -g lerna

After checking out the project, run:

npm run bootstrap
npm run compile

This will install dependencies in sub-packages and link local dependencies together. The second command will perform initial compilation of sub-packages.

Compiling TypeScript

In development you'd probably be insterested in running TypeScript incremental compiler in background. To do this run the following command in your separate terminal tab:

npm run dev

Initial compilation can take considerable time, but all subsequent compilations will be faster.

Note: sometimes removing or renaming source files causes issues with TypeScript compiler (e.g. module not found or, conversely, module is found but doesn't actually exist). If you run into such problems, stop the compiler, remove .tmp directory where compilation articats are stored, run npm run clean and try again.

Running Autopilot

After initial compilation run:

npm run ap

This will start Autopilot and also run WebPack in watch mode.

Releasing

Releasing in the context of Autopilot means:

  • bumping a version (major, minor, patch, prerelease, etc)
  • performing a clean build (compiling TypeScript w/o cache, preparing other assets)
  • publishing all packages to npm
  • pushing the tag to npm
  • have CI building worker image and deploying it to staging

Run npm run release in project root to do all that. Outcome to assert:

  • all packages are published to npm
  • GitHub tag created and pushed
  • GitHub builds and pushes worker image

Releasing Autopilot

Prerequisites:

  • you need an Apple Developer account, contact someone from your team to get it
  • go to https://developer.apple.com/account/resources/certificates/list and download a Developer ID Application certificate; once you download the certificate open it to add it to your key chain
  • go to https://appleid.apple.com/account/manage and create an app-specific password
  • create a packages/autopilot/.env and fill in necessary data (use .env.example as a guide)
    • for APPLE_ID use your UBIO membership email
    • for APPLE_ID_PASSWORD use app-specific password

With everything set up run npm run ap:release in project root.

Note: you should only do that after bumping to new version, see npm run release above).

  • This will generate packages for Mac, Windows, Linux
  • For Mac the package will be signed and notarized (note: this step takes considerable time!)
  • Finally, the generated artefacts will be uploaded to GitHub releases.

Once the files are uploaded to GitHub releases:

Building worker Docker image locally

Docker requires NPM_TOKEN environment variable in order to build with private dependencies.

Contribution Guidelines

Commits

This repository uses Conventional Commits. When making pull requests you should either:

  • rebase your commits to squash or remove unwanted commits, and rephrase the commits to conform to Conventional Commits guidelines
  • OR squash the PR, providing conventional commit message for the generated commit

The commonly used commit types are:

  • chore: corresponds to all kinds of code quality or preparational work (yes, we do expect a lot of chores as part of feature delivery). Examples:
    • extract common functionality into private method
    • rename private method or local variable
    • rename/move file without changing package-level exports
    • add/remove/change tests
    • amend code style
    • fix typos in comments or docs
    • configure build tools
    • configure build infrastructure (e.g. CI workflows)
  • feat: corresponds to any kind of feature, either code-level, API-level, user-facing, etc. Examples:
    • new public class
    • new public method
    • new method parameter
    • new button in UI
  • fix: designates correcting components that were previously not functioning as intended.

The BREAKING CHANGE: footer must be added if functionality which is not directly backwards compatible. Typical examples include renaming public classes/field/methods (from components that are not considered internal-only) or changing the semantics of their behaviour.

Changelog

Changelog lists high level changes that may affect users. It is perfectly valid to make a release without adding to changelogs, but if end users need to be aware of some changes, you should concisely announce them.

To contribute to changelog:

  • after the branch is merged to master, prior to releasing, add your entries to the top of the CHANGELOG.md
  • the npm run release script will automatically add the version number you're releasing if there are unversioned entries at the top

Troubleshooting

  • Running tests and/or Autopilot fails with Cannot find module out/grammars/...

    If you've cleaned compiled artefacts, run npm run compile prior to npm run dev. Aside from compiling TypeScript, this will also include other compilation steps in submodules.

34.38.1

1 year ago

34.38.0

1 year ago

34.38.3

1 year ago

34.38.2

1 year ago

34.38.5

1 year ago

34.38.4

1 year ago

34.38.7

1 year ago

34.38.6

1 year ago

35.0.0

1 year ago

34.36.0

2 years ago

34.37.2

2 years ago

34.37.1

2 years ago

34.37.0

2 years ago

34.34.11

2 years ago

34.34.10

2 years ago

34.33.15

2 years ago

34.34.0

2 years ago

34.34.1

2 years ago

34.34.8

2 years ago

34.34.9

2 years ago

34.35.0

2 years ago

34.35.2

2 years ago

34.35.1

2 years ago

34.33.12

2 years ago

34.33.13

2 years ago

34.33.11

2 years ago

34.33.14

2 years ago

34.33.0-4

2 years ago

34.33.0-5

2 years ago

34.33.0-2

2 years ago

34.33.0-3

2 years ago

34.33.0-0

2 years ago

34.33.0-1

2 years ago

34.33.0-6

2 years ago

34.30.0

2 years ago

34.31.0

2 years ago

34.28.0-mulo.3

2 years ago

34.28.0-mulo.2

2 years ago

34.28.0-mulo.1

2 years ago

34.27.2

2 years ago

34.27.1

2 years ago

34.32.0

2 years ago

34.32.6

2 years ago

34.32.4

2 years ago

34.32.5

2 years ago

34.32.3

2 years ago

34.28.0

2 years ago

34.33.7

2 years ago

34.33.8

2 years ago

34.33.5

2 years ago

34.33.6

2 years ago

34.33.3

2 years ago

34.33.4

2 years ago

34.33.1

2 years ago

34.33.2

2 years ago

34.33.10

2 years ago

34.33.9

2 years ago

34.29.0

2 years ago

34.29.0-mulo.2

2 years ago

34.29.0-mulo.3

2 years ago

34.29.0-mulo.0

2 years ago

34.29.0-mulo.1

2 years ago

34.29.0-mulo.4

2 years ago

34.25.4

2 years ago

34.25.5

2 years ago

34.25.3

2 years ago

34.25.6

2 years ago

34.26.0-rc1

2 years ago

34.26.0-rc2

2 years ago

34.26.0

2 years ago

34.26.0-rc3

2 years ago

34.26.0-rc4

2 years ago

34.26.0-rc5

2 years ago

34.27.0

2 years ago

34.24.0

2 years ago

34.21.0

2 years ago

34.21.1

2 years ago

34.25.1

2 years ago

34.21.2

2 years ago

34.21.3

2 years ago

34.22.0

2 years ago

0.1.0

2 years ago

34.22.3

2 years ago

34.22.1

2 years ago

34.22.2

2 years ago

34.23.0

2 years ago

34.20.5

2 years ago

34.20.6

2 years ago

34.20.4

3 years ago

34.20.1

3 years ago

34.20.2

3 years ago

34.20.0

3 years ago

34.20.3

3 years ago

34.20.0-alpha.1

3 years ago

34.19.1

3 years ago

34.19.0

3 years ago

34.18.2

3 years ago

34.18.0

3 years ago

34.18.1

3 years ago

34.17.5

3 years ago

34.17.4

3 years ago

34.17.3-ci.2

3 years ago

34.17.3

3 years ago

34.17.2

3 years ago

34.17.1

3 years ago

34.17.0

3 years ago

34.16.4

3 years ago

34.16.5

3 years ago

34.13.1

3 years ago

34.13.2

3 years ago

34.13.0

3 years ago

34.14.4

3 years ago

34.14.5

3 years ago

34.14.2

3 years ago

34.14.3

3 years ago

34.14.0

3 years ago

34.14.1

3 years ago

34.14.8

3 years ago

34.14.6

3 years ago

34.14.7

3 years ago

34.11.0

3 years ago

34.15.1

3 years ago

34.15.0

3 years ago

34.16.2

3 years ago

34.16.3

3 years ago

34.16.0

3 years ago

34.16.1

3 years ago

34.12.0

3 years ago

34.10.2

3 years ago

34.10.1

3 years ago

34.10.0

3 years ago

34.9.0

3 years ago

34.9.1

3 years ago

34.9.0-iso.2

3 years ago

34.9.0-iso.1

3 years ago

34.8.1-iso.0

3 years ago

34.8.0

3 years ago

34.7.0

3 years ago

34.7.1

3 years ago

34.6.2

3 years ago

34.6.1

3 years ago

34.6.0

3 years ago

34.5.0

3 years ago

34.4.5

3 years ago

34.4.4

3 years ago

34.4.3

3 years ago

34.4.2

3 years ago

34.4.1

3 years ago

34.4.0

3 years ago

34.3.0

3 years ago

34.2.11

3 years ago

34.2.3

3 years ago

34.2.2

3 years ago

34.2.0

3 years ago

34.2.1

3 years ago

34.1.0

3 years ago

34.1.1

3 years ago

34.1.2

3 years ago

34.0.7

3 years ago

34.0.6

3 years ago

34.0.5

3 years ago

34.0.4

3 years ago

34.0.3

3 years ago

34.0.2

3 years ago

34.0.1

3 years ago

34.0.0

3 years ago

33.10.12

3 years ago

33.10.13

3 years ago

33.10.10

3 years ago

33.10.11

3 years ago

33.10.9

3 years ago

33.10.8

3 years ago

33.10.7

3 years ago

33.10.6

3 years ago

33.10.5

3 years ago

33.10.4

3 years ago

33.10.3

3 years ago

33.10.2

3 years ago

33.10.1

3 years ago

33.10.0

3 years ago

33.9.0

3 years ago

33.8.2

3 years ago

33.8.1

3 years ago

33.7.0

3 years ago

33.8.0

3 years ago

33.6.0

3 years ago

33.5.0

3 years ago

33.4.0

3 years ago

33.3.0

3 years ago

33.2.0

3 years ago

33.1.1

3 years ago

33.1.0

3 years ago

33.0.2

3 years ago

33.0.0

3 years ago

33.0.1

3 years ago

33.0.0-alpha.3

3 years ago

33.0.0-alpha.2

3 years ago

33.0.0-alpha.1

3 years ago

33.0.0-alpha.0

3 years ago

32.22.0

3 years ago

32.21.0

4 years ago

32.20.1

4 years ago

32.20.2

4 years ago

32.20.0

4 years ago

32.19.0

4 years ago

32.18.1

4 years ago

32.18.0

4 years ago

32.17.0

4 years ago

32.16.0

4 years ago

32.15.2

4 years ago

32.15.0

4 years ago

32.15.1

4 years ago

32.14.3

4 years ago

32.14.2

4 years ago

32.14.1

4 years ago

32.14.0

4 years ago

32.13.0

4 years ago

32.12.0

4 years ago

32.10.0

4 years ago

32.11.0

4 years ago

32.10.1

4 years ago

32.9.0

4 years ago

32.8.1

4 years ago

32.8.0

4 years ago

32.7.1

4 years ago

32.7.0

4 years ago

32.6.0

4 years ago

32.5.1

4 years ago

32.5.0

4 years ago

32.4.0

4 years ago

32.3.0

4 years ago

32.2.6

4 years ago

32.2.5

4 years ago

32.2.4

4 years ago

32.2.3

4 years ago

32.2.2

4 years ago

32.2.1

4 years ago

32.2.0

4 years ago

32.1.3

4 years ago

32.1.2

4 years ago

32.1.0

4 years ago

32.1.1

4 years ago

32.0.3

4 years ago

32.0.1

4 years ago

32.0.2

4 years ago

32.0.0

4 years ago