Skip to content

Commit

Permalink
refactor: extract common utils to fbw-common (#8073)
Browse files Browse the repository at this point in the history
* refactor: extract common utils to fbw-common

* refactor: move instruments shared code to fbw-common, re-organise structure

* refactor: remove old instruments shared code, port usages, fix build

* fix: enum

* fix: tests

* fix: lint

* fix build
  • Loading branch information
Benjozork committed Jun 24, 2023
1 parent f3dc175 commit f9e4d66
Show file tree
Hide file tree
Showing 286 changed files with 1,311 additions and 706 deletions.
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!-- //Copyright (c) 2021-2023 FlyByWire Simulations -->
<!-- // -->
<!-- //SPDX-License-Identifier: GPL-3.0 -->

<link rel="stylesheet" href="A320_Neo_CDU.css"/>

<script type="text/html" id="A320_Neo_CDU">
Expand Down Expand Up @@ -31,7 +35,6 @@
<script type="text/html" import-script="/JS/fbw-a32nx/atsu/fmsclient.js"></script>
<script type="text/html" import-script="/JS/fbw-a32nx/sentry-client/sentry-client.js"></script>
<script type="text/html" import-script="/JS/fbw-a32nx/simbridge-client/simbridge-client.js"></script>
<script type="text/html" import-script="/JS/fbw-a32nx/fmgc/LzUtf8.js"></script>
<script type="text/html" import-script="/JS/fbw-a32nx/fmgc/fmgc.js"></script>
<script type="text/html" import-script="/JS/fbw-a32nx/A32NX_Simvars.js"></script>
<script type="text/html" import-script="/Pages/VCockpit/Instruments/NavSystems/Shared/LogicElements/SearchField.js"></script>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
<link rel="stylesheet" href="A320_Neo_EICAS.css" xmlns=""/>
<!-- //Copyright (c) 2021-2023 FlyByWire Simulations -->
<!-- // -->
<!-- //SPDX-License-Identifier: GPL-3.0 -->

<link rel="stylesheet" href="A320_Neo_EICAS.css" xmlns=""/>
<link rel="stylesheet" href="/CSS/A32NX_Display_Common.css"/>

<script type="text/html" id="A320_Neo_EICAS">
Expand Down Expand Up @@ -69,7 +73,6 @@
<script type="text/html" import-script="/Pages/VCockpit/Instruments/Shared/FlightElements/Approach.js"></script>
<script type="text/html" import-script="/Pages/VCockpit/Instruments/FlightElements/A32NX_WaypointLoader.js"></script>
<script type="text/html" import-script="/Pages/VCockpit/Instruments/Shared/FlightElements/GeoCalc.js"></script>
<script type="text/html" import-script="/JS/fbw-a32nx/fmgc/LzUtf8.js"></script>
<script type="text/html" import-script="/JS/fbw-a32nx/fmgc/fmgc.js"></script>
<script type="text/html" import-script="/JS/fbw-a32nx/sentry-client/sentry-client.js"></script>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@
<script type="text/html" import-script="/JS/fbw-a32nx/A32NX_Util.js" import-async="false"></script>

<script type="text/html" import-script="/JS/SimPlane.js"></script>
<script type="text/html" import-script="/JS/dataStorage.js"></script>

<script type="text/html" import-script="/Pages/VCockpit/Instruments/Shared/Utils/RadioNav.js"></script>

Expand All @@ -109,7 +110,6 @@
<script type="text/html" import-script="/Pages/VCockpit/Instruments/Shared/FlightElements/Approach.js"></script>
<script type="text/html" import-script="/Pages/VCockpit/Instruments/FlightElements/A32NX_Runway.js"></script>
<script type="text/html" import-script="/Pages/VCockpit/Instruments/Shared/FlightElements/GeoCalc.js"></script>
<script type="text/html" import-script="/JS/fbw-a32nx/fmgc/LzUtf8.js"></script>
<script type="text/html" import-script="/JS/fbw-a32nx/fmgc/fmgc.js"></script>
<script type="text/html" import-script="/JS/fbw-a32nx/A32NX_Simvars.js"></script>
<script type="text/html" import-script="/JS/fbw-a32nx/sentry-client/sentry-client.js"></script>
Expand Down
8 changes: 6 additions & 2 deletions fbw-a32nx/src/systems/atsu/common/build.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
// Copyright (c) 2021-2023 FlyByWire Simulations
//
// SPDX-License-Identifier: GPL-3.0

'use strict';

const esbuild = require('esbuild');
Expand All @@ -13,7 +17,7 @@ esbuild.build({

define: { DEBUG: 'false' },

entryPoints: [ path.join(rootDir, '../fbw-common/src/systems/datalink/common/src/index.ts')],
entryPoints: [path.join(rootDir, '../fbw-common/src/systems/datalink/common/src/index.ts')],
bundle: true,
treeShaking: false,
minify: isProductionBuild,
Expand All @@ -23,7 +27,7 @@ esbuild.build({
format: 'iife',
globalName: 'AtsuCommon',

sourcemap: isProductionBuild ? undefined : 'linked',
sourcemap: isProductionBuild ? 'linked' : undefined,

// Target approximate CoherentGT WebKit version
target: 'safari11',
Expand Down
6 changes: 5 additions & 1 deletion fbw-a32nx/src/systems/atsu/fmsclient/build.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
// Copyright (c) 2021-2023 FlyByWire Simulations
//
// SPDX-License-Identifier: GPL-3.0

'use strict';

const esbuild = require('esbuild');
Expand All @@ -23,7 +27,7 @@ esbuild.build({
format: 'iife',
globalName: 'AtsuFmsClient',

sourcemap: isProductionBuild ? undefined : 'linked',
sourcemap: isProductionBuild ? 'linked' : undefined,

// Target approximate CoherentGT WebKit version
target: 'safari11',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { Waypoint } from '@datalink/common';
import { FlightPhaseManager } from '@fmgc/flightphase';
import { WaypointStats } from '@fmgc/flightplanning/data/flightplan';
import { FlightPlanManager, ManagedFlightPlan } from '@fmgc/wtsdk';
import { Arinc429Word } from '@shared/arinc429';
import { Arinc429Word } from '@flybywiresim/fbw-sdk';
import { FmgcFlightPhase } from '@shared/flightphase';
import { EventBus, Publisher } from '@microsoft/msfs-sdk';

Expand Down
33 changes: 33 additions & 0 deletions fbw-a32nx/src/systems/extras-host/build.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// Copyright (c) 2021-2023 FlyByWire Simulations
//
// SPDX-License-Identifier: GPL-3.0

'use strict';

const esbuild = require('esbuild');
const path = require('path');

const rootDir = path.join(__dirname, '..', '..', '..');
const outFile = 'out/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/A32NX/ExtrasHost';

const isProductionBuild = process.env.A32NX_PRODUCTION_BUILD === '1';

esbuild.build({
absWorkingDir: __dirname,

define: { DEBUG: 'false' },

entryPoints: ['./index.ts'],
bundle: true,
treeShaking: false,
minify: isProductionBuild,

outdir: path.join(rootDir, outFile),

format: 'iife',

sourcemap: isProductionBuild ? 'linked' : undefined,

// Target approximate CoherentGT WebKit version
target: 'safari11',
});
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@
// SPDX-License-Identifier: GPL-3.0

import { EventBus, HEventPublisher } from '@microsoft/msfs-sdk';
import { NotificationManager } from '@shared/notification';
import { NotificationManager } from '@flybywiresim/fbw-sdk';
import { ExtrasSimVarPublisher } from 'extras-host/modules/common/ExtrasSimVarPublisher';
import { PushbuttonCheck } from 'extras-host/modules/pushbutton_check/PushbuttonCheck';
import { KeyInterceptor } from './modules/key_interceptor/KeyInterceptor';
import { VersionCheck } from './modules/version_check/VersionCheck';
import './style.scss';

/**
* This is the main class for the extras-host instrument.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
// SPDX-License-Identifier: GPL-3.0

import { EventBus, KeyEvents, KeyEventManager } from '@microsoft/msfs-sdk';
import { NotificationManager, NotificationType } from '@shared/notification';
import { PopUpDialog } from '@shared/popup';
import { NotificationManager, NotificationType, PopUpDialog } from '@flybywiresim/fbw-sdk';
import { AircraftPresetsList } from '../common/AircraftPresetsList';

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// SPDX-License-Identifier: GPL-3.0

import { ConsumerSubject, DebounceTimer, EventBus, MappedSubject } from '@microsoft/msfs-sdk';
import { NotificationManager, NotificationTheme } from '@shared/notification';
import { NotificationManager, NotificationTheme } from '@flybywiresim/fbw-sdk';
import { ExtrasSimVarEvents } from 'extras-host/modules/common/ExtrasSimVarPublisher';

/**
Expand Down
28 changes: 0 additions & 28 deletions fbw-a32nx/src/systems/extras-host/rollup.config.js

This file was deleted.

3 changes: 0 additions & 3 deletions fbw-a32nx/src/systems/extras-host/style.scss

This file was deleted.

6 changes: 5 additions & 1 deletion fbw-a32nx/src/systems/failures/src/failures-orchestrator.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
import { AtaChapterNumber } from '@shared/ata';
// Copyright (c) 2021-2023 FlyByWire Simulations
//
// SPDX-License-Identifier: GPL-3.0

import { AtaChapterNumber } from '@flybywiresim/fbw-sdk';
import { QueuedSimVarWriter, SimVarReaderWriter } from './communication';
import { getActivateFailureSimVarName, getDeactivateFailureSimVarName } from './sim-vars';

Expand Down
34 changes: 34 additions & 0 deletions fbw-a32nx/src/systems/fmgc/build.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
// Copyright (c) 2021-2023 FlyByWire Simulations
//
// SPDX-License-Identifier: GPL-3.0

'use strict';

const esbuild = require('esbuild');
const path = require('path');

const rootDir = path.join(__dirname, '..', '..', '..');
const outFile = 'out/flybywire-aircraft-a320-neo/html_ui/JS/fbw-a32nx/fmgc/fmgc.js';

const isProductionBuild = process.env.A32NX_PRODUCTION_BUILD === '1';

esbuild.build({
absWorkingDir: __dirname,

define: { DEBUG: 'false' },

entryPoints: ['src/index.ts'],
bundle: true,
treeShaking: false,
minify: isProductionBuild,

outfile: path.join(rootDir, outFile),

format: 'iife',
globalName: 'Fmgc',

sourcemap: isProductionBuild ? 'linked' : undefined,

// Target approximate CoherentGT WebKit version
target: 'safari11',
});
59 changes: 0 additions & 59 deletions fbw-a32nx/src/systems/fmgc/rollup.config.js

This file was deleted.

6 changes: 5 additions & 1 deletion fbw-a32nx/src/systems/fmgc/src/components/FcuSync.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import { Arinc429Word } from '@shared/arinc429';
// Copyright (c) 2021-2023 FlyByWire Simulations
//
// SPDX-License-Identifier: GPL-3.0

import { LateralMode } from '@shared/autopilot';
import { Arinc429Word } from '@flybywiresim/fbw-sdk';
import { FmgcComponent } from './FmgcComponent';

// Note the logic for this is different on A330/350/380
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
// Copyright (c) 2021-2023 FlyByWire Simulations
//
// SPDX-License-Identifier: GPL-3.0

import { FMMessage, FMMessageTypes } from '@shared/FmMessages';
import { ConfirmationNode, Trigger } from '@shared/logic';
import { ConfirmationNode, Trigger } from '@flybywiresim/fbw-sdk';
import { FMMessageSelector, FMMessageUpdate } from './FmsMessages';

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
// Copyright (c) 2021-2023 FlyByWire Simulations
//
// SPDX-License-Identifier: GPL-3.0

import { FMMessage, FMMessageTypes } from '@shared/FmMessages';
import { Trigger } from '@shared/logic';
import { Trigger } from '@flybywiresim/fbw-sdk';
import { FMMessageSelector, FMMessageUpdate } from './FmsMessages';

abstract class MapPartlyDisplayed implements FMMessageSelector {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
// Copyright (c) 2021-2023 FlyByWire Simulations
//
// SPDX-License-Identifier: GPL-3.0

import { NavaidTuner } from '@fmgc/navigation/NavaidTuner';
import { FMMessage, FMMessageTypes } from '@shared/FmMessages';
import { Trigger } from '@shared/logic';
import { Trigger } from '@flybywiresim/fbw-sdk';
import { FMMessageSelector, FMMessageUpdate } from './FmsMessages';

abstract class RwyLsMismatch implements FMMessageSelector {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
// Copyright (c) 2021-2023 FlyByWire Simulations
//
// SPDX-License-Identifier: GPL-3.0

import { NavaidTuner } from '@fmgc/navigation/NavaidTuner';
import { FMMessage, FMMessageTypes } from '@shared/FmMessages';
import { Trigger } from '@shared/logic';
import { Trigger } from '@flybywiresim/fbw-sdk';
import { FMMessageSelector, FMMessageUpdate } from './FmsMessages';

abstract class SpecifiedNdbUnavailable implements FMMessageSelector {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
// Copyright (c) 2021-2023 FlyByWire Simulations
//
// SPDX-License-Identifier: GPL-3.0

import { NavaidTuner } from '@fmgc/navigation/NavaidTuner';
import { FMMessage, FMMessageTypes } from '@shared/FmMessages';
import { Trigger } from '@shared/logic';
import { Trigger } from '@flybywiresim/fbw-sdk';
import { FMMessageSelector, FMMessageUpdate } from './FmsMessages';

abstract class SpecifiedVorUnavailable implements FMMessageSelector {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
// Copyright (c) 2021-2023 FlyByWire Simulations
//
// SPDX-License-Identifier: GPL-3.0

import { NavaidTuner } from '@fmgc/navigation/NavaidTuner';
import { FMMessage, FMMessageTypes } from '@shared/FmMessages';
import { Trigger } from '@shared/logic';
import { Trigger } from '@flybywiresim/fbw-sdk';
import { FMMessageSelector, FMMessageUpdate } from './FmsMessages';

abstract class TuneNavaid implements FMMessageSelector {
Expand Down
Loading

0 comments on commit f9e4d66

Please sign in to comment.