Skip to content

Commit

Permalink
Merge branch 'master' into feat/sort-imports
Browse files Browse the repository at this point in the history
  • Loading branch information
ozyx authored Aug 31, 2023
2 parents f94d320 + e09a7ae commit 2b3a6e5
Show file tree
Hide file tree
Showing 64 changed files with 726 additions and 270 deletions.
1 change: 0 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@ jobs:
- build_and_install:
node-version: <<parameters.node-version>>
- run: npm run lint
- run: npm run lint:spelling
- generate_and_store_version_and_filesystem_artifacts
unit-test:
parameters:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/pr-platform.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ jobs:
- lts/hydrogen
architecture:
- x64

name: Node ${{ matrix.node_version }} - ${{ matrix.architecture }} on ${{ matrix.os }}
steps:
- uses: actions/checkout@v3

- name: Setup node
uses: actions/setup-node@v3
with:
Expand All @@ -46,11 +46,11 @@ jobs:
${{ runner.os }}-${{ matrix.node_version }}-
- run: npm install --cache ~/.npm --no-audit --progress=false

- run: npm test

- run: npm run lint -- --quiet

- name: Remove pr:platform label (if present)
if: always()
uses: actions/github-script@v6
Expand Down
5 changes: 4 additions & 1 deletion .npmrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
loglevel=warn

#Prevent folks from ignoring an important error when building from source
engine-strict=true
engine-strict=true

# Dont include lockfile
package-lock=false
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
lts/*
41 changes: 31 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

Open MCT (Open Mission Control Technologies) is a next-generation mission control framework for visualization of data on desktop and mobile devices. It is developed at NASA's Ames Research Center, and is being used by NASA for data analysis of spacecraft missions, as well as planning and operation of experimental rover systems. As a generalizable and open source framework, Open MCT could be used as the basis for building applications for planning, operation, and analysis of any systems producing telemetry data.

Please visit our [Official Site](https://nasa.github.io/openmct/) and [Getting Started Guide](https://nasa.github.io/openmct/getting-started/)
> [!NOTE]
> Please visit our [Official Site](https://nasa.github.io/openmct/) and [Getting Started Guide](https://nasa.github.io/openmct/getting-started/)

Once you've created something amazing with Open MCT, showcase your work in our GitHub Discussions [Show and Tell](https://github.com/nasa/openmct/discussions/categories/show-and-tell) section. We love seeing unique and wonderful implementations of Open MCT!

Expand All @@ -14,19 +16,32 @@ Once you've created something amazing with Open MCT, showcase your work in our G
Building and running Open MCT in your local dev environment is very easy. Be sure you have [Git](https://git-scm.com/downloads) and [Node.js](https://nodejs.org/) installed, then follow the directions below. Need additional information? Check out the [Getting Started](https://nasa.github.io/openmct/getting-started/) page on our website.
(These instructions assume you are installing as a non-root user; developers have [reported issues](https://github.com/nasa/openmct/issues/1151) running these steps with root privileges.)

1. Clone the source code
1. Clone the source code:

```
git clone https://github.com/nasa/openmct.git
```

`git clone https://github.com/nasa/openmct.git`
2. (Optional) Install the correct node version using [nvm](https://github.com/nvm-sh/nvm):

2. Install development dependencies. Note: Check the package.json engine for our tested and supported node versions.
```
nvm install
```

`npm install`
3. Install development dependencies (Note: Check the `package.json` engine for our tested and supported node versions):

3. Run a local development server
```
npm install
```

`npm start`
4. Run a local development server:

Open MCT is now running, and can be accessed by pointing a web browser at [http://localhost:8080/](http://localhost:8080/)
```
npm start
```

> [!IMPORTANT]
> Open MCT is now running, and can be accessed by pointing a web browser at [http://localhost:8080/](http://localhost:8080/)
Open MCT is built using [`npm`](http://npmjs.com/) and [`webpack`](https://webpack.js.org/).

Expand All @@ -40,8 +55,12 @@ The clearest examples for developing Open MCT plugins are in the
[tutorials](https://github.com/nasa/openmct-tutorial) provided in
our documentation.

We want Open MCT to be as easy to use, install, run, and develop for as
possible, and your feedback will help us get there! Feedback can be provided via [GitHub issues](https://github.com/nasa/openmct/issues/new/choose), [Starting a GitHub Discussion](https://github.com/nasa/openmct/discussions), or by emailing us at [[email protected]](mailto:[email protected]).
> [!NOTE]
> We want Open MCT to be as easy to use, install, run, and develop for as
> possible, and your feedback will help us get there!
> Feedback can be provided via [GitHub issues](https://github.com/nasa/openmct/issues/new/choose),
> [Starting a GitHub Discussion](https://github.com/nasa/openmct/discussions),
> or by emailing us at [[email protected]](mailto:[email protected]).
## Developing Applications With Open MCT

Expand All @@ -51,6 +70,8 @@ For more on developing with Open MCT, see our documentation for a guide on [Deve

This is a fast moving project and we do our best to test and support the widest possible range of browsers, operating systems, and nodejs APIs. We have a published list of support available in our package.json's `browserslist` key.

The project uses `nvm` to ensure the node and npm version used, is coherent in all projects. Install nvm (non-windows), [here](https://github.com/nvm-sh/nvm) or the windows equivalent [here](https://github.com/coreybutler/nvm-windows)

If you encounter an issue with a particular browser, OS, or nodejs API, please file a [GitHub issue](https://github.com/nasa/openmct/issues/new/choose)

## Plugins
Expand Down
8 changes: 4 additions & 4 deletions docs/src/process/version.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ requirements.

Additionally, the following project-specific standards will be used:

* During development, a "-SNAPSHOT" suffix shall be appended to the
* During development, a "-next" suffix shall be appended to the
version number. The version number before the suffix shall reflect
the next expected version number for release.
* Prior to a 1.0.0 release, the _minor_ version will be incremented
Expand Down Expand Up @@ -93,7 +93,7 @@ numbers by the following process:

1. Update version number in `package.json`
1. Checkout branch created for the last sprint that has been successfully tested.
2. Remove a `-SNAPSHOT` suffix from the version in `package.json`.
2. Remove a `-next` suffix from the version in `package.json`.
3. Verify that resulting version number meets semantic versioning
requirements relative to previous stable version. Increment the
version number if necessary.
Expand Down Expand Up @@ -138,7 +138,7 @@ numbers by the following process:
1. Create a new branch off the `master` branch.
2. Remove any suffix from the version number,
or increment the _patch_ version if there is no suffix.
3. Append a `-SNAPSHOT` suffix.
3. Append a `-next` suffix.
4. Commit changes to `package.json` on the `master` branch.
The commit message should reference the sprint being opened,
preferably by a URL reference to the associated Milestone in
Expand All @@ -150,6 +150,6 @@ numbers by the following process:
Projects dependent on Open MCT being co-developed by the Open MCT
team should follow a similar process, except that they should
additionally update their dependency on Open MCT to point to the
latest archive when removing their `-SNAPSHOT` status, and
latest archive when removing their `-next` status, and
that they should be pointed back to the `master` branch after
this has completed.
45 changes: 41 additions & 4 deletions e2e/appActions.js
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ async function createPlanFromJSON(page, { name, json, parent = 'mine' }) {
await page.click(`li:text("Plan")`);

// Modify the name input field of the domain object to accept 'name'
const nameInput = page.locator('form[name="mctForm"] .first input[type="text"]');
const nameInput = page.getByLabel('Title', { exact: true });
await nameInput.fill('');
await nameInput.fill(name);

Expand Down Expand Up @@ -480,29 +480,50 @@ async function setEndOffset(page, offset) {
await setTimeConductorOffset(page, offset);
}

/**
* Set the time conductor bounds in fixed time mode
*
* NOTE: Unless explicitly testing the Time Conductor itself, it is advised to instead
* navigate directly to the object with the desired time bounds using `navigateToObjectWithFixedTimeBounds()`.
* @param {import('@playwright/test').Page} page
* @param {string} startDate
* @param {string} endDate
*/
async function setTimeConductorBounds(page, startDate, endDate) {
// Bring up the time conductor popup
expect(await page.locator('.l-shell__time-conductor.c-compact-tc').count()).toBe(1);
await page.click('.l-shell__time-conductor.c-compact-tc');

await setTimeBounds(page, startDate, endDate);

await page.keyboard.press('Enter');
}

