Skip to content

Commit c07db20

Browse files
committed
initial commit
0 parents  commit c07db20

22 files changed

+2108
-0
lines changed

.github/workflows/build.yml

+112
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
name: Produce nutjs
2+
3+
on:
4+
workflow_display:
5+
push:
6+
branches:
7+
- master
8+
9+
jobs:
10+
libnut-core:
11+
name: Build libnut-core for platforms
12+
13+
strategy:
14+
matrix:
15+
os: [ ubuntu-20.04, macos-latest, windows-2019 ]
16+
17+
runs-on: ${{ matrix.os }}
18+
19+
steps:
20+
21+
- name: Checkout libnut-core v2.5.1
22+
uses: actions/checkout@v4
23+
with:
24+
repository: 'nut-tree/libnut-core'
25+
ref: 'v2.5.1'
26+
27+
- name: Prepare Linux Environment
28+
if: ${{ matrix.os == 'ubuntu-20.04' }}
29+
run: sudo apt-get install -y cmake libx11-dev zlib1g-dev libpng-dev libxtst-dev build-essential
30+
31+
- name: Install nodejs
32+
uses: actions/setup-node@v4
33+
with:
34+
node-version: 18
35+
36+
- name: Install Project Dependencies
37+
run: npm install
38+
39+
- name: Build libnut-core
40+
run: npm run build:release
41+
42+
- name: Store Compiled libnut-core
43+
uses: actions/upload-artifact@v4
44+
with:
45+
name: libnut-${{ runner.os }}
46+
path: ./build/Release
47+
48+
firebot-nutjs:
49+
name: Build firebot-nutjs
50+
51+
needs:
52+
- libnut-core
53+
54+
runs-on: ubuntu-latest
55+
56+
steps:
57+
- name: Checkout firebot-nutjs
58+
uses: actions/checkout@v4
59+
with:
60+
ref: 'master'
61+
62+
- name: Install nodejs
63+
uses: actions/setup-node@v4
64+
with:
65+
node-version: 18
66+
67+
- name: Install Project Dependencies
68+
run: npm install
69+
70+
- name: Transpile firebot-nutjs
71+
run: npm run compile
72+
73+
- name: Download libnut-core Windows Build
74+
with:
75+
name: libnut-Windows
76+
path: ./dist/lib/libnut-core/windows
77+
78+
- name: Download libnut-core OSX Build
79+
with:
80+
name: libnut-macOS
81+
path: ./dist/lib/libnut-core/osx
82+
83+
- name: Download libnut-core Linux Build
84+
with:
85+
name: libnut-linux
86+
path: ./dist/lib/libnut-core/linux
87+
88+
# TODO: copy package & license into /dist
89+
- name: Copy Meta Files
90+
run: |
91+
cp ./package.json ./dist/package.json
92+
cp ./LICENSE ./dist/LICENSE
93+
94+
- name: Upload Distribution Artifact
95+
uses: actions/upload-artifact@v4
96+
with:
97+
name: firebot-nutjs
98+
path: ./dist/
99+
100+
101+
102+
103+
104+
105+
106+
107+
108+
109+
110+
111+
112+

.gitignore

+142
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
8+
# Runtime data
9+
pids
10+
*.pid
11+
*.seed
12+
*.pid.lock
13+
14+
# Directory for instrumented libs generated by jscoverage/JSCover
15+
lib-cov
16+
17+
# Coverage directory used by tools like istanbul
18+
coverage
19+
20+
# nyc test coverage
21+
.nyc_output
22+
23+
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
24+
.grunt
25+
26+
# Bower dependency directory (https://bower.io/)
27+
bower_components
28+
29+
# node-waf configuration
30+
.lock-wscript
31+
32+
# Compiled binary addons (https://nodejs.org/api/addons.html)
33+
build/Release
34+
35+
# Dependency directories
36+
node_modules/
37+
jspm_packages/
38+
39+
# TypeScript v1 declaration files
40+
typings/
41+
42+
# Optional npm cache directory
43+
.npm
44+
45+
# Optional eslint cache
46+
.eslintcache
47+
48+
# Optional REPL history
49+
.node_repl_history
50+
51+
# Output of 'npm pack'
52+
*.tgz
53+
54+
# Yarn Integrity file
55+
.yarn-integrity
56+
57+
# dotenv environment variables file
58+
.env
59+
60+
# parcel-bundler cache (https://parceljs.org/)
61+
.cache
62+
63+
# next.js build output
64+
.next
65+
66+
# nuxt.js build output
67+
.nuxt
68+
69+
# vuepress build output
70+
.vuepress/dist
71+
72+
# Serverless directories
73+
.serverless
74+
75+
.vscode
76+
/dist
77+
### macOS template
78+
# General
79+
.DS_Store
80+
.AppleDouble
81+
.LSOverride
82+
83+
# Icon must end with two \r
84+
Icon
85+
86+
# Thumbnails
87+
._*
88+
89+
# Files that might appear in the root of a volume
90+
.DocumentRevisions-V100
91+
.fseventsd
92+
.Spotlight-V100
93+
.TemporaryItems
94+
.Trashes
95+
.VolumeIcon.icns
96+
.com.apple.timemachine.donotpresent
97+
98+
# Directories potentially created on remote AFP share
99+
.AppleDB
100+
.AppleDesktop
101+
Network Trash Folder
102+
Temporary Items
103+
.apdisk
104+
### JetBrains template
105+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
106+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
107+
108+
.idea/
109+
110+
# CMake
111+
cmake-build-debug/
112+
cmake-build-release/
113+
114+
# File-based project format
115+
*.iws
116+
117+
# IntelliJ
118+
out/
119+
120+
# mpeltonen/sbt-idea plugin
121+
.idea_modules/
122+
123+
# JIRA plugin
124+
atlassian-ide-plugin.xml
125+
126+
# Crashlytics plugin (for Android Studio and IntelliJ)
127+
com_crashlytics_export_strings.xml
128+
crashlytics.properties
129+
crashlytics-build.properties
130+
fabric.properties
131+
132+
# Test data
133+
/lib/provider/opencv/__mocks__/output.jpg
134+
/asdf.jpg
135+
/foo_asdf_bar.jpg
136+
/asdf.png
137+
/asdf_bar.jpg
138+
/foo_asdf.jpg
139+
/.scratch/
140+
docs
141+
scratch.js
142+
debug.js

0 commit comments

Comments
 (0)