File tree Expand file tree Collapse file tree 15 files changed +623
-0
lines changed
Expand file tree Collapse file tree 15 files changed +623
-0
lines changed Original file line number Diff line number Diff line change 1+ # Auto detect text files and perform LF normalization
2+ * text =auto
Original file line number Diff line number Diff line change 1+ # FS Project
2+ package-lock.json
3+
4+ # Logs
5+ logs
6+ * .log
7+ npm-debug.log *
8+ yarn-debug.log *
9+ yarn-error.log *
10+ lerna-debug.log *
11+ .pnpm-debug.log *
12+
13+ # Diagnostic reports (https://nodejs.org/api/report.html)
14+ report. [0-9 ]* . [0-9 ]* . [0-9 ]* . [0-9 ]* .json
15+
16+ # Runtime data
17+ pids
18+ * .pid
19+ * .seed
20+ * .pid.lock
21+
22+ # Directory for instrumented libs generated by jscoverage/JSCover
23+ lib-cov
24+
25+ # Coverage directory used by tools like istanbul
26+ coverage
27+ * .lcov
28+
29+ # nyc test coverage
30+ .nyc_output
31+
32+ # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
33+ .grunt
34+
35+ # Bower dependency directory (https://bower.io/)
36+ bower_components
37+
38+ # node-waf configuration
39+ .lock-wscript
40+
41+ # Compiled binary addons (https://nodejs.org/api/addons.html)
42+ build /Release
43+
44+ # Dependency directories
45+ node_modules /
46+ jspm_packages /
47+
48+ # Snowpack dependency directory (https://snowpack.dev/)
49+ web_modules /
50+
51+ # TypeScript cache
52+ * .tsbuildinfo
53+
54+ # Optional npm cache directory
55+ .npm
56+
57+ # Optional eslint cache
58+ .eslintcache
59+
60+ # Microbundle cache
61+ .rpt2_cache /
62+ .rts2_cache_cjs /
63+ .rts2_cache_es /
64+ .rts2_cache_umd /
65+
66+ # Optional REPL history
67+ .node_repl_history
68+
69+ # Output of 'npm pack'
70+ * .tgz
71+
72+ # Yarn Integrity file
73+ .yarn-integrity
74+
75+ # dotenv environment variables file
76+ .env
77+ .env.test
78+ .env.production
79+
80+ # parcel-bundler cache (https://parceljs.org/)
81+ .cache
82+ .parcel-cache
83+
84+ # Next.js build output
85+ .next
86+ out
87+
88+ # Nuxt.js build / generate output
89+ .nuxt
90+ dist
91+
92+ # Gatsby files
93+ .cache /
94+ # Comment in the public line in if your project uses Gatsby and not Next.js
95+ # https://nextjs.org/blog/next-9-1#public-directory-support
96+ # public
97+
98+ # vuepress build output
99+ .vuepress /dist
100+
101+ # Serverless directories
102+ .serverless /
103+
104+ # FuseBox cache
105+ .fusebox /
106+
107+ # DynamoDB Local files
108+ .dynamodb /
109+
110+ # TernJS port file
111+ .tern-port
112+
113+ # Stores VSCode versions used for testing VSCode extensions
114+ .vscode-test
115+
116+ # yarn v2
117+ .yarn /cache
118+ .yarn /unplugged
119+ .yarn /build-state.yml
120+ .yarn /install-state.gz
121+ .pnp. *
Original file line number Diff line number Diff line change 1+ {
2+ "typescript.tsdk" : " node_modules\\ typescript\\ lib"
3+ }
Original file line number Diff line number Diff line change 1+ # FS22_Example
2+
3+ TypeScript-to-Lua example project for Farming Simulator 2022.
4+
5+ Based off of [ loki79uk/FS22_FreeLabour] ( https://github.com/loki79uk/FS22_FreeLabour )
Original file line number Diff line number Diff line change 1+ <?xml version =" 1.0" encoding =" utf-8" standalone =" no" ?>
2+ <modDesc descVersion =" 61" >
3+ <author >loki_79 and Zed</author >
4+ <version >1.0.0.0</version >
5+ <title >
6+ <en >FreeLabour</en >
7+ </title >
8+ <description >
9+ <en >FreeLabour written in TypeScript</en >
10+ </description >
11+ <multiplayer supported =" true" />
12+ <iconFilename >modIcon.dds</iconFilename >
13+ <extraSourceFiles >
14+ <sourceFile filename =" main.lua" />
15+ </extraSourceFiles >
16+ <dependencies >
17+ <dependency >a050_FS22_TSTL_Library</dependency >
18+ </dependencies >
19+ </modDesc >
Original file line number Diff line number Diff line change 1+ {
2+ "$schema" : " .\\ scripts\\ configSchema.json" ,
3+ "buildArchive" : true ,
4+ "minifyScripts" : false ,
5+
6+ "fsUserDir" : " C:\\ Users\\ Z-Machine\\ Documents\\ My Games\\ FarmingSimulator2022" ,
7+ "log" : " log.txt" ,
8+
9+ "fsModDir" : " C:\\ Users\\ Z-Machine\\ Documents\\ My Games\\ FarmingSimulator2022\\ mods" ,
10+ "modName" : " FS22_FreeLabour" ,
11+
12+ "fsGameDir" : " Z:\\ !games\\ Farming Simulator 22" ,
13+ "fsGameBin" : " x64\\ FarmingSimulator2022Game.exe" ,
14+ "launchOptions" : [
15+ " -autoStartSavegameId 3" ,
16+ " -mpDebuggable"
17+ ]
18+ }
Original file line number Diff line number Diff line change 1+ {
2+ "name" : " fs22_example" ,
3+ "version" : " 1.0.0" ,
4+ "description" : " " ,
5+ "main" : " ./src/main.ts" ,
6+ "scripts" : {
7+ "bundle" : " ts-node ./scripts/bundle.ts" ,
8+ "build" : " npm run validate:xml && npm run bundle" ,
9+ "build:test" : " npm run build && npm run game" ,
10+ "game" : " ts-node ./scripts/runGame.ts" ,
11+ "validate:xml" : " ts-node ./scripts/validate.ts"
12+ },
13+ "author" : " " ,
14+ "license" : " " ,
15+ "devDependencies" : {
16+ "@types/adm-zip" : " ^0.4.34" ,
17+ "@types/fs-extra" : " ^9.0.13" ,
18+ "@types/node" : " ^16.11.10" ,
19+ "adm-zip" : " ^0.5.9" ,
20+ "fast-xml-parser" : " ^4.0.0-beta.2" ,
21+ "fs-extra" : " ^10.0.0" ,
22+ "lua-types" : " ^2.10.1" ,
23+ "luamin" : " ^1.0.4" ,
24+ "ts-node" : " ^10.4.0" ,
25+ "typescript-to-lua" : " ^1.2.0"
26+ },
27+ "dependencies" : {
28+ "typescript" : " ^4.5.2"
29+ }
30+ }
Original file line number Diff line number Diff line change 1+ import { execSync } from "child_process" ;
2+ import * as utils from "./utils" ;
3+
4+ ( function ( ) {
5+ const args : Set < string > = new Set ( ) ;
6+ for ( let i = 2 ; i < process . argv . length ; i ++ ) {
7+ const arg = process . argv [ i ] ;
8+ console . log ( `${ i } : ${ arg } ` ) ;
9+ args . add ( arg ) ;
10+ }
11+
12+ const projectConfig = utils . fetchProjectConfig ( ) ;
13+
14+ if ( args . has ( "-minify" ) )
15+ projectConfig . minifyScripts = true ;
16+
17+ if ( args . has ( "-archive" ) )
18+ projectConfig . buildArchive = true ;
19+
20+ console . info ( 'Bundling mod...' )
21+ const modBundled = utils . bundleMod ( projectConfig ) ;
22+ if ( ! modBundled ) {
23+ console . error ( `Failed to bundle mod.` ) ;
24+ return ;
25+ }
26+
27+ console . info ( 'Installing mod...' )
28+ const modInstalled = utils . installMod ( projectConfig ) ;
29+ if ( ! modInstalled ) {
30+ console . error ( `Failed to install mod.` )
31+ return ;
32+ }
33+ } ) ( ) ;
Original file line number Diff line number Diff line change 1+ {
2+ "$schema" : " http://json-schema.org/schema" ,
3+ "$title" : " Project Config" ,
4+ "type" : " object" ,
5+ "description" : " the project's configuration file" ,
6+ "properties" : {
7+ "buildArchive" : {
8+ "type" : " boolean" ,
9+ "description" : " Should the mod be bundled into an archive?" ,
10+ "default" : false
11+ },
12+ "minifyScripts" : {
13+ "type" : " boolean" ,
14+ "description" : " Should the mod's scripts be minified during bundling?" ,
15+ "default" : false
16+ },
17+ "fsUserDir" : {
18+ "type" : " string"
19+ },
20+ "log" : {
21+ "type" : " string" ,
22+ "description" : " filename of the log file"
23+ },
24+ "fsModDir" : {
25+ "type" : " string"
26+ },
27+ "modName" : {
28+ "type" : " string" ,
29+ "description" : " The name of the mod used when bundling"
30+ },
31+ "fsGameDir" : {
32+ "type" : " string"
33+ },
34+ "fsGameBin" : {
35+ "type" : " string"
36+ }
37+ }
38+ }
You can’t perform that action at this time.
0 commit comments