/**
* Set the independent time conductor bounds in fixed time mode
* @param {import('@playwright/test').Page} page
* @param {string} startDate
* @param {string} endDate
*/
async function setIndependentTimeConductorBounds(page, startDate, endDate) {
// Activate Independent Time Conductor in Fixed Time Mode
await page.getByRole('switch').click();

// Bring up the time conductor popup
await page.click('.c-conductor-holder--compact .c-compact-tc');

await expect(page.locator('.itc-popout')).toBeVisible();
await expect(page.locator('.itc-popout')).toBeInViewport();

await setTimeBounds(page, startDate, endDate);

await page.keyboard.press('Enter');
}

/**
* Set the bounds of the visible conductor in fixed time mode
* @param {import('@playwright/test').Page} page
* @param {string} startDate
* @param {string} endDate
*/
async function setTimeBounds(page, startDate, endDate) {
if (startDate) {
// Fill start time
Expand Down Expand Up @@ -619,6 +640,21 @@ async function getCanvasPixels(page, canvasSelector) {
return getTelemValuePromise;
}

/**
* @param {import('@playwright/test').Page} page
* @param {string} myItemsFolderName
* @param {string} url
* @param {string} newName
*/
async function renameObjectFromContextMenu(page, url, newName) {
await openObjectTreeContextMenu(page, url);
await page.click('li:text("Edit Properties")');
const nameInput = page.getByLabel('Title', { exact: true });
await nameInput.fill('');
await nameInput.fill(newName);
await page.click('[aria-label="Save"]');
}

// eslint-disable-next-line no-undef
module.exports = {
createDomainObjectWithDefaults,
Expand All @@ -639,5 +675,6 @@ module.exports = {
setTimeConductorBounds,
setIndependentTimeConductorBounds,
selectInspectorTab,
waitForPlotsToRender
waitForPlotsToRender,
renameObjectFromContextMenu
};
Loading

0 comments on commit 2b3a6e5

Please sign in to comment.