Skip to content
This repository was archived by the owner on Aug 26, 2024. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
f2ff2f3
Generalization of the ErrorBannerComponent (#622)
FutzMonitor Apr 4, 2023
6e189cd
Db test waits (#646)
braughtg Apr 12, 2023
6a6bdd5
Revert "Db test waits" (#647)
braughtg Apr 12, 2023
e92f04f
Created Swagger Doc for fd2_api; Refactored of cropmap and areamap in…
braughtg Apr 30, 2023
9a3610c
Add Bootstrap support to Vue Component Tests (#652)
braughtg Apr 30, 2023
5cd18e5
Revert "Add Bootstrap support to Vue Component Tests" (#653)
braughtg Apr 30, 2023
e0000e4
Add Bootstrap support to Vue Component Tests (#654)
braughtg Apr 30, 2023
a5dec76
Fixed Total Bedft not Rounded in Seeding Report (#678)
FutzMonitor Jul 29, 2023
c800854
Migrates: Main fd2 tabs test #228 (#661)
RolandLocke Jul 29, 2023
517231e
Migrates: Test Barn Kit Seeding Report columns by seeding type #210 (…
RolandLocke Jul 29, 2023
aa4588f
Migrates: edited documentation in lines 33 and 34 of CustomTableCompo…
RolandLocke Jul 29, 2023
18224d4
Migrates: Seeding Input: Tests for Submit Button Behavior (#208) (#665)
RolandLocke Jul 29, 2023
5ece382
Migrates: Tested the Seeding Report Crop Filter (#196) (#666)
RolandLocke Jul 29, 2023
7e0d5b9
Migrates: FieldKit Tab: Test for FieldKit Sub-Tabs (#212) (#667)
RolandLocke Jul 29, 2023
6e4980a
Migrates: Testing Seeding Input Tray Seeding Defaults (#194) (#668)
RolandLocke Jul 29, 2023
30b3a97
Migrates: Create test file for the Seeding Input (#211) (#669)
RolandLocke Jul 29, 2023
b019f81
Migrates: BarnKit Subtab testing (#219) (#670)
RolandLocke Jul 29, 2023
d6a5145
Migrates: Test Seeding Input Direct Seeding Defaults (#182) (#671)
RolandLocke Jul 29, 2023
e3d7027
Migrates: Testing Transplanting Report Defaults (#197) (#672)
RolandLocke Jul 29, 2023
93682ed
Migrates: Initial commit, adding seeding input data cypress test (#17…
RolandLocke Jul 29, 2023
4fe95f2
Migrates: Cypress Tests for Seeding Input Labor Defaults (#173) (#675)
RolandLocke Jul 29, 2023
93c39c4
Migrates: Tested Seeding Input Type Defaults (#178) (#676)
RolandLocke Jul 29, 2023
cb324e2
Migrates: 227 testing the default values of the seeding report (#677)
RolandLocke Jul 29, 2023
87e8a53
Change default seeding type according to existing logs (#680)
Mikek16 Oct 18, 2023
f35a964
Refactored dev/startup.bash Docker container (#682)
WarpWing Nov 13, 2023
998c870
Implementation of Selective Containers at Launch (#684)
WarpWing Dec 1, 2023
b9e3953
Add Local flag to docker/buildimages.bash (#683)
WarpWing Dec 1, 2023
03442ee
fixed small typo (#693)
ernbilen Dec 27, 2023
76f2d63
Add cypress logging functionality (#692)
nguyenbanhducA1K51 Dec 27, 2023
ad1db59
Split FarmOSAPI test file (#688)
nguyenbanhducA1K51 Dec 27, 2023
284b8fe
revert changes to fd2-down.bash to work on MacOS too (#694)
braughtg Dec 27, 2023
7e960ff
Added HTML sub-tab to FD2 School Tab
evelynpham04 Feb 9, 2024
349035d
Modified Harvest Report in html.html
evelynpham04 Feb 9, 2024
b145dc4
Made the term mockup into intalics
evelynpham04 Feb 9, 2024
6434b91
Added Title text file and Generate Report anonymous button
evelynpham04 Feb 9, 2024
5032ecc
Added the Crop element
evelynpham04 Feb 10, 2024
5a336ae
Added the Field element
evelynpham04 Feb 10, 2024
938c174
Added the Date element
evelynpham04 Feb 10, 2024
c790d75
Added table
evelynpham04 Feb 10, 2024
2219d71
Merge branch 'main' of https://github.com/DickinsonCollege/FarmData2
evelynpham04 Feb 18, 2024
9f13a6f
Merge branch 'main' into Evelyn-02-HTML
evelynpham04 Feb 18, 2024
9848593
Added Vue1 sub-tab to FD2 School tab
evelynpham04 Feb 18, 2024
a58d1ba
Added basic Vue capabilities to vue1.html
evelynpham04 Feb 18, 2024
056f35c
Added Vue bindings for report start date, end date, and selected crop
evelynpham04 Feb 18, 2024
399510d
Added logic to display 'Mock Harvest Report' if title field is empty,…
evelynpham04 Feb 18, 2024
8abeb9f
Added dynamic generation of Crop and Area dropdown options.
evelynpham04 Feb 18, 2024
7bccebf
Generated table from array of harvest log objects
evelynpham04 Feb 18, 2024
347c598
Added Vue DevTools.
evelynpham04 Feb 18, 2024
ecabdba
Added new sub-tab named Vue2
evelynpham04 Feb 24, 2024
8bb1560
Added event handler to the Vue instance on button click
evelynpham04 Feb 25, 2024
a4c169b
Changed button click handler to methods object in Vue instance
evelynpham04 Feb 25, 2024
de1d960
Added sequential numbering to the harvest report table
evelynpham04 Feb 26, 2024
d5f0fe0
Added condition to the harvest report table
evelynpham04 Feb 26, 2024
20fccee
Added validation for start and end dates in Harvest Report
evelynpham04 Feb 26, 2024
8ad1493
removed files with bad filenames
braughtg Mar 9, 2024
5311b97
Merge branch 'main' of https://github.com/DickinsonCollege/FarmData2
evelynpham04 Mar 10, 2024
2bcdede
Merge branch 'main' into Evelyn-03-Vue2
evelynpham04 Mar 10, 2024
f89ed67
Added API sub-tab to FD2 School tab
evelynpham04 Mar 10, 2024
82cc66a
Added farm, user, and language properties
evelynpham04 Mar 10, 2024
a006ccb
Set initial values of Farm, User and Language
evelynpham04 Mar 10, 2024
007757d
Fetched farm data from API
evelynpham04 Mar 10, 2024
a37e500
Changed Crop dropdown
evelynpham04 Mar 10, 2024
859b044
Added API2 sub-tab to the FD2 School tab
evelynpham04 Mar 25, 2024
0909763
Added functionality to request harvest report based on dates
evelynpham04 Mar 25, 2024
ffb86e6
Filled in harvest report table with information from API
evelynpham04 Mar 25, 2024
196352e
Modified harvestReportRows to filter rows based on selected crop
evelynpham04 Mar 25, 2024
455afee
Added first.spec.js
evelynpham04 May 2, 2024
77445ad
Added a new sub-tab named e2e
evelynpham04 May 2, 2024
55bf77e
Added testing for header
evelynpham04 May 2, 2024
06fb9fa
Added testing for the Harvest Report Default Dates
evelynpham04 May 2, 2024
05d86af
Add testing for the Harvest Report Crop List
evelynpham04 May 3, 2024
af4ee14
Add testing for the Harvest Report Generation
evelynpham04 May 3, 2024
737d0d0
Add testing for the report details
evelynpham04 May 3, 2024
91c2d50
Add FD2 new sub-tab
evelynpham04 May 3, 2024
ec2fec4
Switch the crop dropdown
evelynpham04 May 3, 2024
751a21c
Add testing for the new crop dropdown
evelynpham04 May 3, 2024
023b294
Switch the Data Table
evelynpham04 May 3, 2024
3102ac0
Add testing for the CustomTableComponent
evelynpham04 May 3, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Full installation details for these tools are provided by the projects themselve
- You'll be using a *WSL Terminal* for many of the steps below.
- Then follow the instructions for installing [Docker Desktop for Windows](https://docs.docker.com/desktop/install/windows-install/). Be sure to follow the directions for the "WSL 2 backend" (not the "Hyper-V backend").
- For MacOS:
- Follow the instructions for installing [Docker Desktop for Mac](https://docs.docker.com/desktop/install/mac-install/). Be sure to choose chose "Mac with Intel Chip" or "Mac with Apple Silicon" as appropriate for your Mac. If you are unsure, choose "About this Mac" from the Apple menu and check which "Chip" is in your Mac (Intel or Apple).
- Follow the instructions for installing [Docker Desktop for Mac](https://docs.docker.com/desktop/install/mac-install/). Be sure to choose "Mac with Intel Chip" or "Mac with Apple Silicon" as appropriate for your Mac. If you are unsure, choose "About this Mac" from the Apple menu and check which "Chip" is in your Mac (Intel or Apple).
- For Linux:
- Follow the instructions for installing [Docker Desktop for Linux](https://docs.docker.com/desktop/install/linux-install/).
- Test your installation of Docker Desktop.
Expand Down
8 changes: 5 additions & 3 deletions docker/api/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ FROM node:alpine3.17

WORKDIR /app

# Get the package.json and install dependencies
COPY package.json .
RUN npm install
# Get the package.json, package-lock.json and install the dependencies
# NOTE: Use npm ci here so that we use package-lock.json and
# so that we are alerted if there are any changes.
COPY package.json package-lock.json ./
RUN npm ci

# Start the express api hander.
CMD ["npm", "start"]
3 changes: 2 additions & 1 deletion docker/api/after.bash
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
# Delete the package.json file that was copied into the build context.
rm package.json
rm package.json
rm package-lock.json
3 changes: 2 additions & 1 deletion docker/api/before.bash
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
# Copy the package.json file to the build context.
cp ../../farmdata2/farmdata2_api/package.json .
cp ../../farmdata2/farmdata2_api/package.json ./
cp ../../farmdata2/farmdata2_api/package-lock.json ./
2 changes: 1 addition & 1 deletion docker/api/repo.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
api:fd2.1
api:fd2.2
62 changes: 41 additions & 21 deletions docker/build-images.bash
Original file line number Diff line number Diff line change
@@ -1,15 +1,26 @@
#!/bin/bash

# Build and push to DockerHub multi architecture images
# for all of the containers used by FarmData2.
# Build and optionally push to DockerHub multi architecture images
# or single architecture local images for FarmData2.

LOGGED_IN=$(cat ~/.docker/config.json 2> /dev/null | grep "index.docker.io" | wc -l | cut -f 8 -d ' ')
if [ "$LOGGED_IN" == "0" ];
then
echo "Please log into Docker Hub before building images."
echo " Use: docker login"
echo "This allows multi architecture images to be pushed."
exit -1
LOCAL_BUILD=0

# Check for --local flag
if [ "$1" == "--local" ]; then
LOCAL_BUILD=1
shift # Remove the --local argument
fi

# Check for Docker Hub login only if not a local build
if [ "$LOCAL_BUILD" -eq 0 ]; then
LOGGED_IN=$(cat ~/.docker/config.json 2> /dev/null | grep "index.docker.io" | wc -l | cut -f 8 -d ' ')
if [ "$LOGGED_IN" == "0" ];
then
echo "Please log into Docker Hub before building images."
echo " Use: docker login"
echo "This allows multi architecture images to be pushed."
exit -1
fi
fi

if [ $# -lt 1 ];
Expand All @@ -21,19 +32,21 @@ then
exit -1
fi

# Create the builder if it doesn't exist.
FD2_BUILDER=$(docker buildx ls | grep "fd2builder" | wc -l | cut -f 8 -d ' ')
if [ "$FD2_BUILDER" == "0" ];
then
echo "Making new builder for FarmData2 images."
docker buildx create --name fd2builder
fi
# Create the builder if it doesn't exist and if not a local build
if [ "$LOCAL_BUILD" -eq 0 ]; then
FD2_BUILDER=$(docker buildx ls | grep "fd2builder" | wc -l | cut -f 8 -d ' ')
if [ "$FD2_BUILDER" == "0" ];
then
echo "Making new builder for FarmData2 images."
docker buildx create --name fd2builder
fi

# Switch to use the fd2builder.
echo "Using the fd2bilder."
docker buildx use fd2builder
# Switch to use the fd2builder.
echo "Using the fd2builder."
docker buildx use fd2builder
fi

# Build and push each of the images to Docker Hub.
# Build (and push) each of the images
for IMAGE in "$@"
do
if [ ! -f $IMAGE/Dockerfile ] | [ ! -f $IMAGE/repo.txt ];
Expand All @@ -54,7 +67,14 @@ do
TAG=$(cat repo.txt)
REPO="farmdata2/$TAG"
echo " Performing docker build using tag $REPO ..."
docker buildx build --platform linux/amd64,linux/arm64 -t $REPO --push .

if [ "$LOCAL_BUILD" -eq 1 ]; then
# Local build for the architecture of the local machine
docker build -t $REPO .
else
# Multi architecture build and push
docker buildx build --platform linux/amd64,linux/arm64 -t $REPO --push .
fi

if [ -f after.bash ];
then
Expand Down
5 changes: 4 additions & 1 deletion docker/dev/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ RUN apt install -y --no-install-recommends \
&& npm install -g \
@vue/cli@5.0.8 \
jsdoc@3.6.7 \
jsdoc-escape-at \
jsdoc-vuejs@3.0.9 \
vue-template-compiler@2.6.14

Expand Down Expand Up @@ -142,7 +143,9 @@ RUN npm install -d \
@cypress/webpack-dev-server@2.5.0 \
@cypress/vue2@1.1.2 \
path@0.12.7 \
axios@0.24.0
axios@0.24.0 \
bootstrap@3.3.7

WORKDIR /home/$USERNAME

# Configure the VNC server so that it allows fd2dev to connect without
Expand Down
2 changes: 1 addition & 1 deletion docker/dev/bash_aliases
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ setDB ()
}

# Clear the drupal cache in the fd2_farmdata2 container.
alias clearDupalCache="docker exec -it fd2_farmdata2 drush cc all"
alias clearDrupalCache="docker exec -it fd2_farmdata2 drush cc all"

# Alias codium for running VSCodium with no-sandbox.
codium ()
Expand Down
2 changes: 1 addition & 1 deletion docker/dev/repo.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
dev:fd2.3
dev:fd2.4
46 changes: 23 additions & 23 deletions docker/dev/startup.bash
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
#!/bin/bash

# Cleanup from past vnc session that may hav been running in the container.
# Cleanup from past VNC session that may have been running in the container.
# This clean-up is not done when the container is stopped (not deleted).
rm /tmp/.X11-unix/X1
rm /tmp/.X1-lock
# Using `rm -f` to ignore nonexistent files and suppress error messages.
rm -f /tmp/.X11-unix/X1
rm -f /tmp/.X1-lock

# Ensure that the fd2dev user is in a group that has RW permission to
# the docker.sock file. This will allow fd2dev to use the docker on docker
# to interact with containers within the development environment.
# Note: This must be here instead of in Dockerfile so the GID for the
# docker.sock in the container can match the one on the host.
# Note: The docker.gid file is mounted into the container by docker-compose.
HOST_DOCKER_GID=$(cat ~/.fd2/gids/docker.gid)
HOST_DOCKER_GID_IN_CONTAINER=$(echo /etc/group | grep ":$HOST_DOCKER_GID:")
if [ -z "$HOST_DOCKER_GID_IN_CONTAINER" ];
then
echo "fd2dev" | sudo -S groupadd --gid $HOST_DOCKER_GID fd2docker
# The sudo password is assumed to be 'fd2dev' for all operations.
# Using a single invocation of sudo and a here-document to execute multiple commands.
# This reduces the number of times the password needs to be echoed and sudo is called.
# This also reduces the script complexity and potential points of failure.
sudo -S sh <<SCRIPT
# Ensure that the fd2dev user is in a group that has RW permission to the docker.sock file.
HOST_DOCKER_GID=\$(cat ~/.fd2/gids/docker.gid)
if ! grep -q ":$HOST_DOCKER_GID:" /etc/group; then
groupadd --gid $HOST_DOCKER_GID fd2docker
fi
echo "fd2dev" | sudo -S usermod -a -G $HOST_DOCKER_GID fd2dev
echo "fd2dev" | sudo -S chgrp +$HOST_DOCKER_GID /var/run/docker.sock
echo "fd2dev" | sudo -S chmod 775 /var/run/docker.sock
usermod -a -G $HOST_DOCKER_GID fd2dev
chgrp $HOST_DOCKER_GID /var/run/docker.sock
chmod 775 /var/run/docker.sock

# Ensure that the fd2grp has RW access to mounted FarmData2 directory.
# This probably is not necessary as in linux the group will reflect
# the host group. But it does make things consistent across macOS and linux.
echo "fd2dev" | sudo -S chgrp -R fd2grp /home/fd2dev/FarmData2
echo "fd2dev" | sudo -S chmod -R g+rw /home/fd2dev/FarmData2
# This may not be necessary on Linux as the group will reflect the host group.
# But it does make things consistent across macOS and Linux.
chgrp -R fd2grp /home/fd2dev/FarmData2
chmod -R g+rw /home/fd2dev/FarmData2

# Ensure that the dbus service is running.
echo "fd2dev" | sudo /etc/init.d/dbus restart
/etc/init.d/dbus restart
SCRIPT

# Launch the VNC server
# Launch the VNC server with the desired settings.
vncserver \
-localhost no \
-geometry 1024x768 -depth 16 \
Expand Down
17 changes: 9 additions & 8 deletions docker/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
version: '2.2'
services:
express:
image: farmdata2/api:fd2.1
image: farmdata2/api:fd2.2
container_name: fd2_api
ports:
- 8080:80
Expand Down Expand Up @@ -60,12 +60,13 @@ services:
- /sessions
links:
- 'db'

profiles:
- phpmyadmin
# Note: Separate profiles for unix vs windows systems
# Necessary to mount /var/run/docker.sock due to
# absolute path syntax on windows.
fd2dev-unix:
image: farmdata2/dev:fd2.3
image: farmdata2/dev:fd2.4
container_name: fd2_dev
init: true
networks:
Expand All @@ -77,7 +78,7 @@ services:
- ../farmdata2/cypress:/home/fd2dev/fd2test/cypress
- ../farmdata2/cypress/cypress.config.js:/home/fd2dev/fd2test/cypress.config.js
- /var/run/docker.sock:/var/run/docker.sock
- farmdev_home_fd2.2:/home/fd2dev # preserve home dir on volume.
- farmdev_home_fd2.4:/home/fd2dev # preserve home dir on volume.
- farmos_db:/home/fd2dev/FarmData2/docker/db # use volume for performance.
- ~/.fd2gids:/home/fd2dev/.fd2/gids # mount GID information.
ports:
Expand All @@ -88,7 +89,7 @@ services:
- linux

fd2dev-win:
image: farmdata2/dev:fd2.3
image: farmdata2/dev:fd2.4
container_name: fd2_dev
init: true
networks:
Expand All @@ -100,7 +101,7 @@ services:
- ../farmdata2/cypress:/home/fd2dev/fd2test/cypress
- ../farmdata2/cypress/cypress.config.js:/home/fd2dev/fd2test/cypress.config.js
- //var/run/docker.sock:/var/run/docker.sock
- farmdev_home_fd2.2:/home/fd2dev # preserve home dir on volume.
- farmdev_home_fd2.4:/home/fd2dev # preserve home dir on volume.
- farmos_db:/home/fd2dev/FarmData2/docker/db # use volume for performance.
- ~/.fd2gids:/home/fd2dev/.fd2/gids # mount GID information.
ports:
Expand All @@ -110,7 +111,7 @@ services:
- windows

volumes:
farmdev_home_fd2.2:
farmdev_home_fd2.4:
farmos_db:

networks:
Expand All @@ -120,4 +121,4 @@ networks:
# This network is available only to containers defined here.
fd2_private:
name: farmdata2_api
internal: true
internal: true
13 changes: 12 additions & 1 deletion docker/fd2-down.bash
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@ then
exit -1
fi

# Env var was not being set on MacOS
# So Revert this to the old approach.

# if [ -z "$COMPOSE_PROFILES" ]; then
# echo "Error: COMPOSE_PROFILES doesn't have profiles stored. Please run fd2-up.bash to bring FarmData2 containers up first."
# exit 1
# fi
# I'm pretty sure since the COMPOSE_PROFILES utilize the environment variables, you can just run docker-compose down and that's it.
#docker-compose down

echo "Stopping Containers..."
docker stop fd2_phpmyadmin
docker stop fd2_farmdata2
Expand All @@ -24,4 +34,5 @@ docker rm fd2_farmdata2
docker rm fd2_dev
docker rm fd2_api

echo "Done."
#Unsets COMPOSE_PROFILES to prevent irregular edge cases.
unset COMPOSE_PROFILES
41 changes: 38 additions & 3 deletions docker/fd2-up.bash
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,42 @@ mkdir ~/.fd2gids
echo "$FD2GRP_GID" > ~/.fd2gids/fd2grp.gid
echo "$DOCKER_GRP_GID" > ~/.fd2gids/docker.gid

# Now finally... actually start the containers...
profiles="${PROFILE} phpmyadmin" #Default Profile List

# Parse Profile CLI Arguments
for arg in "$@"; do
case $arg in
--no-dev)
# Exclude dev profiles
profiles="${profiles//macos/}"
profiles="${profiles//linux/}"
profiles="${profiles//windows/}"
;;
--no-phpmyadmin)
# Exclude phpmyadmin profile
profiles="${profiles//phpmyadmin/}"
;;
--no-phpmyadmin-dev)
# Exclude both phpmyadmin and dev profiles
profiles="${profiles//macos/}"
profiles="${profiles//linux/}"
profiles="${profiles//windows/}"
profiles="${profiles//phpmyadmin/}"
;;
esac
shift
done

# Remove duplicates from profiles
read -ra profile_array <<< "$profiles"
unique_profiles=($(printf "%s\n" "${profile_array[@]}" | sort -u))
profiles=$(echo "${unique_profiles[@]}" | tr ' ' '\n' | xargs)

# Create a comma-separated list of profiles for the COMPOSE_PROFILES environment variable
COMPOSE_PROFILES=$(echo $profiles | tr ' ' ',')

# Export the COMPOSE_PROFILES environment variable
export COMPOSE_PROFILES

# Delete any of the existing containers (except dev so that its writeable
# layer - and thus any installed software or configuration - is preserved.)
Expand All @@ -270,9 +305,9 @@ docker rm fd2_mariadb &> /dev/null
docker rm fd2_phpmyadmin &> /dev/null
docker rm fd2_farmdata2 &> /dev/null

echo "Starting containers..."
echo "Starting containers with profiles: $profiles"
# Note: Any command line args are passed to the docker-compose up command
docker compose --profile $PROFILE up -d "$@"
docker-compose up -d "$@"

echo "Clearing drupal cache..."
sleep 3 # give site time to come up before clearing the cache.
Expand Down
7 changes: 7 additions & 0 deletions farmdata2/cypress/cypress.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ module.exports = {
e2e: {
setupNodeEvents(on, config) {
// implement node event listeners here
on('task', {
log(message) {
console.log(message)

return null
},
})
},
baseUrl: 'http://fd2_farmdata2',
specPattern: '**/*.spec.js',
Expand Down
6 changes: 6 additions & 0 deletions farmdata2/cypress/support/component.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@
// Import commands.js using ES2015 syntax:
import './commands'

// Import specific FD2 style sheet
import '/home/fd2dev/fd2test/farmdata2/farmdata2_modules/resources/fd2.css'

// Import Bootstrap style sheet
import 'bootstrap/dist/css/bootstrap.css'

// Alternatively you can use CommonJS syntax:
// require('./commands')

Expand Down
Loading