{"_id":"factoriomod-debug","_rev":"47-0a5e1818ae04843d5c665b66173dae04","name":"factoriomod-debug","dist-tags":{"latest":"2.1.9"},"versions":{"1.1.24":{"name":"factoriomod-debug","version":"1.1.24","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.24","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"aa48a1f538c69ed419b182365af43c9fb2b543e8","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.24.tgz","fileCount":33,"integrity":"sha512-DDxuvSSAzLbBSfFDjQJWPagxtXdNC4oYxpWp6E3m6jbHTrGg7fz+RQQipQemVH1KfaBda0UC1DjBxnqV/5qbzQ==","signatures":[{"sig":"MEUCIBcszOrd7wCQ+B0mNAZUymmzdq/3IBaXcfbJCQQZViX/AiEAruEyKOP4D4ZU4RX3gDbUr54cC600qWhxlxJ/zkN0IC8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1773316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjj3bHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrEdQ//bQknZ+o+WisNJ//bXOO3HmSaq+3eGj0EzIrC6oq7sqwi+rxC\r\nYiqfc3vUFLH/0kMrXZb4AOdzcBw2OuGjRy6NQp1pwuShQCV7vrA5dqsKp4So\r\nnb/ZZ7KXOvt357JvUs8TdovAagqxDQncZjg386YymDMvhvh0R1OX2Me+k9z7\r\ntuB8+XwmvN9jBPErCqcW/KtZ2Oey2kpNjCKCCXgY9QTm1GqKt4s0EwsmpwMc\r\nDGsDLNNP5PdkluqWU6PX+bQEG3qaLnEHdUAp3mI5idgWk6VCNEitw8/exRtG\r\nQZzDPmYYchCILVV6fRHxsWFdMdZfQs9hoVpwLZ/kuDTbZCNn4Ek4RwrrJ1za\r\nClZWprb4rRHdY0lqxtZsHIHs2TPppuXUaJQNR5weFKSxPWQty7SmZ714WFqC\r\n8OcUg/drLQJw7lAIeO94mHVyrgxq/rlMK6b97xULOOSW5+2Alf7CFVL1rIg7\r\n1CxqMecBzgCua0FIgLsAK1wRqLvW+9SXq5vmL+2kHEwfxsCDqzHYglgLp6MO\r\n0c3rkSrqXPEt0YFLhw+c2qABOLFZOJXbO53bjiAkuL34DcUMPveXXAVexw+2\r\ntdrdbR59QRAK8+TjWwsARt3rB3N7R9DUgiHwRS6PHQG0HDp9w5IXafutSsC6\r\nMmO3i3sPF0uA5G13NXbnA3qHSHIpf1yiou0=\r\n=UU3z\r\n-----END PGP SIGNATURE-----\r\n"},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=16","vscode":"^1.66.0"},"gitHead":"9ff41dd263f333fa2a7ac64e055f1163c40c6d70","scripts":{"lint":"eslint src --ext ts","test":"npm run typecheck && npm run lint","stats":"npm run esbuild -- --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"8.7.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"checkGlobals":{"type":["boolean","array"],"items":{"type":"string"},"description":"Check for assignment to undefined globals. Boolean to enable/disable for all mods, or array of mod names (`#settings` and `#data` for settings/data stage)."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.portal.apikey":{"type":"string","scope":"machine-overridable","deprecationMessage":"This setting is no longer used. API Keys are now stored in secrets storage."},"factorio.portal.saveKey":{"type":"boolean","default":true,"description":"Prompt to save newly entered API key to secrets storage"},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.docs.useInteger":{"type":"boolean","default":true,"description":"Use lua `integer` type for specialized integer types"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.numberStyle":{"enum":["aliasNative","alias","class"],"default":"aliasNative","description":"Type of annotations to generate for specialized number types","enumDescriptions":["Use `alias` for numeric types which exactly match `number` (or `integer` if enabled), and `class` otherwise","Use `alias` for all numeric types","Use `class` for all numeric types"]},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.docs.signedUMinus":{"type":"boolean","default":true,"description":"Convert uint to int in builtin unary minus operator"},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.docs.docLinksVerion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.builtinOperators":{"type":"boolean","default":true,"description":"Enable generating operators for builtin classes"},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.docs.builtinCustomStyle":{"type":"object","description":"Customize the generation of annotations for builtin types","additionalProperties":{"type":"object","oneOf":[{"properties":{"kind":{"const":"none"}}},{"required":["kind","base"],"properties":{"base":{"type":"string","examples":["number","integer"],"description":"The base type this alias refers to"},"kind":{"const":"alias"}}},{"required":["kind","base"],"properties":{"base":{"type":"array","items":{"type":"string","examples":["number","integer"]},"description":"The base classes, if any, for this class"},"kind":{"const":"class"},"operators":{"type":"boolean","description":"If this class should have math operators"}}}],"required":["kind"],"properties":{"kind":{"enum":["none","alias","class"],"description":"The kind of annotation to use for this type"}}}},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"19.1.0","_hasShrinkwrap":false,"devDependencies":{"d3":"^7.6.1","ini":"^1.3.8","eslint":"^8.12.0","rimraf":"^3.0.2","semver":"^7.3.7","esbuild":"^0.14.49","ts-node":"^10.9.1","archiver":"^5.3.0","@types/d3":"^7.4.0","commander":"^9.4.0","form-data":"^4.0.0","tree-kill":"^1.2.2","@types/ini":"^1.3.31","node-fetch":"^2.6.7","typescript":"^4.7.4","vscode-uri":"^3.0.3","@types/node":"^17.0.23","@vscode/vsce":"^2.7.0","jsonc-parser":"^3.1.0","readdir-glob":"^1.1.2","@types/semver":"^7.3.9","@types/vscode":"^1.66.0","@types/buffers":"^0.1.31","@types/request":"^2.48.8","d3-flame-graph":"^4.1.3","@types/archiver":"^3.1.1","@types/node-fetch":"^2.6.1","esbuild-visualizer":"^0.3.1","@vscode/debugadapter":"^1.55.1","@types/vscode-webview":"^1.57.0","vscode-languageclient":"^8.0.2","vscode-languageserver":"^8.0.2","@typescript-eslint/parser":"^5.17.0","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.17.0","@vscode/debugadapter-testsupport":"^1.55.1","vscode-languageserver-textdocument":"^1.0.5"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","onCommand:factorio.openchangelog","onCommand:factorio.datestamp","onCommand:factorio.package","onCommand:factorio.version","onCommand:factorio.upload","onCommand:factorio.publish","onCommand:factorio.clearApiKey","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","onLanguage:factorio-locale","onLanguage:factorio-changelog","onView:factoriomods"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.24_1670346439338_0.11402191802795247","host":"s3://npm-registry-packages"}},"1.1.25":{"name":"factoriomod-debug","version":"1.1.25","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.25","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"4633e43567e8346cc403eada1d5200259211186e","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.25.tgz","fileCount":33,"integrity":"sha512-XSuRg6j5K4RTAgCb8lcTwJj7T93DLbPl7cdpUnSeK5WRurUsRnBjBEPMaj6p8brxNQV860F/3IlApr0n+hNPXg==","signatures":[{"sig":"MEQCIFmHazis1nKjiCNRYsLXhr8e3jE3EBzNQSX41dzSAMfyAiB7rT3489nLe4TNOdpkkXFM2mIPCOADINl8fStdk0epEA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1773397,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjj4O8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoP3w/+PxOLfzJm1+s8h0Pha6zCnY5uyjJ89JbzxSPhA1/4dgTISs/g\r\nLHKtzRZE38phYi8q4gfr+4DX1LaNBUB+GEyBmNZHT7/hcseJ3JDpYV+3enfJ\r\nxQaSgstMe2eXxCwg+DhjKnEsX9DmzwXgn0//JntihGBXaLq3Tn5cHcktD/B2\r\nIgsyNrWFr29X1O+X6r5wivEHCTcQMnqS2v95QnHeot3Z0pTV5/48DFXjVH4M\r\nf+tCLZEOF1ZieLh2fP+H+0CWIe/loDd9LzB6P2oYFUcjdMixDPhuU6bWiZEc\r\nNkuEzk4dS2iPmFywxeN1gYAgPnBiqmmKJ8KaP8QSKBMFJcjsXuDocf4C9IJj\r\n929skgqhNYyqqYiAopQymI+jttTyKItjXzkiKbIBDWkO5PW4vLzoA0sjIYJm\r\nqu1tjRbIaJdZdL9wTYcIYnDPXq+RK3exLuv8A9qKEOCUDN2m1DF3tCzKlqUL\r\nlqObnFxfdWxAjiWwyGUiOOMKdAKUXUqij4L9y040hRqfUffbnlHe91OQdB1n\r\nWoPfufKEvO5BhKgfTUO9WGbiqCp40gPsnQUjLMP7rh/FL9+OA+fEAtHw+Pbn\r\n+QeZXFIzedj3UkIbijeXCo9PG3IWZf8sTtvOF898iw9fhu0HXHyGoo2s1o7y\r\n7QCAursX5zVR/b+HqdkOLt90hgLrQJz/vbc=\r\n=SOjh\r\n-----END PGP SIGNATURE-----\r\n"},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=16","vscode":"^1.66.0"},"gitHead":"4a4b4bf12d534ae5e3c57edeadf36c03fe89c530","scripts":{"lint":"eslint src --ext ts","test":"npm run typecheck && npm run lint","stats":"npm run esbuild -- --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"8.7.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"checkGlobals":{"type":["boolean","array"],"items":{"type":"string"},"description":"Check for assignment to undefined globals. Boolean to enable/disable for all mods, or array of mod names (`#settings` and `#data` for settings/data stage)."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.portal.apikey":{"type":"string","scope":"machine-overridable","deprecationMessage":"This setting is no longer used. API Keys are now stored in secrets storage."},"factorio.portal.saveKey":{"type":"boolean","default":true,"description":"Prompt to save newly entered API key to secrets storage"},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.docs.useInteger":{"type":"boolean","default":true,"description":"Use lua `integer` type for specialized integer types"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.numberStyle":{"enum":["aliasNative","alias","class"],"default":"aliasNative","description":"Type of annotations to generate for specialized number types","enumDescriptions":["Use `alias` for numeric types which exactly match `number` (or `integer` if enabled), and `class` otherwise","Use `alias` for all numeric types","Use `class` for all numeric types"]},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.docs.signedUMinus":{"type":"boolean","default":true,"description":"Convert uint to int in builtin unary minus operator"},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.docs.docLinksVerion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.builtinOperators":{"type":"boolean","default":true,"description":"Enable generating operators for builtin classes"},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.docs.builtinCustomStyle":{"type":"object","description":"Customize the generation of annotations for builtin types","additionalProperties":{"type":"object","oneOf":[{"properties":{"kind":{"const":"none"}}},{"required":["kind","base"],"properties":{"base":{"type":"string","examples":["number","integer"],"description":"The base type this alias refers to"},"kind":{"const":"alias"}}},{"required":["kind","base"],"properties":{"base":{"type":"array","items":{"type":"string","examples":["number","integer"]},"description":"The base classes, if any, for this class"},"kind":{"const":"class"},"operators":{"type":"boolean","description":"If this class should have math operators"}}}],"required":["kind"],"properties":{"kind":{"enum":["none","alias","class"],"description":"The kind of annotation to use for this type"}}}},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"19.1.0","_hasShrinkwrap":false,"devDependencies":{"d3":"^7.6.1","ini":"^1.3.8","eslint":"^8.12.0","rimraf":"^3.0.2","semver":"^7.3.7","esbuild":"^0.14.49","ts-node":"^10.9.1","archiver":"^5.3.0","@types/d3":"^7.4.0","commander":"^9.4.0","form-data":"^4.0.0","tree-kill":"^1.2.2","@types/ini":"^1.3.31","node-fetch":"^2.6.7","typescript":"^4.7.4","vscode-uri":"^3.0.3","@types/node":"^17.0.23","@vscode/vsce":"^2.7.0","jsonc-parser":"^3.1.0","readdir-glob":"^1.1.2","@types/semver":"^7.3.9","@types/vscode":"^1.66.0","@types/buffers":"^0.1.31","@types/request":"^2.48.8","d3-flame-graph":"^4.1.3","@types/archiver":"^3.1.1","@types/node-fetch":"^2.6.1","esbuild-visualizer":"^0.3.1","@vscode/debugadapter":"^1.55.1","@types/vscode-webview":"^1.57.0","vscode-languageclient":"^8.0.2","vscode-languageserver":"^8.0.2","@typescript-eslint/parser":"^5.17.0","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.17.0","@vscode/debugadapter-testsupport":"^1.55.1","vscode-languageserver-textdocument":"^1.0.5"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","onCommand:factorio.openchangelog","onCommand:factorio.datestamp","onCommand:factorio.package","onCommand:factorio.version","onCommand:factorio.upload","onCommand:factorio.publish","onCommand:factorio.clearApiKey","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","onLanguage:factorio-locale","onLanguage:factorio-changelog","onView:factoriomods"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.25_1670349755819_0.8377274308927467","host":"s3://npm-registry-packages"}},"1.1.26":{"name":"factoriomod-debug","version":"1.1.26","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.26","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"bc0e380e4735e6a2ea678140f63befc130811fa3","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.26.tgz","fileCount":33,"integrity":"sha512-jCYedb14fzt0I8bNCuldO6dL0pf4nraU0t7juJyMY3e4U4TKn6GHStstZJRLkBiWcXlLTS7c4KcY3tCklNjkQg==","signatures":[{"sig":"MEYCIQCg+JOyNBy8AYetNRaI0GO8AL/7WCi80Z2tsLriD+n8lwIhAOmVqCsNqE9PT/HDSBdSl7R28MNSBcwsDPdB3TgCs+Z4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1773509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjj4fgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPGw//c6zCH2TuYpvQg6+M0PMCOCrHmDBAVlgVo0j52I2e3j8MOlxc\r\nR0GoWDwktl7eYj+DgRZNoS4l4xClhGpGS/MaVu8omjVjj0ffSdnbhSjzMIJ1\r\n4CoBSuYmcKvqYmxQ4dwcQfFHXE44T20YHwcGIY+ycoZyHHIzTdiGou05hPjf\r\nG1X+dNo0NQEwbRYm8gSdFhx6ow+UmJmpClv36I+Yangub4ZvjpnX+2RMCC3f\r\nkMamWHCsrXx8sckTDYtFlRUujlzltZhY0Qy6Kd/66oMlgH/s5H/er3AWTulL\r\n46OyIgYV/8J5kyKq5Du6QjwUh29HXhgFd/EORl7APv2R6tLBd38z40ot7yha\r\nvMtbEYeJ3+eqIph9IF24NES/SMwcVuVgHT543Vy8953r/A3Q6h5B78cLG5ro\r\n0iR6+JAJ9x1iNtXjceIeEh+JpBMROM4vV6U3sOVH6nNB5N0yetYsd2ztnvzc\r\nT5dL++nwD6JoqIl5zsDCCLAyJ0m9YXOcg8vwCpFCtxsrPafItx7QG4FGeiLM\r\nrMjLyY+kff1e4qesuDvpD+0BeujWsCfwzoJwTooySyVA2a+f0oeQDFijYnRG\r\nKLDwiovCQjAhRWowaYRPGW9PUrWjldjlzXuwiZ4MbOpcgSmLmGidTi83WEB6\r\nndS0oXVTX0QPgP3GkbvvTfsPWOihztRqllw=\r\n=wCKx\r\n-----END PGP SIGNATURE-----\r\n"},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=16","vscode":"^1.66.0"},"gitHead":"168e9db1828fbbdf72df75abd168a30d61b138d5","scripts":{"lint":"eslint src --ext ts","test":"npm run typecheck && npm run lint","stats":"npm run esbuild -- --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"8.7.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"checkGlobals":{"type":["boolean","array"],"items":{"type":"string"},"description":"Check for assignment to undefined globals. Boolean to enable/disable for all mods, or array of mod names (`#settings` and `#data` for settings/data stage)."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.portal.apikey":{"type":"string","scope":"machine-overridable","deprecationMessage":"This setting is no longer used. API Keys are now stored in secrets storage."},"factorio.portal.saveKey":{"type":"boolean","default":true,"description":"Prompt to save newly entered API key to secrets storage"},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.docs.useInteger":{"type":"boolean","default":true,"description":"Use lua `integer` type for specialized integer types"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.numberStyle":{"enum":["aliasNative","alias","class"],"default":"aliasNative","description":"Type of annotations to generate for specialized number types","enumDescriptions":["Use `alias` for numeric types which exactly match `number` (or `integer` if enabled), and `class` otherwise","Use `alias` for all numeric types","Use `class` for all numeric types"]},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.docs.signedUMinus":{"type":"boolean","default":true,"description":"Convert uint to int in builtin unary minus operator"},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.docs.docLinksVerion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.builtinOperators":{"type":"boolean","default":true,"description":"Enable generating operators for builtin classes"},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.docs.builtinCustomStyle":{"type":"object","description":"Customize the generation of annotations for builtin types","additionalProperties":{"type":"object","oneOf":[{"properties":{"kind":{"const":"none"}}},{"required":["kind","base"],"properties":{"base":{"type":"string","examples":["number","integer"],"description":"The base type this alias refers to"},"kind":{"const":"alias"}}},{"required":["kind","base"],"properties":{"base":{"type":"array","items":{"type":"string","examples":["number","integer"]},"description":"The base classes, if any, for this class"},"kind":{"const":"class"},"operators":{"type":"boolean","description":"If this class should have math operators"}}}],"required":["kind"],"properties":{"kind":{"enum":["none","alias","class"],"description":"The kind of annotation to use for this type"}}}},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"19.1.0","_hasShrinkwrap":false,"devDependencies":{"d3":"^7.6.1","ini":"^1.3.8","eslint":"^8.12.0","rimraf":"^3.0.2","semver":"^7.3.7","esbuild":"^0.14.49","ts-node":"^10.9.1","archiver":"^5.3.0","@types/d3":"^7.4.0","commander":"^9.4.0","form-data":"^4.0.0","tree-kill":"^1.2.2","@types/ini":"^1.3.31","node-fetch":"^2.6.7","typescript":"^4.7.4","vscode-uri":"^3.0.3","@types/node":"^17.0.23","@vscode/vsce":"^2.7.0","jsonc-parser":"^3.1.0","readdir-glob":"^1.1.2","@types/semver":"^7.3.9","@types/vscode":"^1.66.0","@types/buffers":"^0.1.31","@types/request":"^2.48.8","d3-flame-graph":"^4.1.3","@types/archiver":"^3.1.1","@types/node-fetch":"^2.6.1","esbuild-visualizer":"^0.3.1","@vscode/debugadapter":"^1.55.1","@types/vscode-webview":"^1.57.0","vscode-languageclient":"^8.0.2","vscode-languageserver":"^8.0.2","@typescript-eslint/parser":"^5.17.0","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.17.0","@vscode/debugadapter-testsupport":"^1.55.1","vscode-languageserver-textdocument":"^1.0.5"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","onCommand:factorio.openchangelog","onCommand:factorio.datestamp","onCommand:factorio.package","onCommand:factorio.version","onCommand:factorio.upload","onCommand:factorio.publish","onCommand:factorio.clearApiKey","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","onLanguage:factorio-locale","onLanguage:factorio-changelog","onView:factoriomods"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.26_1670350816377_0.024990442506247934","host":"s3://npm-registry-packages"}},"1.1.27":{"name":"factoriomod-debug","version":"1.1.27","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.27","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"a529cc5358e0e9beede79435765769b32b9eef15","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.27.tgz","fileCount":33,"integrity":"sha512-yzEnSdxG6zkAvGYo6/VFh3u1fgWPspq4zKIT8k2b7pzCQm+NuPUgtQdbiCqCY/+FOvETGIr62W+nuhk6UNK55A==","signatures":[{"sig":"MEUCIQCn4B+c6aDK299swYkYF7M/ikAVzVY92pU7vXrf8oCSNwIgYFgzBJz7korYhtRebmW5/p9RAZptjibH+vS3+7b5elY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2516198,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwWZnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr7WhAAl/8bZgLmS42VmdD+lRVfL5xESlsnha9MoxqchwUx8r/Uubjx\r\noJ3bIWVB3ap3kTAQHswTX4M1Xa5WagtQLXulwIzpc9q44651bfXvJaqp/JxG\r\nggnbWAinQ3SuWKc/tXHPHVnCrkU0hXMEomrN11hjYYh+oHhDIQGw8NeHdV74\r\nokE/rQOMPHZuR+d5lb+Qr2LWDgejIg7257+baLciPIR1P+4SwwgG3FjHEP1K\r\nd2E/nsiVCdyFlXVuM2Q022SPot2ghqyigdBO5NacwtMPssqJpeEkGW/+XZmn\r\n5c24AhEcY+oQCdHEgMx31xnZIcYSzy3qMh9wr13sMrXk/Yhuwxgwwr+1Xxsx\r\nSbWZ1LxQuP0jSb+STYmud8Y7zvxJpMhKdMSwWmymKXV/ejOl7Kx2/kE79mcR\r\nBWt58E0PlKEI3TeLaPnF+LICPWcfRVHC474/0FArhlr+8UuUHOh5thjexHy4\r\n5nqbVaeDn33P9COpxaPiRySYL/+1CJ9yyPNEdUqygMIzFDhPxJ8AWFxtvQwI\r\nLMh8VhjWzVKRRlAlMHwZWFI+pNJtlUIcTDhZvCHGor6occzvenUohEFZsJwu\r\nE/gwpnO8yJLBwac3gtSfo8aiEUr8ccsJp3w33MMsibYq6vkHnB2irZXdyOPr\r\n9bBu527JLaMoLoo9rUSqk3P2p3+1n5tT1Lw=\r\n=ix7D\r\n-----END PGP SIGNATURE-----\r\n"},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.66.0"},"gitHead":"0771dc8b99d07a6f151b36579a2e06ad33ac9f73","scripts":{"lint":"eslint src --ext ts","test":"npm run typecheck && npm run lint","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"8.7.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"checkGlobals":{"type":["boolean","array"],"items":{"type":"string"},"description":"Check for assignment to undefined globals. Boolean to enable/disable for all mods, or array of mod names (`#settings` and `#data` for settings/data stage)."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.portal.apikey":{"type":"string","scope":"machine-overridable","deprecationMessage":"This setting is no longer used. API Keys are now stored in secrets storage."},"factorio.portal.saveKey":{"type":"boolean","default":true,"description":"Prompt to save newly entered API key to secrets storage"},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.docs.useInteger":{"type":"boolean","default":true,"description":"Use lua `integer` type for specialized integer types"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.numberStyle":{"enum":["aliasNative","alias","class"],"default":"aliasNative","description":"Type of annotations to generate for specialized number types","enumDescriptions":["Use `alias` for numeric types which exactly match `number` (or `integer` if enabled), and `class` otherwise","Use `alias` for all numeric types","Use `class` for all numeric types"]},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.docs.signedUMinus":{"type":"boolean","default":true,"description":"Convert uint to int in builtin unary minus operator"},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.docs.builtinOperators":{"type":"boolean","default":true,"description":"Enable generating operators for builtin classes"},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.docs.builtinCustomStyle":{"type":"object","description":"Customize the generation of annotations for builtin types","additionalProperties":{"type":"object","oneOf":[{"properties":{"kind":{"const":"none"}}},{"required":["kind","base"],"properties":{"base":{"type":"string","examples":["number","integer"],"description":"The base type this alias refers to"},"kind":{"const":"alias"}}},{"required":["kind","base"],"properties":{"base":{"type":"array","items":{"type":"string","examples":["number","integer"]},"description":"The base classes, if any, for this class"},"kind":{"const":"class"},"operators":{"type":"boolean","description":"If this class should have math operators"}}}],"required":["kind"],"properties":{"kind":{"enum":["none","alias","class"],"description":"The kind of annotation to use for this type"}}}},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"19.3.0","dependencies":{"keytar":"^7.9.0"},"_hasShrinkwrap":false,"devDependencies":{"d3":"^7.8.1","ini":"^3.0.1","mimer":"^2.0.2","eslint":"^8.12.0","remark":"^14.0.2","rimraf":"^4.0.4","semver":"^7.3.7","esbuild":"^0.16.17","ts-node":"^10.9.1","archiver":"^5.3.0","inquirer":"^9.1.4","@types/d3":"^7.4.0","commander":"^9.4.0","tree-kill":"^1.2.2","@types/ini":"^1.3.31","dot-object":"^2.1.4","node-fetch":"^3.3.0","typescript":"^4.7.4","vscode-uri":"^3.0.3","@types/node":"^18.11.18","@vscode/vsce":"^2.7.0","jsonc-parser":"^3.1.0","readdir-glob":"^1.1.2","@types/semver":"^7.3.9","@types/vscode":"^1.66.0","@types/buffers":"^0.1.31","@types/request":"^2.48.8","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.1","@types/inquirer":"^9.0.3","@types/dot-object":"^2.1.2","@types/node-fetch":"^2.6.1","esbuild-visualizer":"^0.4.0","@vscode/debugadapter":"^1.55.1","@types/vscode-webview":"^1.57.0","vscode-languageclient":"^8.0.2","vscode-languageserver":"^8.0.2","@typescript-eslint/parser":"^5.17.0","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.17.0","@vscode/debugadapter-testsupport":"^1.55.1","vscode-languageserver-textdocument":"^1.0.8"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","onCommand:factorio.openchangelog","onCommand:factorio.datestamp","onCommand:factorio.package","onCommand:factorio.version","onCommand:factorio.upload","onCommand:factorio.publish","onCommand:factorio.clearApiKey","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","onLanguage:factorio-locale","onLanguage:factorio-changelog","onView:factoriomods"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.27_1673619047548_0.5814131901167245","host":"s3://npm-registry-packages"}},"1.1.28":{"name":"factoriomod-debug","version":"1.1.28","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.28","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"7c0b4072c0aeaad44e38d03ce543dac78ac6272a","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.28.tgz","fileCount":33,"integrity":"sha512-79+yujQALEDQZ7vMwG75g2+loLKRYxSdZxzEscUIeVoqA0FSIaSWLnXjIcdsgkq500Xj/O6VI8iyoHonHJBkEg==","signatures":[{"sig":"MEUCIQDg0CABGnj9pwxWS5CTNoUKuDfPpbkhr9USkqLCfu0R2QIgDlSMzr/s0pNe8WZTcVBI6BCoH1B/jForztxJRhEoM7Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2516753,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjweglACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoAwQ/+MTHTsXCPe5eYSTia5Gr0asCn7jD2I+1AnoYc/AkmY/YMYT4R\r\nT8jUQmiqY7p7XmKUL96hE2GMcJCOS+zHY+0WRU2Zu1L9h016JzUkZIzS/cAp\r\ndnxUJRmkPSLReEkQIOFPaBEBIMjqcqHHBR3u/+dHoyLlDHxeXf3nBWEFotBL\r\nTlbVtVk0BFNbpfcQugvDFjhAKycrJNRPVaPQEJdJerfhVWZTvZ1TvFvxID3R\r\nEZVO79TfkpYynfyBq3PryShTGn0RI2IP5EoXL+dH9+NXTVNbflcr1PhMc8ba\r\np+lPNSmZo1P+YLhnqqmEVHQGo6elldBiVOzCDkrF40zEWahlYru8x4M0FENr\r\nAJc6whmFlMvUCmlflUDEP7Ss9EajYqYNNGssPFB9xDo/wwhZR/NvHoRssSEb\r\nxduE+BpuqGht8Ge0Bi0MyQ7QFgksLamxnGqspj/qGszt6ZUlahSZZV/MP5kC\r\nzPzmcVrkm2BDzs0Zi0dBGdUPiLwVYfoLwpp9H++gcoJvJtXirLJy7eYf4n1m\r\nHspBD20IFNN9m5cED5fME8jHlqXYfX6Z7B69tRyK/oHV0tFxqzAmaorqgX5b\r\nOi9Dz5PRGFFZrr75nMnfNrfAIrRl+E3x+kqCg/wQyAc6pDkgQ1RcSbpQITkE\r\nlprWXK8hVs2+27jB1wGkDuUXqsgjbSmMIP0=\r\n=Iwwu\r\n-----END PGP SIGNATURE-----\r\n"},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.66.0"},"gitHead":"03059e29dd80d11b2e3da63b5ff8408834dd6bf9","scripts":{"lint":"eslint src --ext ts","test":"npm run typecheck && npm run lint","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"8.7.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"checkGlobals":{"type":["boolean","array"],"items":{"type":"string"},"description":"Check for assignment to undefined globals. Boolean to enable/disable for all mods, or array of mod names (`#settings` and `#data` for settings/data stage)."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.portal.apikey":{"type":"string","scope":"machine-overridable","deprecationMessage":"This setting is no longer used. API Keys are now stored in secrets storage."},"factorio.portal.saveKey":{"type":"boolean","default":true,"description":"Prompt to save newly entered API key to secrets storage"},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.docs.useInteger":{"type":"boolean","default":true,"description":"Use lua `integer` type for specialized integer types"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.numberStyle":{"enum":["aliasNative","alias","class"],"default":"aliasNative","description":"Type of annotations to generate for specialized number types","enumDescriptions":["Use `alias` for numeric types which exactly match `number` (or `integer` if enabled), and `class` otherwise","Use `alias` for all numeric types","Use `class` for all numeric types"]},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.docs.signedUMinus":{"type":"boolean","default":true,"description":"Convert uint to int in builtin unary minus operator"},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.docs.builtinOperators":{"type":"boolean","default":true,"description":"Enable generating operators for builtin classes"},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.docs.builtinCustomStyle":{"type":"object","description":"Customize the generation of annotations for builtin types","additionalProperties":{"type":"object","oneOf":[{"properties":{"kind":{"const":"none"}}},{"required":["kind","base"],"properties":{"base":{"type":"string","examples":["number","integer"],"description":"The base type this alias refers to"},"kind":{"const":"alias"}}},{"required":["kind","base"],"properties":{"base":{"type":"array","items":{"type":"string","examples":["number","integer"]},"description":"The base classes, if any, for this class"},"kind":{"const":"class"},"operators":{"type":"boolean","description":"If this class should have math operators"}}}],"required":["kind"],"properties":{"kind":{"enum":["none","alias","class"],"description":"The kind of annotation to use for this type"}}}},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"19.3.0","dependencies":{"keytar":"^7.9.0"},"_hasShrinkwrap":false,"devDependencies":{"d3":"^7.8.1","ini":"^3.0.1","mimer":"^2.0.2","eslint":"^8.12.0","remark":"^14.0.2","rimraf":"^4.0.4","semver":"^7.3.7","esbuild":"^0.16.17","ts-node":"^10.9.1","archiver":"^5.3.0","inquirer":"^9.1.4","@types/d3":"^7.4.0","commander":"^9.4.0","tree-kill":"^1.2.2","@types/ini":"^1.3.31","dot-object":"^2.1.4","node-fetch":"^3.3.0","typescript":"^4.7.4","vscode-uri":"^3.0.3","@types/node":"^18.11.18","@vscode/vsce":"^2.7.0","jsonc-parser":"^3.1.0","readdir-glob":"^1.1.2","@types/semver":"^7.3.9","@types/vscode":"^1.66.0","@types/buffers":"^0.1.31","@types/request":"^2.48.8","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.1","@types/inquirer":"^9.0.3","@types/dot-object":"^2.1.2","@types/node-fetch":"^2.6.1","esbuild-visualizer":"^0.4.0","@vscode/debugadapter":"^1.55.1","@types/vscode-webview":"^1.57.0","vscode-languageclient":"^8.0.2","vscode-languageserver":"^8.0.2","@typescript-eslint/parser":"^5.17.0","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.17.0","@vscode/debugadapter-testsupport":"^1.55.1","vscode-languageserver-textdocument":"^1.0.8"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","onCommand:factorio.openchangelog","onCommand:factorio.datestamp","onCommand:factorio.package","onCommand:factorio.version","onCommand:factorio.upload","onCommand:factorio.publish","onCommand:factorio.clearApiKey","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","onLanguage:factorio-locale","onLanguage:factorio-changelog","onView:factoriomods"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.28_1673652261099_0.41228819821577933","host":"s3://npm-registry-packages"}},"1.1.29":{"name":"factoriomod-debug","version":"1.1.29","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.29","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"9415e19fb19a4f6ee5014d16d36380eb676c0309","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.29.tgz","fileCount":41,"integrity":"sha512-LM85yXSXkUbLylpyvpkMNT6ZKxXEZ6SuRR4yPQVxQ/PX4tRvcScXRYr0hAOBTBCxZnWbDdiFyHW41dHniF9AdA==","signatures":[{"sig":"MEUCIQD8D513AZyYOGn8CSm3MvNb1r6D2uNLPKphu+m90d7sgQIgX6BUxG3lvOF3yH2LybK1YJlAWk8iJ5UJdIxRMMxA3tk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2854899},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.66.0"},"gitHead":"798e710e4a7c5aac68003cb48a0039c367daa62c","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"8.7.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"checkGlobals":{"type":["boolean","array"],"items":{"type":"string"},"description":"Check for assignment to undefined globals. Boolean to enable/disable for all mods, or array of mod names (`#settings` and `#data` for settings/data stage)."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.docs.useInteger":{"type":"boolean","default":true,"description":"Use lua `integer` type for specialized integer types"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.numberStyle":{"enum":["aliasNative","alias","class"],"default":"aliasNative","description":"Type of annotations to generate for specialized number types","enumDescriptions":["Use `alias` for numeric types which exactly match `number` (or `integer` if enabled), and `class` otherwise","Use `alias` for all numeric types","Use `class` for all numeric types"]},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.docs.signedUMinus":{"type":"boolean","default":true,"description":"Convert uint to int in builtin unary minus operator"},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.docs.builtinOperators":{"type":"boolean","default":true,"description":"Enable generating operators for builtin classes"},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.docs.builtinCustomStyle":{"type":"object","description":"Customize the generation of annotations for builtin types","additionalProperties":{"type":"object","oneOf":[{"properties":{"kind":{"const":"none"}}},{"required":["kind","base"],"properties":{"base":{"type":"string","examples":["number","integer"],"description":"The base type this alias refers to"},"kind":{"const":"alias"}}},{"required":["kind","base"],"properties":{"base":{"type":"array","items":{"type":"string","examples":["number","integer"]},"description":"The base classes, if any, for this class"},"kind":{"const":"class"},"operators":{"type":"boolean","description":"If this class should have math operators"}}}],"required":["kind"],"properties":{"kind":{"enum":["none","alias","class"],"description":"The kind of annotation to use for this type"}}}},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"19.9.0","dependencies":{"keytar":"^7.9.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.12.0","d3":"^7.8.1","ini":"^3.0.1","chai":"^4.3.7","mimer":"^2.0.2","mocha":"^10.2.0","eslint":"^8.12.0","remark":"^14.0.2","rimraf":"^4.0.4","semver":"^7.3.7","esbuild":"^0.17.4","ts-node":"^10.9.1","archiver":"^5.3.0","inquirer":"^9.1.4","@types/d3":"^7.4.0","commander":"^10.0.0","tree-kill":"^1.2.2","@types/ini":"^1.3.31","dot-object":"^2.1.4","node-fetch":"^3.3.0","typescript":"^4.7.4","vscode-uri":"^3.0.3","@types/chai":"^4.3.4","@types/node":"^18.11.18","@types/mocha":"^10.0.1","@vscode/vsce":"^2.7.0","jsonc-parser":"^3.1.0","readdir-glob":"^1.1.2","@types/semver":"^7.3.9","@types/vscode":"^1.66.0","@types/buffers":"^0.1.31","@types/request":"^2.48.8","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.1","@types/inquirer":"^9.0.3","@vscode/codicons":"^0.0.32","chai-as-promised":"^7.1.1","@types/dot-object":"^2.1.2","@types/node-fetch":"^2.6.1","esbuild-visualizer":"^0.4.0","@vscode/debugadapter":"^1.55.1","@types/vscode-webview":"^1.57.0","vscode-languageclient":"^8.0.2","vscode-languageserver":"^8.0.2","@types/chai-as-promised":"^7.1.5","@typescript-eslint/parser":"^5.17.0","@vscode/webview-ui-toolkit":"^1.2.1","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.17.0","@vscode/debugadapter-testsupport":"^1.55.1","vscode-languageserver-textdocument":"^1.0.8"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.29_1683647829359_0.5645297918476986","host":"s3://npm-registry-packages"}},"1.1.30":{"name":"factoriomod-debug","version":"1.1.30","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.30","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"07af15255bd4fc4208d47444963b2b6350c9b179","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.30.tgz","fileCount":41,"integrity":"sha512-tfi7J4jdeeITj/aE3keXshH4pfcEW/CHifYQ4XWMEjZBTxQXT4nDe6yrwxUs6f7PDBvNCkUIoWq4fc6Gws0e6w==","signatures":[{"sig":"MEYCIQD34QSI79PvX19Q3ZOGN5JpDmbfCPHGpzfFLgH0RLddwQIhAJxKBPvfkHCGZ3jyCfBrQhMc2Rgfq7i5Ll//kLnDQURz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2855982},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.66.0"},"gitHead":"c5781abb941f995414bd120748df80d21b08b9b1","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"8.7.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"checkGlobals":{"type":["boolean","array"],"items":{"type":"string"},"description":"Check for assignment to undefined globals. Boolean to enable/disable for all mods, or array of mod names (`#settings` and `#data` for settings/data stage)."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.docs.useInteger":{"type":"boolean","default":true,"description":"Use lua `integer` type for specialized integer types"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.numberStyle":{"enum":["aliasNative","alias","class"],"default":"aliasNative","description":"Type of annotations to generate for specialized number types","enumDescriptions":["Use `alias` for numeric types which exactly match `number` (or `integer` if enabled), and `class` otherwise","Use `alias` for all numeric types","Use `class` for all numeric types"]},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.docs.signedUMinus":{"type":"boolean","default":true,"description":"Convert uint to int in builtin unary minus operator"},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.docs.builtinOperators":{"type":"boolean","default":true,"description":"Enable generating operators for builtin classes"},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.docs.builtinCustomStyle":{"type":"object","description":"Customize the generation of annotations for builtin types","additionalProperties":{"type":"object","oneOf":[{"properties":{"kind":{"const":"none"}}},{"required":["kind","base"],"properties":{"base":{"type":"string","examples":["number","integer"],"description":"The base type this alias refers to"},"kind":{"const":"alias"}}},{"required":["kind","base"],"properties":{"base":{"type":"array","items":{"type":"string","examples":["number","integer"]},"description":"The base classes, if any, for this class"},"kind":{"const":"class"},"operators":{"type":"boolean","description":"If this class should have math operators"}}}],"required":["kind"],"properties":{"kind":{"enum":["none","alias","class"],"description":"The kind of annotation to use for this type"}}}},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"19.9.0","dependencies":{"keytar":"^7.9.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.12.0","d3":"^7.8.1","ini":"^3.0.1","chai":"^4.3.7","mimer":"^2.0.2","mocha":"^10.2.0","eslint":"^8.12.0","remark":"^14.0.2","rimraf":"^4.0.4","semver":"^7.3.7","esbuild":"^0.17.4","ts-node":"^10.9.1","archiver":"^5.3.0","inquirer":"^9.1.4","@types/d3":"^7.4.0","commander":"^10.0.0","tree-kill":"^1.2.2","@types/ini":"^1.3.31","dot-object":"^2.1.4","node-fetch":"^3.3.0","typescript":"^4.7.4","vscode-uri":"^3.0.3","@types/chai":"^4.3.4","@types/node":"^18.11.18","@types/mocha":"^10.0.1","@vscode/vsce":"^2.7.0","jsonc-parser":"^3.1.0","readdir-glob":"^1.1.2","@types/semver":"^7.3.9","@types/vscode":"^1.66.0","@types/buffers":"^0.1.31","@types/request":"^2.48.8","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.1","@types/inquirer":"^9.0.3","@vscode/codicons":"^0.0.32","chai-as-promised":"^7.1.1","@types/dot-object":"^2.1.2","@types/node-fetch":"^2.6.1","esbuild-visualizer":"^0.4.0","@vscode/debugadapter":"^1.55.1","@types/vscode-webview":"^1.57.0","vscode-languageclient":"^8.0.2","vscode-languageserver":"^8.0.2","@types/chai-as-promised":"^7.1.5","@typescript-eslint/parser":"^5.17.0","@vscode/webview-ui-toolkit":"^1.2.1","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.17.0","@vscode/debugadapter-testsupport":"^1.55.1","vscode-languageserver-textdocument":"^1.0.8"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.30_1684019647105_0.9404742150212628","host":"s3://npm-registry-packages"}},"1.1.31":{"name":"factoriomod-debug","version":"1.1.31","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.31","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"52d0e6ea0dcd0506f1d4045ec244219ff8e00376","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.31.tgz","fileCount":41,"integrity":"sha512-zJHGwt+bMDsb2GYhF5VpLK+gm0hvxbhrQFOjwMwUHN3rfCt/OQ4WRbX4FwlyXZKXFwvBFY0k9Igm152R7BVLDQ==","signatures":[{"sig":"MEYCIQDVTZ1yEG5EJCtDrC9YUJiFjCbZcIar0A1O1loBcmc3lAIhAI6S/ip9wdT/JWUwoCoQqfrVLxFms5U51s8uJj7oJjon","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2856036},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.66.0"},"gitHead":"ad839865b0b21373e541b02a1e33b0b307d4230d","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"8.7.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"checkGlobals":{"type":["boolean","array"],"items":{"type":"string"},"description":"Check for assignment to undefined globals. Boolean to enable/disable for all mods, or array of mod names (`#settings` and `#data` for settings/data stage)."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.docs.useInteger":{"type":"boolean","default":true,"description":"Use lua `integer` type for specialized integer types"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.numberStyle":{"enum":["aliasNative","alias","class"],"default":"aliasNative","description":"Type of annotations to generate for specialized number types","enumDescriptions":["Use `alias` for numeric types which exactly match `number` (or `integer` if enabled), and `class` otherwise","Use `alias` for all numeric types","Use `class` for all numeric types"]},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.docs.signedUMinus":{"type":"boolean","default":true,"description":"Convert uint to int in builtin unary minus operator"},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.docs.builtinOperators":{"type":"boolean","default":true,"description":"Enable generating operators for builtin classes"},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.docs.builtinCustomStyle":{"type":"object","description":"Customize the generation of annotations for builtin types","additionalProperties":{"type":"object","oneOf":[{"properties":{"kind":{"const":"none"}}},{"required":["kind","base"],"properties":{"base":{"type":"string","examples":["number","integer"],"description":"The base type this alias refers to"},"kind":{"const":"alias"}}},{"required":["kind","base"],"properties":{"base":{"type":"array","items":{"type":"string","examples":["number","integer"]},"description":"The base classes, if any, for this class"},"kind":{"const":"class"},"operators":{"type":"boolean","description":"If this class should have math operators"}}}],"required":["kind"],"properties":{"kind":{"enum":["none","alias","class"],"description":"The kind of annotation to use for this type"}}}},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"19.9.0","dependencies":{"keytar":"^7.9.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.12.0","d3":"^7.8.1","ini":"^3.0.1","chai":"^4.3.7","mimer":"^2.0.2","mocha":"^10.2.0","eslint":"^8.12.0","remark":"^14.0.2","rimraf":"^4.0.4","semver":"^7.3.7","esbuild":"^0.17.4","ts-node":"^10.9.1","archiver":"^5.3.0","inquirer":"^9.1.4","@types/d3":"^7.4.0","commander":"^10.0.0","tree-kill":"^1.2.2","@types/ini":"^1.3.31","dot-object":"^2.1.4","node-fetch":"^3.3.0","typescript":"^4.7.4","vscode-uri":"^3.0.3","@types/chai":"^4.3.4","@types/node":"^18.11.18","@types/mocha":"^10.0.1","@vscode/vsce":"^2.7.0","jsonc-parser":"^3.1.0","readdir-glob":"^1.1.2","@types/semver":"^7.3.9","@types/vscode":"^1.66.0","@types/buffers":"^0.1.31","@types/request":"^2.48.8","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.1","@types/inquirer":"^9.0.3","@vscode/codicons":"^0.0.32","chai-as-promised":"^7.1.1","@types/dot-object":"^2.1.2","@types/node-fetch":"^2.6.1","esbuild-visualizer":"^0.4.0","@vscode/debugadapter":"^1.55.1","@types/vscode-webview":"^1.57.0","vscode-languageclient":"^8.0.2","vscode-languageserver":"^8.0.2","@types/chai-as-promised":"^7.1.5","@typescript-eslint/parser":"^5.17.0","@vscode/webview-ui-toolkit":"^1.2.1","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.17.0","@vscode/debugadapter-testsupport":"^1.55.1","vscode-languageserver-textdocument":"^1.0.8"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.31_1684097595221_0.59910146235575","host":"s3://npm-registry-packages"}},"1.1.32":{"name":"factoriomod-debug","version":"1.1.32","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.32","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"ae15fc9a01eda4153a91d051d089587841312f62","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.32.tgz","fileCount":41,"integrity":"sha512-rW44nn1ZLqeV1HrtY7Ze8pflMQ39KpdUHgio6RCx926+Ktn6v/s5CrR3nePiiNCot98IxWR9IL0ulWA3GCJ/tw==","signatures":[{"sig":"MEUCIQCMgPfZ+KwcMDqLdWA774c7s7xfLjMUxnDZqo+LLRe9dQIgNpNs5tBnHiz5legXG8BLvOGDGCGOs76ww4hlz/f4o70=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2856133},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.66.0"},"gitHead":"46598b224dc3c9627da7b0fc7b26363ac2d33a0f","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"8.7.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"checkGlobals":{"type":["boolean","array"],"items":{"type":"string"},"description":"Check for assignment to undefined globals. Boolean to enable/disable for all mods, or array of mod names (`#settings` and `#data` for settings/data stage)."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.docs.useInteger":{"type":"boolean","default":true,"description":"Use lua `integer` type for specialized integer types"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.numberStyle":{"enum":["aliasNative","alias","class"],"default":"aliasNative","description":"Type of annotations to generate for specialized number types","enumDescriptions":["Use `alias` for numeric types which exactly match `number` (or `integer` if enabled), and `class` otherwise","Use `alias` for all numeric types","Use `class` for all numeric types"]},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.docs.signedUMinus":{"type":"boolean","default":true,"description":"Convert uint to int in builtin unary minus operator"},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.docs.builtinOperators":{"type":"boolean","default":true,"description":"Enable generating operators for builtin classes"},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.docs.builtinCustomStyle":{"type":"object","description":"Customize the generation of annotations for builtin types","additionalProperties":{"type":"object","oneOf":[{"properties":{"kind":{"const":"none"}}},{"required":["kind","base"],"properties":{"base":{"type":"string","examples":["number","integer"],"description":"The base type this alias refers to"},"kind":{"const":"alias"}}},{"required":["kind","base"],"properties":{"base":{"type":"array","items":{"type":"string","examples":["number","integer"]},"description":"The base classes, if any, for this class"},"kind":{"const":"class"},"operators":{"type":"boolean","description":"If this class should have math operators"}}}],"required":["kind"],"properties":{"kind":{"enum":["none","alias","class"],"description":"The kind of annotation to use for this type"}}}},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"19.9.0","dependencies":{"keytar":"^7.9.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.12.0","d3":"^7.8.1","ini":"^3.0.1","chai":"^4.3.7","mimer":"^2.0.2","mocha":"^10.2.0","eslint":"^8.12.0","remark":"^14.0.2","rimraf":"^4.0.4","semver":"^7.3.7","esbuild":"^0.17.4","ts-node":"^10.9.1","archiver":"^5.3.0","inquirer":"^9.1.4","@types/d3":"^7.4.0","commander":"^10.0.0","tree-kill":"^1.2.2","@types/ini":"^1.3.31","dot-object":"^2.1.4","node-fetch":"^3.3.0","typescript":"^4.7.4","vscode-uri":"^3.0.3","@types/chai":"^4.3.4","@types/node":"^18.11.18","@types/mocha":"^10.0.1","@vscode/vsce":"^2.7.0","jsonc-parser":"^3.1.0","readdir-glob":"^1.1.2","@types/semver":"^7.3.9","@types/vscode":"^1.66.0","@types/buffers":"^0.1.31","@types/request":"^2.48.8","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.1","@types/inquirer":"^9.0.3","@vscode/codicons":"^0.0.32","chai-as-promised":"^7.1.1","@types/dot-object":"^2.1.2","@types/node-fetch":"^2.6.1","esbuild-visualizer":"^0.4.0","@vscode/debugadapter":"^1.55.1","@types/vscode-webview":"^1.57.0","vscode-languageclient":"^8.0.2","vscode-languageserver":"^8.0.2","@types/chai-as-promised":"^7.1.5","@typescript-eslint/parser":"^5.17.0","@vscode/webview-ui-toolkit":"^1.2.1","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.17.0","@vscode/debugadapter-testsupport":"^1.55.1","vscode-languageserver-textdocument":"^1.0.8"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.32_1684416738881_0.052008581542929644","host":"s3://npm-registry-packages"}},"1.1.33":{"name":"factoriomod-debug","version":"1.1.33","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.33","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"416336262e25a29de529ab153c797737185349cc","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.33.tgz","fileCount":41,"integrity":"sha512-SfLPbUJFuRhNi/WcXXVRXfUCWr5T9NXSoosJVQliu9hA9w+GEIyYydoyWj7TV+LU0asqmzFoxUXKmt8dRxmJNA==","signatures":[{"sig":"MEUCIQCCTL3QTP5R1Gw/EOSJ07ZesMGgghNl2aVJdl5/n3wWtgIgXTzxuu2KXnzR42AyXNVklqC+0U7oU3ooq+UrSd0pn7U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2859000},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.80.0"},"gitHead":"6ce4fc170bf88a776ceef4fc25d868b7e31f96ea","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"9.8.1","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"checkGlobals":{"type":["boolean","array"],"items":{"type":"string"},"description":"Check for assignment to undefined globals. Boolean to enable/disable for all mods, or array of mod names (`#settings` and `#data` for settings/data stage)."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.docs.useInteger":{"type":"boolean","default":true,"description":"Use lua `integer` type for specialized integer types"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.numberStyle":{"enum":["aliasNative","alias","class"],"default":"aliasNative","description":"Type of annotations to generate for specialized number types","enumDescriptions":["Use `alias` for numeric types which exactly match `number` (or `integer` if enabled), and `class` otherwise","Use `alias` for all numeric types","Use `class` for all numeric types"]},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.docs.signedUMinus":{"type":"boolean","default":true,"description":"Convert uint to int in builtin unary minus operator"},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.docs.builtinOperators":{"type":"boolean","default":true,"description":"Enable generating operators for builtin classes"},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.docs.builtinCustomStyle":{"type":"object","description":"Customize the generation of annotations for builtin types","additionalProperties":{"type":"object","oneOf":[{"properties":{"kind":{"const":"none"}}},{"required":["kind","base"],"properties":{"base":{"type":"string","examples":["number","integer"],"description":"The base type this alias refers to"},"kind":{"const":"alias"}}},{"required":["kind","base"],"properties":{"base":{"type":"array","items":{"type":"string","examples":["number","integer"]},"description":"The base classes, if any, for this class"},"kind":{"const":"class"},"operators":{"type":"boolean","description":"If this class should have math operators"}}}],"required":["kind"],"properties":{"kind":{"enum":["none","alias","class"],"description":"The kind of annotation to use for this type"}}}},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"20.5.0","dependencies":{"keytar":"^7.9.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.14.0","d3":"^7.8.5","ini":"^3.0.1","chai":"^4.3.7","mimer":"^2.0.2","mocha":"^10.2.0","eslint":"^8.45.0","remark":"^14.0.3","rimraf":"^4.4.1","semver":"^7.5.4","esbuild":"^0.17.19","ts-node":"^10.9.1","archiver":"^5.3.1","inquirer":"^9.2.8","@types/d3":"^7.4.0","commander":"^10.0.1","tree-kill":"^1.2.2","@types/ini":"^1.3.31","dot-object":"^2.1.4","node-fetch":"^3.3.2","typescript":"^4.9.5","vscode-uri":"^3.0.7","@types/chai":"^4.3.5","@types/node":"^18.17.1","@types/mocha":"^10.0.1","@vscode/vsce":"^2.19.0","jsonc-parser":"^3.2.0","readdir-glob":"^1.1.3","@types/semver":"^7.5.0","@types/vscode":"^1.80.0","@types/buffers":"^0.1.31","@types/request":"^2.48.8","buffer-replace":"^1.0.0","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.2","@types/inquirer":"^9.0.3","@vscode/codicons":"^0.0.32","chai-as-promised":"^7.1.1","@types/dot-object":"^2.1.2","@types/node-fetch":"^2.6.4","esbuild-visualizer":"^0.4.1","@vscode/debugadapter":"^1.61.0","@types/vscode-webview":"^1.57.1","vscode-languageclient":"^8.1.0","vscode-languageserver":"^8.1.0","@types/chai-as-promised":"^7.1.5","@typescript-eslint/parser":"^5.62.0","@vscode/webview-ui-toolkit":"^1.2.2","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.62.0","@vscode/debugadapter-testsupport":"^1.61.0","vscode-languageserver-textdocument":"^1.0.8"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.33_1691268103754_0.9882599619781685","host":"s3://npm-registry-packages"}},"1.1.34":{"name":"factoriomod-debug","version":"1.1.34","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.34","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"48c7bcd67499fde5435f15cf6d85ff3ee944e61a","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.34.tgz","fileCount":41,"integrity":"sha512-Qx97DLhIizKoPJtasfFXsP5MrU9+FYd+WBYyYP/p9Aol5EQh9+fyF1XSEW5F4Ea5ITxDIa4kgjIYnvP94SP8ow==","signatures":[{"sig":"MEUCIQDELVoCZbqTecnlokEkn6saC1fyPOhWccOtGwB4ZqKVdAIgORKmBvloW2yafEmWKbndhbmyAsHDCmxJ7TmKvGEGyOc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2856960},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.80.0"},"gitHead":"323d5f94510b23fd0340cf8224b77fedb295373a","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"9.8.1","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"checkGlobals":{"type":["boolean","array"],"items":{"type":"string"},"description":"Check for assignment to undefined globals. Boolean to enable/disable for all mods, or array of mod names (`#settings` and `#data` for settings/data stage)."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.docs.useInteger":{"type":"boolean","default":true,"description":"Use lua `integer` type for specialized integer types"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.numberStyle":{"enum":["aliasNative","alias","class"],"default":"aliasNative","description":"Type of annotations to generate for specialized number types","enumDescriptions":["Use `alias` for numeric types which exactly match `number` (or `integer` if enabled), and `class` otherwise","Use `alias` for all numeric types","Use `class` for all numeric types"]},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.docs.signedUMinus":{"type":"boolean","default":true,"description":"Convert uint to int in builtin unary minus operator"},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.docs.builtinOperators":{"type":"boolean","default":true,"description":"Enable generating operators for builtin classes"},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.docs.builtinCustomStyle":{"type":"object","description":"Customize the generation of annotations for builtin types","additionalProperties":{"type":"object","oneOf":[{"properties":{"kind":{"const":"none"}}},{"required":["kind","base"],"properties":{"base":{"type":"string","examples":["number","integer"],"description":"The base type this alias refers to"},"kind":{"const":"alias"}}},{"required":["kind","base"],"properties":{"base":{"type":"array","items":{"type":"string","examples":["number","integer"]},"description":"The base classes, if any, for this class"},"kind":{"const":"class"},"operators":{"type":"boolean","description":"If this class should have math operators"}}}],"required":["kind"],"properties":{"kind":{"enum":["none","alias","class"],"description":"The kind of annotation to use for this type"}}}},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"20.5.1","dependencies":{"keytar":"^7.9.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.14.0","d3":"^7.8.5","ini":"^3.0.1","chai":"^4.3.7","mimer":"^2.0.2","mocha":"^10.2.0","eslint":"^8.45.0","remark":"^14.0.3","rimraf":"^4.4.1","semver":"^7.5.4","esbuild":"^0.17.19","ts-node":"^10.9.1","archiver":"^5.3.1","inquirer":"^9.2.8","@types/d3":"^7.4.0","commander":"^10.0.1","tree-kill":"^1.2.2","@types/ini":"^1.3.31","dot-object":"^2.1.4","node-fetch":"^3.3.2","typescript":"^4.9.5","vscode-uri":"^3.0.7","@types/chai":"^4.3.5","@types/node":"^18.17.1","@types/mocha":"^10.0.1","@vscode/vsce":"^2.19.0","jsonc-parser":"^3.2.0","readdir-glob":"^1.1.3","@types/semver":"^7.5.0","@types/vscode":"^1.80.0","@types/buffers":"^0.1.31","@types/request":"^2.48.8","buffer-replace":"^1.0.0","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.2","@types/inquirer":"^9.0.3","@vscode/codicons":"^0.0.32","chai-as-promised":"^7.1.1","@types/dot-object":"^2.1.2","@types/node-fetch":"^2.6.4","esbuild-visualizer":"^0.4.1","@vscode/debugadapter":"^1.61.0","@types/vscode-webview":"^1.57.1","vscode-languageclient":"^8.1.0","vscode-languageserver":"^8.1.0","@types/chai-as-promised":"^7.1.5","@typescript-eslint/parser":"^5.62.0","@vscode/webview-ui-toolkit":"^1.2.2","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.62.0","@vscode/debugadapter-testsupport":"^1.61.0","vscode-languageserver-textdocument":"^1.0.8"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.34_1692228552029_0.5667154707426467","host":"s3://npm-registry-packages"}},"1.1.35":{"name":"factoriomod-debug","version":"1.1.35","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.35","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"9d0cdcf364c9f2d58bd676b269702a23a8b7027f","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.35.tgz","fileCount":41,"integrity":"sha512-JE/nnh2NWCj9ImT0E7wVBvC76eo240BvFcJVxa7o2WKhkjqjexx+1xQXRY1PF7DMM6Yke9JrMuKr9Uvv7TjnLg==","signatures":[{"sig":"MEYCIQDaMaZhkNbGAjseJUYtxbQHbxt2hDwOL0VLyF2OqLVo9AIhANVGrdSwGpeyWlrPyvv3nfrjBoQbuUauSrPbKXcf2Zdy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2799688},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.82.0"},"gitHead":"62602eb4b89b2fcdab4bd9877504f30274267925","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"9.8.1","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"checkGlobals":{"type":["boolean","array"],"items":{"type":"string"},"description":"Check for assignment to undefined globals. Boolean to enable/disable for all mods, or array of mod names (`#settings` and `#data` for settings/data stage)."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"20.5.1","dependencies":{"keytar":"^7.9.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.14.0","d3":"^7.8.5","ini":"^3.0.1","chai":"^4.3.8","mimer":"^2.0.2","mocha":"^10.2.0","eslint":"^8.49.0","remark":"^14.0.3","rimraf":"^4.4.1","semver":"^7.5.4","esbuild":"^0.17.19","ts-node":"^10.9.1","archiver":"^5.3.2","inquirer":"^9.2.11","@types/d3":"^7.4.1","commander":"^10.0.1","tree-kill":"^1.2.2","@types/ini":"^1.3.31","dot-object":"^2.1.4","node-fetch":"^3.3.2","typescript":"^4.9.5","vscode-uri":"^3.0.7","@types/chai":"^4.3.6","@types/node":"^18.17.18","@types/mocha":"^10.0.1","@vscode/vsce":"^2.21.0","jsonc-parser":"^3.2.0","readdir-glob":"^1.1.3","@types/semver":"^7.5.2","@types/vscode":"^1.82.0","@types/buffers":"^0.1.32","@types/request":"^2.48.8","buffer-replace":"^1.0.0","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.3","@types/inquirer":"^9.0.3","@vscode/codicons":"^0.0.32","chai-as-promised":"^7.1.1","@types/dot-object":"^2.1.2","@types/node-fetch":"^2.6.5","esbuild-visualizer":"^0.4.1","@vscode/debugadapter":"^1.63.0","@types/vscode-webview":"^1.57.2","vscode-languageclient":"^8.1.0","vscode-languageserver":"^8.1.0","@types/chai-as-promised":"^7.1.6","@typescript-eslint/parser":"^5.62.0","@vscode/webview-ui-toolkit":"^1.2.2","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.62.0","@vscode/debugadapter-testsupport":"^1.63.0","vscode-languageserver-textdocument":"^1.0.8"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.35_1695497679766_0.7770095034903917","host":"s3://npm-registry-packages"}},"1.1.36":{"name":"factoriomod-debug","version":"1.1.36","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.36","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"40d0e854fca3d774ced1d323dd8aad36a0a7f2e6","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.36.tgz","fileCount":41,"integrity":"sha512-/sCMgLVPluL0GQyIbUf9AmKw/p/vmhjW3VzbuFDy9/Ke+D1W1znAJqDtdkVJYbFMwdJXVB9YM8jXe+OTbjCXuw==","signatures":[{"sig":"MEQCIAhm0uRrVm/G17d0y74uQkzRqJhfUKbUFXBpWKBBmFO1AiB4hDgzeJLoWgGzUyoduOxlnbXWVvHCQCP9BlUETadarw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2801811},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.82.0"},"gitHead":"277e2cf5ce9f0059b3836b1732c188a8ea032257","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"9.8.1","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"checkGlobals":{"type":["boolean","array"],"items":{"type":"string"},"description":"Check for assignment to undefined globals. Boolean to enable/disable for all mods, or array of mod names (`#settings` and `#data` for settings/data stage)."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"20.5.1","dependencies":{"keytar":"^7.9.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.14.0","d3":"^7.8.5","ini":"^3.0.1","chai":"^4.3.8","mimer":"^2.0.2","mocha":"^10.2.0","eslint":"^8.49.0","remark":"^14.0.3","rimraf":"^4.4.1","semver":"^7.5.4","esbuild":"^0.17.19","ts-node":"^10.9.1","archiver":"^5.3.2","inquirer":"^9.2.11","@types/d3":"^7.4.1","commander":"^10.0.1","tree-kill":"^1.2.2","@types/ini":"^1.3.31","dot-object":"^2.1.4","node-fetch":"^3.3.2","typescript":"^4.9.5","vscode-uri":"^3.0.7","@types/chai":"^4.3.6","@types/node":"^18.17.18","@types/mocha":"^10.0.1","@vscode/vsce":"^2.21.0","jsonc-parser":"^3.2.0","readdir-glob":"^1.1.3","@types/semver":"^7.5.2","@types/vscode":"^1.82.0","@types/buffers":"^0.1.32","@types/request":"^2.48.8","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.3","@types/inquirer":"^9.0.3","@vscode/codicons":"^0.0.32","chai-as-promised":"^7.1.1","@types/dot-object":"^2.1.2","@types/node-fetch":"^2.6.5","esbuild-visualizer":"^0.4.1","@vscode/debugadapter":"^1.63.0","@types/vscode-webview":"^1.57.2","vscode-languageclient":"^8.1.0","vscode-languageserver":"^8.1.0","@types/chai-as-promised":"^7.1.6","@typescript-eslint/parser":"^5.62.0","@vscode/webview-ui-toolkit":"^1.2.2","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.62.0","@vscode/debugadapter-testsupport":"^1.63.0","vscode-languageserver-textdocument":"^1.0.8"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.36_1695820011338_0.9245479744274858","host":"s3://npm-registry-packages"}},"1.1.37":{"name":"factoriomod-debug","version":"1.1.37","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.37","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"111766b45d0480fdae66f4e99b9afd3c766feac4","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.37.tgz","fileCount":42,"integrity":"sha512-suzIA8wU6Y9LncWgum/7Zkns0Q+MBc3GePzmWlAEi+RsD2Bg+l0KX4QQS8jejfOQDu81gDo82NdYm8htWl2IJw==","signatures":[{"sig":"MEQCICXngfYljFGKVilo1r+ik+/4dRB3N/6jNIhKqKJr7b7tAiAGlLps0yFkZaJtGqSWGwWcRb1OLbzJYkz4PP9sL9x52g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3702068},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.83.0"},"gitHead":"963e02ddca52619b6d69ce2cd21972d528529023","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"9.8.1","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"checkGlobals":{"type":["boolean","array"],"items":{"type":"string"},"description":"Check for assignment to undefined globals. Boolean to enable/disable for all mods, or array of mod names (`#settings` and `#data` for settings/data stage)."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"20.8.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^7.14.0","d3":"^7.8.5","ini":"^3.0.1","chai":"^4.3.10","mimer":"^2.0.2","mocha":"^10.2.0","eslint":"^8.50.0","remark":"^14.0.3","rimraf":"^4.4.1","semver":"^7.5.4","esbuild":"^0.17.19","ts-node":"^10.9.1","archiver":"^5.3.2","inquirer":"^9.2.11","@types/d3":"^7.4.1","commander":"^10.0.1","tree-kill":"^1.2.2","@types/ini":"^1.3.31","dot-object":"^2.1.4","node-fetch":"^3.3.2","typescript":"^4.9.5","vscode-uri":"^3.0.8","@types/chai":"^4.3.6","@types/node":"^18.18.3","@types/mocha":"^10.0.2","@vscode/vsce":"^2.21.1","jsonc-parser":"^3.2.0","readdir-glob":"^1.1.3","@types/semver":"^7.5.3","@types/vscode":"^1.83.0","@types/buffers":"^0.1.32","@types/request":"^2.48.9","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.3","@types/inquirer":"^9.0.3","@vscode/codicons":"^0.0.32","chai-as-promised":"^7.1.1","@types/dot-object":"^2.1.3","@types/node-fetch":"^2.6.6","esbuild-visualizer":"^0.4.1","@vscode/debugadapter":"^1.63.0","@types/vscode-webview":"^1.57.2","vscode-languageclient":"^8.1.0","vscode-languageserver":"^8.1.0","@types/chai-as-promised":"^7.1.6","@typescript-eslint/parser":"^5.62.0","@vscode/webview-ui-toolkit":"^1.2.2","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.62.0","@vscode/debugadapter-testsupport":"^1.63.0","vscode-languageserver-textdocument":"^1.0.11"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.37_1696552007732_0.6040426199372058","host":"s3://npm-registry-packages"}},"1.1.38":{"name":"factoriomod-debug","version":"1.1.38","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.38","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"d1624594f51bea2629fe15cbf63c408b75499e3b","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.38.tgz","fileCount":43,"integrity":"sha512-zdqza9SkMFk2oH5bgeE+QEafPbpc25d8E2jgWxBb2ykixMvz9jxLKTYTS57h8fRd9TH/CJf/j0W6KE6BBNQiZQ==","signatures":[{"sig":"MEYCIQCf4c0zMDJ2DQLRRGEaOF76kaGr2IfhtaeVxyDJO95eDAIhAKTvqnLvm1vlTUSInqP7epvlocdrQxMBbY5ra84frlsq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3716721},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.84.0"},"gitHead":"9818d34d157bef7a8b56361aec846e533091a862","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"9.8.1","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"21.2.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^7.14.0","d3":"^7.8.5","ini":"^3.0.1","chai":"^4.3.10","mimer":"^2.0.2","mocha":"^10.2.0","eslint":"^8.54.0","remark":"^14.0.3","rimraf":"^4.4.1","semver":"^7.5.4","esbuild":"^0.17.19","ts-node":"^10.9.1","archiver":"^5.3.2","inquirer":"^9.2.12","@types/d3":"^7.4.3","commander":"^10.0.1","tree-kill":"^1.2.2","@types/ini":"^1.3.33","dot-object":"^2.1.4","node-fetch":"^3.3.2","typescript":"^4.9.5","vscode-uri":"^3.0.8","@types/chai":"^4.3.11","@types/node":"^18.18.13","@types/mocha":"^10.0.6","@vscode/vsce":"^2.22.0","jsonc-parser":"^3.2.0","readdir-glob":"^1.1.3","@types/semver":"^7.5.6","@types/vscode":"^1.84.2","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.4","@types/inquirer":"^9.0.7","@vscode/codicons":"^0.0.32","chai-as-promised":"^7.1.1","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.9","esbuild-visualizer":"^0.4.1","@vscode/debugadapter":"^1.64.0","@types/vscode-webview":"^1.57.4","vscode-languageclient":"^8.1.0","vscode-languageserver":"^8.1.0","@types/chai-as-promised":"^7.1.8","@typescript-eslint/parser":"^5.62.0","@vscode/webview-ui-toolkit":"^1.3.1","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.62.0","@vscode/debugadapter-testsupport":"^1.64.0","vscode-languageserver-textdocument":"^1.0.11"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.38_1701796945945_0.048968141918103614","host":"s3://npm-registry-packages"}},"1.1.39":{"name":"factoriomod-debug","version":"1.1.39","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.39","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"2b530bd060c636c112ac7cd29a4b9a034b393028","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.39.tgz","fileCount":43,"integrity":"sha512-yiDnquOCr3XB+Po9ED0Zb4PFa5kSSdwmGMNMlIh6Ib9aReuOY1b3ISc3xnaU+O2qXZRDBvGYQH3wWm5h2bY6mA==","signatures":[{"sig":"MEQCIBbtK0jwX6cRbnlNgtfLZi4efzfq6GfVnWjBAOA8Lhc2AiB+Avm2xZQO/YFHvEsPlpfOIH5UplbeoY7Jp9NCZttAdQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3719779},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.84.0"},"gitHead":"e7dc1da746fe56f6d5202be6da953f265b2dbeeb","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"9.8.1","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"21.2.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^7.14.0","d3":"^7.8.5","ini":"^3.0.1","chai":"^4.3.10","mimer":"^2.0.2","mocha":"^10.2.0","eslint":"^8.54.0","remark":"^14.0.3","rimraf":"^4.4.1","semver":"^7.5.4","esbuild":"^0.17.19","ts-node":"^10.9.1","archiver":"^5.3.2","inquirer":"^9.2.12","@types/d3":"^7.4.3","commander":"^10.0.1","tree-kill":"^1.2.2","@types/ini":"^1.3.33","dot-object":"^2.1.4","node-fetch":"^3.3.2","typescript":"^4.9.5","vscode-uri":"^3.0.8","@types/chai":"^4.3.11","@types/node":"^18.18.13","@types/mocha":"^10.0.6","@vscode/vsce":"^2.22.0","jsonc-parser":"^3.2.0","readdir-glob":"^1.1.3","@types/semver":"^7.5.6","@types/vscode":"^1.84.2","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.4","@types/inquirer":"^9.0.7","@vscode/codicons":"^0.0.32","chai-as-promised":"^7.1.1","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.9","esbuild-visualizer":"^0.4.1","@vscode/debugadapter":"^1.64.0","@types/vscode-webview":"^1.57.4","vscode-languageclient":"^8.1.0","vscode-languageserver":"^8.1.0","@types/chai-as-promised":"^7.1.8","@typescript-eslint/parser":"^5.62.0","@vscode/webview-ui-toolkit":"^1.3.1","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.62.0","@vscode/debugadapter-testsupport":"^1.64.0","vscode-languageserver-textdocument":"^1.0.11"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.39_1703614297423_0.022643122949632888","host":"s3://npm-registry-packages"}},"1.1.40":{"name":"factoriomod-debug","version":"1.1.40","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.40","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"6ea6e22d5693bb7961888ad284ee985a2ef47478","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.40.tgz","fileCount":42,"integrity":"sha512-PU3TjiqDeH41e0LtYrBKcjFFWsbaxGp2Z99q3+bP97GQTmWD7B/cGC/Fjxu9J5/J0Ngf8fZmj1lQSRHiBePAVw==","signatures":[{"sig":"MEYCIQCU3A51zfSYS91bL8Rsn/SDY2dwdy5yF84idL4nMb/TNwIhAMzhZLzoUhswMCnh4RFMW1u9Kx1nhcwv2ULdOMTIJ0BV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2846172},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.85.0"},"gitHead":"ca75c2b452265296205b8af0f684dad87bb87763","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"9.8.1","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"21.6.1","_hasShrinkwrap":false,"devDependencies":{"c8":"^7.14.0","d3":"^7.8.5","ini":"^3.0.1","chai":"^4.4.1","mimer":"^2.0.2","mocha":"^10.2.0","eslint":"^8.56.0","remark":"^14.0.3","rimraf":"^4.4.1","semver":"^7.5.4","esbuild":"^0.17.19","ts-node":"^10.9.2","archiver":"^5.3.2","inquirer":"^9.2.12","@types/d3":"^7.4.3","commander":"^10.0.1","tree-kill":"^1.2.2","@types/ini":"^1.3.34","dot-object":"^2.1.4","node-fetch":"^3.3.2","typescript":"^4.9.5","vscode-uri":"^3.0.8","@types/chai":"^4.3.11","@types/node":"^18.19.10","@types/mocha":"^10.0.6","@vscode/vsce":"^2.23.0","jsonc-parser":"^3.2.1","readdir-glob":"^1.1.3","@types/semver":"^7.5.6","@types/vscode":"^1.85.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.4","@types/inquirer":"^9.0.7","@vscode/codicons":"^0.0.32","chai-as-promised":"^7.1.1","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.11","esbuild-visualizer":"^0.4.1","@vscode/debugadapter":"^1.64.0","@types/vscode-webview":"^1.57.4","vscode-languageclient":"^8.1.0","vscode-languageserver":"^8.1.0","@types/chai-as-promised":"^7.1.8","@typescript-eslint/parser":"^5.62.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.62.0","@vscode/debugadapter-testsupport":"^1.64.0","vscode-languageserver-textdocument":"^1.0.11"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.40_1706732783564_0.22737197269614784","host":"s3://npm-registry-packages"}},"1.1.41":{"name":"factoriomod-debug","version":"1.1.41","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.41","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"f8a6b936102f5e8cb374e86d38f6e9ba549a1720","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.41.tgz","fileCount":42,"integrity":"sha512-oN+CTihoGRe51GLraUNQarGgIptFEJRO/qL//Vijvwf/hj6tVkEa4psXpwwBCZvU1r1PLBCCFi8dofRFlZ4lWA==","signatures":[{"sig":"MEYCIQDKIxObpdeqmTvLkMNri61oTOrYECtdqOqecEF5R2YC9AIhAOsPzeRlmk3b9HoboBB4lBY550UW4yqR52V3FCp+FTSp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2846690},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.85.0"},"gitHead":"ca81e5398e4cc220c27c8c08cd72b22a177cfa4d","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"9.8.1","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","phobos","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"21.6.1","_hasShrinkwrap":false,"devDependencies":{"c8":"^7.14.0","d3":"^7.8.5","ini":"^3.0.1","chai":"^4.4.1","mimer":"^2.0.2","mocha":"^10.2.0","eslint":"^8.56.0","remark":"^14.0.3","rimraf":"^4.4.1","semver":"^7.5.4","esbuild":"^0.17.19","ts-node":"^10.9.2","archiver":"^5.3.2","inquirer":"^9.2.12","@types/d3":"^7.4.3","commander":"^10.0.1","tree-kill":"^1.2.2","@types/ini":"^1.3.34","dot-object":"^2.1.4","node-fetch":"^3.3.2","typescript":"^4.9.5","vscode-uri":"^3.0.8","@types/chai":"^4.3.11","@types/node":"^18.19.10","@types/mocha":"^10.0.6","@vscode/vsce":"^2.23.0","jsonc-parser":"^3.2.1","readdir-glob":"^1.1.3","@types/semver":"^7.5.6","@types/vscode":"^1.85.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.4","@types/inquirer":"^9.0.7","@vscode/codicons":"^0.0.32","chai-as-promised":"^7.1.1","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.11","esbuild-visualizer":"^0.4.1","@vscode/debugadapter":"^1.64.0","@types/vscode-webview":"^1.57.4","vscode-languageclient":"^8.1.0","vscode-languageserver":"^8.1.0","@types/chai-as-promised":"^7.1.8","@typescript-eslint/parser":"^5.62.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.62.0","@vscode/debugadapter-testsupport":"^1.64.0","vscode-languageserver-textdocument":"^1.0.11"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.41_1706897719856_0.467696070928753","host":"s3://npm-registry-packages"}},"1.1.42":{"name":"factoriomod-debug","version":"1.1.42","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.42","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"d29af6f45c5ec3df8bdb6c969cdaf3cc8860d6cd","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.42.tgz","fileCount":46,"integrity":"sha512-RRFNXj/91cKp2IH5BTr0vmNYDV3R4G4bmb/Pov1S8ReakB2mI1VlSNvpMp42youd3oNrVQ00+zwgX0T5ryr8TA==","signatures":[{"sig":"MEUCIQCvbhjA0lRmOGJnz3fSKXJGPrU4cm/dezRT7Ty2EtZK7AIgJRowS83O+PuFd9050HTlrbr3aX0cdgQPcoYT8Ldj/Rw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3776052},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.85.0"},"gitHead":"b357964a4a55ef4364939793d113378957e9feca","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"9.8.1","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"21.7.1","_hasShrinkwrap":false,"devDependencies":{"c8":"^7.14.0","d3":"^7.8.5","ini":"^3.0.1","chai":"^4.4.1","mimer":"^2.0.2","mocha":"^10.2.0","eslint":"^8.56.0","remark":"^14.0.3","rimraf":"^4.4.1","semver":"^7.5.4","esbuild":"^0.17.19","ts-node":"^10.9.2","archiver":"^5.3.2","inquirer":"^9.2.12","@types/d3":"^7.4.3","commander":"^10.0.1","tree-kill":"^1.2.2","@types/ini":"^1.3.34","dot-object":"^2.1.4","node-fetch":"^3.3.2","typescript":"^4.9.5","vscode-uri":"^3.0.8","@types/chai":"^4.3.11","@types/node":"^18.19.10","@types/mocha":"^10.0.6","@vscode/vsce":"^2.23.0","jsonc-parser":"^3.2.1","readdir-glob":"^1.1.3","@types/semver":"^7.5.6","@types/vscode":"^1.85.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.4","@types/inquirer":"^9.0.7","@vscode/codicons":"^0.0.32","chai-as-promised":"^7.1.1","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.11","esbuild-visualizer":"^0.4.1","@vscode/debugadapter":"^1.64.0","@types/vscode-webview":"^1.57.4","vscode-languageclient":"^8.1.0","vscode-languageserver":"^8.1.0","@types/chai-as-promised":"^7.1.8","@typescript-eslint/parser":"^5.62.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.62.0","@vscode/debugadapter-testsupport":"^1.64.0","vscode-languageserver-textdocument":"^1.0.11"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.42_1712850626027_0.3655204372356793","host":"s3://npm-registry-packages"}},"1.1.43":{"name":"factoriomod-debug","version":"1.1.43","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.43","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"cffd250e905485d837d86ad51badda1ff668e55b","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.43.tgz","fileCount":45,"integrity":"sha512-oR/JwfpP2lQSml4zmAOpCZRPvRqBh7GE6IBX/2Vmp9ytPgOpUFV8NbiVPxgCc1FFEpY/EfMIR9nOw00I74M/ow==","signatures":[{"sig":"MEUCIBWBw/tJ1RvF8hQSKFmkGRmOoJxPi4E1cbdhL9B0oNNXAiEAhk11uEnnpiomkH+r/gHGMOM8SvB4sQ636Wm2lIEp3aI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2855396},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.89.0"},"gitHead":"97cda244f6477159546128c1da353e0603cbef42","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"9.8.1","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"22.2.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^7.14.0","d3":"^7.9.0","ini":"^3.0.1","chai":"^4.4.1","mimer":"^2.0.2","mocha":"^10.4.0","eslint":"^8.57.0","remark":"^14.0.3","rimraf":"^4.4.1","semver":"^7.6.2","esbuild":"^0.17.19","ts-node":"^10.9.2","archiver":"^5.3.2","inquirer":"^9.2.22","@types/d3":"^7.4.3","commander":"^10.0.1","tree-kill":"^1.2.2","@types/ini":"^1.3.34","dot-object":"^2.1.5","node-fetch":"^3.3.2","typescript":"^4.9.5","vscode-uri":"^3.0.8","@types/chai":"^4.3.16","@types/node":"^18.19.33","@types/mocha":"^10.0.6","@vscode/vsce":"^2.26.1","jsonc-parser":"^3.2.1","readdir-glob":"^1.1.3","@types/semver":"^7.5.8","@types/vscode":"^1.89.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.4","@types/inquirer":"^9.0.7","@vscode/codicons":"^0.0.32","chai-as-promised":"^7.1.2","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.11","esbuild-visualizer":"^0.4.1","@vscode/debugadapter":"^1.65.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^8.1.0","vscode-languageserver":"^8.1.0","@types/chai-as-promised":"^7.1.8","@typescript-eslint/parser":"^5.62.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.62.0","@vscode/debugadapter-testsupport":"^1.65.0","vscode-languageserver-textdocument":"^1.0.11"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.43_1717162277194_0.9921375090350162","host":"s3://npm-registry-packages"}},"1.1.44":{"name":"factoriomod-debug","version":"1.1.44","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.44","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"8e1d842d2ff8a82629bbdaafac32cebc9ef1014f","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.44.tgz","fileCount":45,"integrity":"sha512-GwrHsJbvzojGhJiOE8rYJroaNb5Fxd8kDeU61GMFQzU92NE61vJUVmsJbZaUfu98xWgRommRid6LLWt7OVMOEw==","signatures":[{"sig":"MEUCIQCgtwNe2vWDvirMBYM7uQwwm7FpVxqOtfIsnjcUep4sFAIgRsih9bZhHpnDPGfrs2XE0/Q4ZVF3tTGYRHHdcPWOtxg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2878264},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">=18","vscode":"^1.90.0"},"gitHead":"1e758db1c17f10dd4a0245cec701451fc56d7d5c","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"ts-node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"9.8.1","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"22.3.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^7.14.0","d3":"^7.9.0","ini":"^3.0.1","chai":"^4.4.1","mimer":"^2.0.2","mocha":"^10.5.2","eslint":"^8.57.0","remark":"^14.0.3","rimraf":"^4.4.1","semver":"^7.6.2","esbuild":"^0.17.19","ts-node":"^10.9.2","archiver":"^5.3.2","inquirer":"^9.2.23","@types/d3":"^7.4.3","commander":"^10.0.1","tree-kill":"^1.2.2","@types/ini":"^1.3.34","dot-object":"^2.1.5","node-fetch":"^3.3.2","typescript":"^4.9.5","vscode-uri":"^3.0.8","@types/chai":"^4.3.16","@types/node":"^18.19.39","@types/mocha":"^10.0.7","@vscode/vsce":"^2.29.0","jsonc-parser":"^3.3.1","readdir-glob":"^1.1.3","@types/semver":"^7.5.8","@types/vscode":"^1.90.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@types/archiver":"^5.3.4","@types/inquirer":"^9.0.7","@vscode/codicons":"^0.0.32","chai-as-promised":"^7.1.2","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.11","esbuild-visualizer":"^0.4.1","@vscode/debugadapter":"^1.65.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^8.1.0","vscode-languageserver":"^8.1.0","@types/chai-as-promised":"^7.1.8","@typescript-eslint/parser":"^5.62.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@typescript-eslint/eslint-plugin":"^5.62.0","@vscode/debugadapter-testsupport":"^1.65.0","vscode-languageserver-textdocument":"^1.0.11"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.44_1720281959522_0.983365766379642","host":"s3://npm-registry-packages"}},"1.1.45":{"name":"factoriomod-debug","version":"1.1.45","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.45","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk.js"},"dist":{"shasum":"f0dcc90d2d7db83b76a11890bdd00215f27a62c0","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.45.tgz","fileCount":45,"integrity":"sha512-JVDW70EM/ZRsv6LGi8SBcEBrWOxUJzvhiCVY7SSZ6Gk9Ke+kIVyffW+cpHpZqV36LAH3GdvxM1e5SPVyvc7eBw==","signatures":[{"sig":"MEUCIQDahGl2ZuSa3rKE8GNka1nNAu6rip6bZHlOYjmGaOFA8gIgQWdnwbK7SP6I6LDFjnOe+CFgnIFrDi0twk0NG+gBCP8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2871513},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk.js","engines":{"node":">20","vscode":"^1.90.0"},"gitHead":"f4d629bb6498426edfd58b2007153c320427f5ae","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta_0.json --filename ./out/stats_0.html && esbuild-visualizer --metadata ./out/meta_1.json --filename ./out/stats_1.html","watch":"npm run esbuild -- --watch","esbuild":"tsx ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"10.8.2","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"22.5.1","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.2","d3":"^7.9.0","ini":"^4.1.3","tsx":"^4.17.0","chai":"^4.5.0","mimer":"^2.0.2","mocha":"^10.7.3","eslint":"^8.57.0","remark":"^15.0.1","rimraf":"^6.0.1","semver":"^7.6.3","esbuild":"^0.23.0","archiver":"^7.0.1","inquirer":"^10.1.8","@types/d3":"^7.4.3","commander":"^12.1.0","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dot-object":"^2.1.5","node-fetch":"^3.3.2","typescript":"^5.5.4","vscode-uri":"^3.0.8","@types/chai":"^4.3.17","@types/node":"^20.15.0","@types/mocha":"^10.0.7","@vscode/vsce":"^2.32.0","jsonc-parser":"^3.3.1","readdir-glob":"^1.1.3","@types/semver":"^7.5.8","@types/vscode":"^1.92.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@types/archiver":"^6.0.2","@types/inquirer":"^9.0.7","@vscode/codicons":"^0.0.36","chai-as-promised":"^7.1.2","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.11","typescript-eslint":"^7.18.0","esbuild-visualizer":"^0.6.0","@vscode/debugadapter":"^1.66.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@types/chai-as-promised":"^7.1.8","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.66.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.45_1723841364616_0.18251137369519843","host":"s3://npm-registry-packages"}},"1.1.46":{"name":"factoriomod-debug","version":"1.1.46","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.46","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"5b12f9d57c3e770585855e216cf5d970e463efd6","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.46.tgz","fileCount":47,"integrity":"sha512-s20bWXUa90dxhfsY8Lsl/oWlskycyY3VQ593QeGWoG0GgI2gokIcNBOQ1KFbOqLqYx/nIxG2pPzDUKgQZrMRQg==","signatures":[{"sig":"MEUCIQC8B/PxKZzzRmst099VPHxPeYuWAoeYxCTjKaqOyp28FgIgcTULjm8Zcxe7zCtN+d3kImewcTI030lIeYAp1YfmiAo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3140746},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk-vscode.js","engines":{"node":">20","vscode":"^1.93.0"},"gitHead":"5d548c1e3751714250cb5b35d1b4b8eda613ba4e","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"tsx ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"10.8.2","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"22.9.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.2","d3":"^7.9.0","ini":"^5.0.0","tsx":"^4.19.1","chai":"^5.1.1","mimer":"^2.0.2","mocha":"^10.7.3","eslint":"^9.11.1","remark":"^15.0.1","rimraf":"^6.0.1","semver":"^7.6.3","esbuild":"^0.24.0","archiver":"^7.0.1","inquirer":"^11.0.2","@types/d3":"^7.4.3","commander":"^12.1.0","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dot-object":"^2.1.5","node-fetch":"^3.3.2","typescript":"^5.6.2","vscode-uri":"^3.0.8","@types/chai":"^4.3.19","@types/node":"^22.6.1","@types/mocha":"^10.0.8","@vscode/vsce":"^3.1.0","jsonc-parser":"^3.3.1","readdir-glob":"^2.0.0","@types/semver":"^7.5.8","@types/vscode":"^1.93.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@types/archiver":"^6.0.2","@types/inquirer":"^9.0.7","@vscode/codicons":"^0.0.36","chai-as-promised":"^8.0.0","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.11","typescript-eslint":"^8.7.0","esbuild-visualizer":"^0.6.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.67.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@types/chai-as-promised":"^8.0.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.67.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.46_1727443843647_0.2941171021067739","host":"s3://npm-registry-packages"}},"1.1.47":{"name":"factoriomod-debug","version":"1.1.47","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@1.1.47","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"123cd4666490ee590446ad16e9a155a51df8ebb3","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-1.1.47.tgz","fileCount":47,"integrity":"sha512-9+CCwZsWrL3aKnACG0MO2+YQDYKdlPgiz0tGdoa4VfQ9t9wFjHRIT6TGoJDlion5iYWDTtIJ5h9c+Fo0TCUddw==","signatures":[{"sig":"MEYCIQD3JRcdCbKvzAZWRlwgTIFzFDjNgBEzsR2ic7MjZD3r8QIhAPWqFtdajsGFUS4eM+MvL08itYMUP1AGXvPdcbTN0SMs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3156462},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk-vscode.js","engines":{"node":">20","vscode":"^1.93.0"},"gitHead":"e269ae9729686a8c30bd3a829f7de912580191f0","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"tsx ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"10.8.2","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.workspace.library":{"deprecationMessage":"Generated files are now placed in workspace private storage."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":true,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"22.9.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.2","d3":"^7.9.0","ini":"^5.0.0","tsx":"^4.19.1","chai":"^5.1.1","mimer":"^2.0.2","mocha":"^10.7.3","eslint":"^9.11.1","remark":"^15.0.1","rimraf":"^6.0.1","semver":"^7.6.3","esbuild":"^0.24.0","archiver":"^7.0.1","inquirer":"^11.0.2","@types/d3":"^7.4.3","commander":"^12.1.0","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dot-object":"^2.1.5","node-fetch":"^3.3.2","typescript":"^5.6.2","vscode-uri":"^3.0.8","@types/chai":"^4.3.19","@types/node":"^22.6.1","@types/mocha":"^10.0.8","@vscode/vsce":"^3.1.0","jsonc-parser":"^3.3.1","readdir-glob":"^2.0.0","@types/semver":"^7.5.8","@types/vscode":"^1.93.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@types/archiver":"^6.0.2","@types/inquirer":"^9.0.7","@vscode/codicons":"^0.0.36","chai-as-promised":"^8.0.0","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.11","typescript-eslint":"^8.7.0","esbuild-visualizer":"^0.6.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.67.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@types/chai-as-promised":"^8.0.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.67.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_1.1.47_1727480932518_0.4345843424795772","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"factoriomod-debug","version":"2.0.0","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.0.0","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"f2b53bec335093fe3c1cc69a624eead6a715b172","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.0.0.tgz","fileCount":47,"integrity":"sha512-MwavVklQKY53hngweyFwKZ7M4oXBTziKPCUtWo/WB6S00gbY4Tt0EXooV9WvMxiSwt6J48Yj0bHyvKVuXi4lRg==","signatures":[{"sig":"MEQCIDxRdPoSTZnwi4cq92o022WlRiTZRdjIbIiy++B7TyycAiA8SXMfeTZriL3TdtibQW8znaQS5gMOd/cCx9U3M4nK+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3161412},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk-vscode.js","engines":{"node":">20","vscode":"^1.94.0"},"gitHead":"d021227b544fcfcfb97f8688836f3a8c205a1a9d","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"tsx ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"10.9.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":false,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"22.9.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.2","d3":"^7.9.0","ini":"^5.0.0","tsx":"^4.19.1","chai":"^5.1.1","mimer":"^2.0.2","mocha":"^10.7.3","eslint":"^9.12.0","remark":"^15.0.1","rimraf":"^6.0.1","semver":"^7.6.3","esbuild":"^0.24.0","archiver":"^7.0.1","inquirer":"^12.0.0","@types/d3":"^7.4.3","commander":"^12.1.0","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dot-object":"^2.1.5","node-fetch":"^3.3.2","typescript":"^5.6.3","vscode-uri":"^3.0.8","@types/chai":"^5.0.0","@types/node":"^22.7.5","@types/mocha":"^10.0.9","@vscode/vsce":"^3.1.1","jsonc-parser":"^3.3.1","readdir-glob":"^2.0.0","@types/semver":"^7.5.8","@types/vscode":"^1.94.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@types/archiver":"^6.0.2","@types/inquirer":"^9.0.7","@vscode/codicons":"^0.0.36","chai-as-promised":"^8.0.0","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.11","typescript-eslint":"^8.9.0","esbuild-visualizer":"^0.6.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@types/chai-as-promised":"^8.0.1","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.0.0_1729043107085_0.6636698634026239","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"factoriomod-debug","version":"2.0.1","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.0.1","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"5cf156df3d5e16917a8fec0288f3eda12dafb341","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.0.1.tgz","fileCount":47,"integrity":"sha512-Q80odgN6hiIaiElT1qgh0CRsC/7dzdwBQD/sEHYX8Omhgm0NH+++M/1Qmw4K99dOpxCEIbHlHSmjMUKmqb7Fvg==","signatures":[{"sig":"MEUCICQDggz1KWrlMIXCqivt6MWfCYeHulbwsA4u4NJwaqF7AiEAt4W2R301d00OPoDDjoHtvkfjH0J6rz9HLsxFFblTmNY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3161462},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk-vscode.js","engines":{"node":">20","vscode":"^1.94.0"},"gitHead":"9ca19a8e44b513d7b998cb64051a5e96a8355461","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"tsx ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"10.9.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":false,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"22.9.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.2","d3":"^7.9.0","ini":"^5.0.0","tsx":"^4.19.1","chai":"^5.1.1","mimer":"^2.0.2","mocha":"^10.7.3","eslint":"^9.13.0","remark":"^15.0.1","rimraf":"^6.0.1","semver":"^7.6.3","esbuild":"^0.24.0","archiver":"^7.0.1","inquirer":"^12.0.0","@types/d3":"^7.4.3","commander":"^12.1.0","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dot-object":"^2.1.5","node-fetch":"^3.3.2","typescript":"^5.6.3","vscode-uri":"^3.0.8","@types/chai":"^5.0.0","@types/node":"^22.7.7","@types/mocha":"^10.0.9","@vscode/vsce":"^3.2.0","jsonc-parser":"^3.3.1","readdir-glob":"^2.0.0","@types/semver":"^7.5.8","@types/vscode":"^1.94.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@types/archiver":"^6.0.2","@types/inquirer":"^9.0.7","@vscode/codicons":"^0.0.36","chai-as-promised":"^8.0.0","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.11","typescript-eslint":"^8.10.0","esbuild-visualizer":"^0.6.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@types/chai-as-promised":"^8.0.1","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.0.1_1729515343430_0.6934612938065392","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"factoriomod-debug","version":"2.0.2","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.0.2","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"f695f80a7beae4cf36fcee41beb8fb3e3029eaa1","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.0.2.tgz","fileCount":47,"integrity":"sha512-wiLPQczxC19bBDBIy5E2bUOt2hl3nxIMUdH9qIDl8sEsuSQ/CIB9FZhVBoK/3N9GQlCuVTWNiaGp/rML46TSEg==","signatures":[{"sig":"MEUCIHc/4OpXwL1+IvLPNlndl+yYeJTNhx421BfiCHhifQZNAiEAyMIAPSeCw9z34m2l6BGXBQTFjW8DRpJwG7TOex2GeRY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3167901},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk-vscode.js","engines":{"node":">20","vscode":"^1.94.0"},"gitHead":"617e457ece2925cd459149418c0f3fb0488ff0e5","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"tsx ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"10.9.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":false,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"22.9.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.2","d3":"^7.9.0","ini":"^5.0.0","tsx":"^4.19.1","chai":"^5.1.1","mimer":"^2.0.2","mocha":"^10.7.3","eslint":"^9.13.0","remark":"^15.0.1","rimraf":"^6.0.1","semver":"^7.6.3","esbuild":"^0.24.0","archiver":"^7.0.1","inquirer":"^12.0.0","@types/d3":"^7.4.3","commander":"^12.1.0","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dot-object":"^2.1.5","node-fetch":"^3.3.2","typescript":"^5.6.3","vscode-uri":"^3.0.8","@types/chai":"^5.0.0","@types/node":"^22.7.7","@types/mocha":"^10.0.9","@vscode/vsce":"^3.2.0","jsonc-parser":"^3.3.1","readdir-glob":"^2.0.0","@types/semver":"^7.5.8","@types/vscode":"^1.94.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@types/archiver":"^6.0.2","@types/inquirer":"^9.0.7","@vscode/codicons":"^0.0.36","chai-as-promised":"^8.0.0","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.11","typescript-eslint":"^8.10.0","esbuild-visualizer":"^0.6.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@types/chai-as-promised":"^8.0.1","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.0.2_1729533920212_0.7260858908527372","host":"s3://npm-registry-packages"}},"2.0.3":{"name":"factoriomod-debug","version":"2.0.3","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.0.3","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"88fc73c4204be1c5546fc588fd41bf75bb21bb72","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.0.3.tgz","fileCount":47,"integrity":"sha512-zdt9jz51oQ5FQLUr14g2/+7CjJd/bBdSHd1KeRWat4RdaA3bOKPi9rNBJwCOi44Pt9mDvgSe/mKENw6xtCbBFw==","signatures":[{"sig":"MEUCIAazvgv+iG2bIp9rFjzDaFZxlAdvM5eRAZlQgl1LZOVGAiEAidWe9W+8oqomGo0wd/ULvyB/pzW+ZA0g79qLaSNX9hc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3171291},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk-vscode.js","engines":{"node":">20","vscode":"^1.95.0"},"gitHead":"62b4c1579e2ab4a6a136c477959bb2882a375e65","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"tsx ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"10.9.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":false,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"22.9.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.2","d3":"^7.9.0","ini":"^5.0.0","tsx":"^4.19.2","chai":"^5.1.2","mimer":"^2.0.2","mocha":"^10.8.2","eslint":"^9.14.0","remark":"^15.0.1","rimraf":"^6.0.1","semver":"^7.6.3","esbuild":"^0.24.0","archiver":"^7.0.1","inquirer":"^12.0.1","@types/d3":"^7.4.3","commander":"^12.1.0","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dot-object":"^2.1.5","node-fetch":"^3.3.2","typescript":"^5.6.3","vscode-uri":"^3.0.8","@types/chai":"^5.0.1","@types/node":"^22.8.7","@types/mocha":"^10.0.9","@vscode/vsce":"^3.2.1","jsonc-parser":"^3.3.1","readdir-glob":"^2.0.1","@types/semver":"^7.5.8","@types/vscode":"^1.95.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@types/archiver":"^6.0.3","@types/inquirer":"^9.0.7","@vscode/codicons":"^0.0.36","chai-as-promised":"^8.0.0","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.11","typescript-eslint":"^8.12.2","esbuild-visualizer":"^0.6.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@types/chai-as-promised":"^8.0.1","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.0.3_1730683452749_0.08749781158251735","host":"s3://npm-registry-packages"}},"2.0.4":{"name":"factoriomod-debug","version":"2.0.4","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.0.4","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"93a76df7144ba5a1b412693148c2d4ca38f81e85","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.0.4.tgz","fileCount":47,"integrity":"sha512-KTLpv/d+X5tmZ+vComESRVlBpkgInvBheQopc43VXxcEdrKh4QCvFNPWBKKSnXu4Cm9LAgRienlWtG+338gN1A==","signatures":[{"sig":"MEUCIQCCj10fHaRPOSGWSYmv8mtUJ8y0YKl11MGveR2S0kXdzAIgUVY1OjvutUBqD9OkydVu5BgnfnrY2Y3gbcERFr5MANE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3175751},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk-vscode.js","engines":{"node":">20","vscode":"^1.95.0"},"gitHead":"abccf621db14480ec7dac9f57da4bfd09ae4c229","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"tsx ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"10.9.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":false,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"22.9.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.2","d3":"^7.9.0","ini":"^5.0.0","tsx":"^4.19.2","chai":"^5.1.2","mimer":"^2.0.2","mocha":"^11.0.1","eslint":"^9.16.0","remark":"^15.0.1","rimraf":"^6.0.1","semver":"^7.6.3","esbuild":"^0.24.0","archiver":"^7.0.1","inquirer":"^12.1.0","@types/d3":"^7.4.3","commander":"^12.1.0","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dot-object":"^2.1.5","node-fetch":"^3.3.2","typescript":"^5.7.2","vscode-uri":"^3.0.8","@types/chai":"^5.0.1","@types/node":"^22.10.1","@types/mocha":"^10.0.10","@vscode/vsce":"^3.2.1","jsonc-parser":"^3.3.1","readdir-glob":"^2.0.1","@types/semver":"^7.5.8","@types/vscode":"^1.95.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@types/archiver":"^6.0.3","@types/inquirer":"^9.0.7","@vscode/codicons":"^0.0.36","chai-as-promised":"^8.0.1","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.12","typescript-eslint":"^8.17.0","esbuild-visualizer":"^0.6.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@types/chai-as-promised":"^8.0.1","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.0.4_1733495262620_0.3681530278349594","host":"s3://npm-registry-packages"}},"2.0.5":{"name":"factoriomod-debug","version":"2.0.5","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.0.5","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"3197417b53ec6a1208a0f55ac31bb6d45074c242","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.0.5.tgz","fileCount":47,"integrity":"sha512-QNozgveRRK9S/JfhTOpE4b7yOLU7SDX8BUTQjNWn8fAPLKSdxd8qXdSp6dOgPooUXReU9y16u1OqmfazvS1nKw==","signatures":[{"sig":"MEUCIAbqfI8J6NqPQbctIMH1EQR1fxb/LXFaPzty70g41Ee8AiEAyiIF5ofdLfJbAstVkWvCmf8bbBeuIAZaxJAgH7hdEpA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3177377},"icon":"images/factoriomod-debug-icon.png","main":"./dist/fmtk-vscode.js","engines":{"node":">20","vscode":"^1.96.0"},"gitHead":"90e4ececa2f12b06dd7a7240ef1071ecc36c7656","scripts":{"lint":"eslint src --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"tsx ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"10.9.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":false,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"22.9.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","d3":"^7.9.0","ini":"^5.0.0","tsx":"^4.19.2","chai":"^5.1.2","mimer":"^2.0.2","mocha":"^11.0.1","eslint":"^9.17.0","remark":"^15.0.1","rimraf":"^6.0.1","semver":"^7.6.3","esbuild":"^0.24.0","archiver":"^7.0.1","inquirer":"^12.2.0","@types/d3":"^7.4.3","commander":"^12.1.0","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dot-object":"^2.1.5","node-fetch":"^3.3.2","typescript":"^5.7.2","vscode-uri":"^3.0.8","@types/chai":"^5.0.1","@types/node":"^22.10.2","@types/mocha":"^10.0.10","@vscode/vsce":"^3.2.1","jsonc-parser":"^3.3.1","readdir-glob":"^2.0.1","@types/semver":"^7.5.8","@types/vscode":"^1.96.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@types/archiver":"^6.0.3","@types/inquirer":"^9.0.7","@vscode/codicons":"^0.0.36","chai-as-promised":"^8.0.1","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.12","typescript-eslint":"^8.18.1","esbuild-visualizer":"^0.6.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@types/chai-as-promised":"^8.0.1","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.0.5_1734563201503_0.7771034330856998","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"factoriomod-debug","version":"2.0.6","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.0.6","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"7e8ed5615fdf988fc5ab63be2563009fd4bd6b37","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.0.6.tgz","fileCount":50,"integrity":"sha512-LW0/K+H7jg3AI47jTkLnjNzEJOsGYEFqMlO7BbPEB3o+pZUi9yAkfwT5GQ2C9GxymSei4RTibFPDevwmrMSC3g==","signatures":[{"sig":"MEQCIHBvIo0TIXVHKwz9Y8K4xcwn5nK4+32E2aTPE/xKqbwdAiAOxWNySdyKtLfrdz/j64+GhNMIpcXTQznus1zp8egsuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2150708},"icon":"images/factoriomod-debug-icon.png","main":"dist/fmtk-vscode.js","type":"module","engines":{"node":">20","vscode":"^1.100.0"},"gitHead":"ac41ccc68626d7c460740afd21a28337e5aa767f","scripts":{"lint":"eslint . --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"11.3.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","required":["name","factorioPath"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"const":true},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."},"nativeDebugger":{"type":"string","examples":["vsjitdebugger.exe"],"description":"Native debugger to launch factorio with"}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":false,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","d3":"^7.9.0","ini":"^5.0.0","tsx":"^4.19.4","chai":"^5.2.0","jiti":"^2.4.2","mime":"^4.0.7","mocha":"^11.5.0","eslint":"^9.28.0","remark":"^15.0.1","rimraf":"^6.0.1","semver":"^7.7.2","esbuild":"^0.25.5","globals":"^16.2.0","archiver":"^7.0.1","@types/d3":"^7.4.3","commander":"^14.0.0","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dot-object":"^2.1.5","node-fetch":"^3.3.2","typescript":"^5.8.3","vscode-uri":"^3.1.0","@types/chai":"^5.2.2","@types/node":"^22.15.30","yoctocolors":"^2.1.1","@types/mocha":"^10.0.10","@vscode/vsce":"^3.5.0","jsonc-parser":"^3.3.1","readdir-glob":"^2.0.1","@types/semver":"^7.7.0","@types/vscode":"^1.100.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@inquirer/input":"^4.1.12","@types/archiver":"^6.0.3","@types/inquirer":"^9.0.8","@vscode/codicons":"^0.0.36","chai-as-promised":"^8.0.1","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.12","typescript-eslint":"^8.33.1","@inquirer/password":"^4.0.15","@types/mute-stream":"^0.0.4","esbuild-visualizer":"^0.7.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@types/chai-as-promised":"^8.0.2","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@stylistic/eslint-plugin-ts":"^4.4.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.0.6_1749749470890_0.15982509481735074","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"factoriomod-debug","version":"2.0.7","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.0.7","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"cd7801a87674590f826fe89f0b6a03289e04a2d0","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.0.7.tgz","fileCount":50,"integrity":"sha512-6kRHrxq95nm7E8ygnNtbCaTGyQKpQzP5DR3coD7/t98S/hPs4Dv/uC6fHNsa6UekF/pSkLsdvHVxGqg4al+D6Q==","signatures":[{"sig":"MEUCIFIKNrzkDkOhBDVKwIG7NGTp9Vh32bJv9yIHew6wpBrzAiEA/n3LI2Y1Ul0BzyKBr51Z//zjsAimDHQg8oIYAnBqb/Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2152213},"icon":"images/factoriomod-debug-icon.png","main":"dist/fmtk-vscode.js","type":"module","engines":{"node":">20","vscode":"^1.101.0"},"gitHead":"5734daf6f1f0166ce8fc05bc07cf6504bd28d006","scripts":{"lint":"eslint . --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","actor":{"name":"justarandomgeek","type":"user","email":"npm@justarandomgeek.com"},"email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"11.3.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","anyOf":[{"required":["onlineDocs"]},{"required":["factorioPath"],"properties":{"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."}}}],"required":["name"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"deprecationMessage":"Active status is no longer marked in settings"},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":false,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","d3":"^7.9.0","ini":"^5.0.0","tsx":"^4.20.3","chai":"^5.2.0","jiti":"^2.4.2","mime":"^4.0.7","mocha":"11.6.0","eslint":"^9.29.0","remark":"^15.0.1","rimraf":"^6.0.1","semver":"^7.7.2","esbuild":"^0.25.5","globals":"^16.2.0","archiver":"^7.0.1","@types/d3":"^7.4.3","commander":"^14.0.0","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dot-object":"^2.1.5","node-fetch":"^3.3.2","typescript":"^5.8.3","vscode-uri":"^3.1.0","@types/chai":"^5.2.2","@types/node":"^22.15.32","yoctocolors":"^2.1.1","@types/mocha":"^10.0.10","@vscode/vsce":"^3.5.0","jsonc-parser":"^3.3.1","readdir-glob":"^2.0.1","@types/semver":"^7.7.0","@types/vscode":"^1.101.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@inquirer/input":"^4.1.12","@types/archiver":"^6.0.3","@types/inquirer":"^9.0.8","@vscode/codicons":"^0.0.36","chai-as-promised":"^8.0.1","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.12","typescript-eslint":"^8.34.1","@inquirer/password":"^4.0.15","@types/mute-stream":"^0.0.4","esbuild-visualizer":"^0.7.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@types/chai-as-promised":"^8.0.2","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@stylistic/eslint-plugin-ts":"^4.4.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.0.7_1750518010613_0.27225077134348874","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"factoriomod-debug","version":"2.0.8","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.0.8","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"2edd2416afb945673dca02ebe10379e3016ae21a","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.0.8.tgz","fileCount":50,"integrity":"sha512-DYNa8mtnmulqpCjsUbh4yYt31Z7+bIeQN0mCNdzE4m4PoXA8enGMJ25PnzTqbOgrOSJELThqLD7WX6fJxufC8g==","signatures":[{"sig":"MEYCIQDjp6hggipuW/g4709sDpXiONlKzBqP6la4hjELV2+6rgIhAK+m2t68NEF6W5mSQ7sxxIrj+g7xeNAvijXaYhCOMnIU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2153539},"icon":"images/factoriomod-debug-icon.png","main":"dist/fmtk-vscode.js","type":"module","engines":{"node":">20","vscode":"^1.101.0"},"gitHead":"af0661c2f28cbd8cf7d6ead3e34ddad2e85a7cc2","scripts":{"lint":"eslint . --ext ts","test":"c8 mocha","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","actor":{"name":"justarandomgeek","type":"user","email":"npm@justarandomgeek.com"},"email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"11.3.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","anyOf":[{"required":["onlineDocs"]},{"required":["factorioPath"],"properties":{"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."}}}],"required":["name"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"deprecationMessage":"Active status is no longer marked in settings"},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":false,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","d3":"^7.9.0","ini":"^5.0.0","tsx":"^4.20.3","chai":"^5.2.1","jiti":"^2.4.2","mime":"^4.0.7","mocha":"11.6.0","eslint":"^9.30.1","remark":"^15.0.1","rimraf":"^6.0.1","semver":"^7.7.2","esbuild":"^0.25.6","globals":"^16.3.0","archiver":"^7.0.1","@types/d3":"^7.4.3","commander":"^14.0.0","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dot-object":"^2.1.5","node-fetch":"^3.3.2","typescript":"^5.8.3","vscode-uri":"^3.1.0","@types/chai":"^5.2.2","@types/node":"^22.16.2","yoctocolors":"^2.1.1","@types/mocha":"^10.0.10","@vscode/vsce":"^3.6.0","jsonc-parser":"^3.3.1","readdir-glob":"^2.0.1","@types/semver":"^7.7.0","@types/vscode":"^1.101.0","@types/buffers":"^0.1.34","@types/request":"^2.48.12","d3-flame-graph":"^4.1.3","@inquirer/input":"^4.2.0","@types/archiver":"^6.0.3","@types/inquirer":"^9.0.8","@vscode/codicons":"^0.0.36","chai-as-promised":"^8.0.1","@types/dot-object":"^2.1.6","@types/node-fetch":"^2.6.12","typescript-eslint":"^8.36.0","@inquirer/password":"^4.0.16","@types/mute-stream":"^0.0.4","esbuild-visualizer":"^0.7.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@types/chai-as-promised":"^8.0.2","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@stylistic/eslint-plugin-ts":"^4.4.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.0.8_1752082509266_0.2274858375215716","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"factoriomod-debug","version":"2.0.9","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.0.9","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"19070c4f65dcff51c7aa15fb1961637cf037747b","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.0.9.tgz","fileCount":48,"integrity":"sha512-E8tjmYmjlSfjarPIeLspwD2PurrwPZJTqL+ejgbfooBTblUBEgOh8CiJjPHqz9DFCLU2FRn10pkhwYFrSc/u+w==","signatures":[{"sig":"MEQCIF6Lkvwrj9cmb9OOHwTc9OeSrLHdHQWXFLweILSGkBoeAiALzPKL7Scuhcidnufeu8EJDKiz20CBvyfPCQnzDlwS5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2009626},"icon":"images/factoriomod-debug-icon.png","main":"dist/fmtk-vscode.js","type":"module","engines":{"node":">22","vscode":"^1.104.0"},"gitHead":"4f9cae8fc28b1de201fd7c1b03bdc790f849497b","scripts":{"lint":"eslint . --ext ts --flag unstable_native_nodejs_ts_config","test":"c8 node --experimental-transform-types --test ./test/*.spec.ts","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"node ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","postinstall":"node ./postinstall.ts","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"11.3.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.details"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@6","command":"factorio.details"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"title":"Sync details to Portal","command":"factorio.details","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"extensions":[".cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","anyOf":[{"required":["onlineDocs"]},{"required":["factorioPath"],"properties":{"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."}}}],"required":["name"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"deprecationMessage":"Active status is no longer marked in settings"},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":false,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","d3":"^7.9.0","ini":"^5.0.0","mime":"^4.1.0","eslint":"^9.35.0","remark":"^15.0.1","rimraf":"^6.0.1","semver":"^7.7.2","esbuild":"^0.25.10","globals":"^16.4.0","archiver":"^7.0.1","@types/d3":"^7.4.3","commander":"^14.0.1","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dateformat":"^5.0.3","dot-object":"^2.1.5","typescript":"^5.9.2","vscode-uri":"^3.1.0","@types/node":"^22.18.5","yoctocolors":"^2.1.2","@vscode/vsce":"^3.6.0","jsonc-parser":"^3.3.1","readdir-glob":"^2.0.1","@types/semver":"^7.7.1","@types/vscode":"^1.104.0","patch-package":"^8.0.0","@types/buffers":"^0.1.34","@types/request":"^2.48.13","d3-flame-graph":"^4.1.3","@inquirer/input":"^4.2.4","@types/archiver":"^6.0.3","@types/inquirer":"^9.0.9","@vscode/codicons":"^0.0.40","esbuild-compress":"^2.0.2","@types/dateformat":"^5.0.3","@types/dot-object":"^2.1.6","typescript-eslint":"^8.44.0","@inquirer/password":"^4.0.20","@types/mute-stream":"^0.0.4","esbuild-visualizer":"^0.7.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@stylistic/eslint-plugin":"^5.3.1","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.0.9_1758133039490_0.8390355483999634","host":"s3://npm-registry-packages-npm-production"}},"2.0.10":{"name":"factoriomod-debug","version":"2.0.10","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.0.10","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"a75573d3c565a402216d10ddd1c8ade6fcf4d811","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.0.10.tgz","fileCount":47,"integrity":"sha512-UMuf8IIs2YM3vvQim7Kd+A7MuW3b7kTb75tvDCTrRUtU4kWXdtXfPsLN64GE9tKznFE9FOUhCZWeeIEnavpvWQ==","signatures":[{"sig":"MEUCIQDg8Kr9lw5qFiYRYwjnd7XfjIU4MUtVfl1ibLPhWyMQhAIgJtyG1KZUzVxYe6D7pzS0Vg8V8/VhmDX7kRgUUdQErGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2045090},"icon":"images/factoriomod-debug-icon.png","main":"dist/fmtk-vscode.js","type":"module","engines":{"node":">=22.7.0","vscode":"^1.107.0"},"gitHead":"576b87c87444ca3bf33c4cd39686837e9925f47f","scripts":{"lint":"eslint . --ext ts --flag unstable_native_nodejs_ts_config","test":"c8 node --experimental-transform-types --test ./test/*.spec.ts","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"node --experimental-transform-types ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"11.3.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.details"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@6","command":"factorio.details"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"title":"Sync details to Portal","command":"factorio.details","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"configuration":"./language/factorio-locale.language-configuration.json","filenamePatterns":["**/locale/*/*.cfg"]},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","anyOf":[{"required":["onlineDocs"]},{"required":["factorioPath"],"properties":{"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."}}}],"required":["name"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"deprecationMessage":"Active status is no longer marked in settings"},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":false,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","d3":"^7.9.0","ini":"^6.0.0","mime":"^4.1.0","dotize":"^0.6.0","eslint":"^9.39.2","remark":"^15.0.1","rimraf":"^6.1.2","semver":"^7.7.3","esbuild":"^0.27.2","globals":"^16.5.0","archiver":"^7.0.1","@types/d3":"^7.4.3","commander":"^14.0.2","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dateformat":"^5.0.3","typescript":"^5.9.3","vscode-uri":"^3.1.0","@types/node":"^22.19.3","yoctocolors":"^2.1.2","@vscode/vsce":"^3.7.1","jsonc-parser":"^3.3.1","readdir-glob":"^2.0.1","@types/semver":"^7.7.1","@types/vscode":"^1.107.0","patch-package":"^8.0.1","@types/buffers":"^0.1.34","@types/request":"^2.48.13","d3-flame-graph":"^4.1.3","@inquirer/input":"^5.0.3","@types/archiver":"^7.0.0","@types/inquirer":"^9.0.9","@vscode/codicons":"^0.0.44","esbuild-compress":"^2.0.2","@types/dateformat":"^5.0.3","typescript-eslint":"^8.51.0","@inquirer/password":"^5.0.3","@types/mute-stream":"^0.0.4","esbuild-visualizer":"^0.7.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@stylistic/eslint-plugin":"^5.6.1","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.0.10_1767301066882_0.4478153819924886","host":"s3://npm-registry-packages-npm-production"}},"2.0.11":{"name":"factoriomod-debug","version":"2.0.11","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.0.11","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"3107b3cd308fd33222187d841443ea6e12204446","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.0.11.tgz","fileCount":47,"integrity":"sha512-+35FJhBvVJNUtvINFcuv/D9blZoN4RKXQNCs5ZZlkZaSyLbJMpjsvVfEYqUDMDxdiHJKL+aZNiAjy3iXsDvlXg==","signatures":[{"sig":"MEUCIQC7pKlljGDaEXAyP/CXZTf3m5tXQm+IYIhGykM7Trwq5AIgXXO9FcoaShiaUbvnLiBRwUTo9q0ktuS4VskxfSAM57Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1967488},"icon":"images/factoriomod-debug-icon.png","main":"dist/fmtk-vscode.js","type":"module","engines":{"node":">=22.7.0","vscode":"^1.116.0"},"gitHead":"cce224e2f00dfc1f0f913cb3077f637dc72fcc84","scripts":{"lint":"eslint . --ext ts --flag unstable_native_nodejs_ts_config","test":"c8 node --experimental-transform-types --test ./test/*.spec.ts","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"node --experimental-transform-types ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"11.9.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.details"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@6","command":"factorio.details"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"title":"Sync details to Portal","command":"factorio.details","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"tags":{"type":"object","description":"Extra debug session tags, readable under `__DebugAdapter.tags` during this session."},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"configuration":"./language/factorio-locale.language-configuration.json","filenamePatterns":["**/locale/*/*.cfg"]},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","anyOf":[{"required":["onlineDocs"]},{"required":["factorioPath"],"properties":{"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."}}}],"required":["name"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"deprecationMessage":"Active status is no longer marked in settings"},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.docs.usePrototypeDumps":{"type":"boolean","default":false,"description":"EXPERIMENTAL: Use prototype dumps `script-output/mod-settings-dump.json` and `script-output/data-raw-dump.json` if available when generating docs"},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":false,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-locale]":{"editor.wordWrap":"on"},"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","d3":"^7.9.0","ini":"^6.0.0","mime":"^4.1.0","dotize":"^0.6.0","eslint":"^10.2.1","remark":"^15.0.1","rimraf":"^6.1.3","semver":"^7.7.4","esbuild":"^0.28.0","globals":"^17.5.0","archiver":"^7.0.1","@types/d3":"^7.4.3","commander":"^14.0.3","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dateformat":"^5.0.3","typescript":"^6.0.3","vscode-uri":"^3.1.0","@types/node":"^25.6.0","yoctocolors":"^2.1.2","@vscode/vsce":"^3.9.1","jsonc-parser":"^3.3.1","readdir-glob":"^3.0.0","@types/semver":"^7.7.1","@types/vscode":"^1.116.0","patch-package":"^8.0.1","@types/buffers":"^0.1.34","@types/request":"^2.48.13","d3-flame-graph":"^5.0.0","@inquirer/input":"^5.0.12","@types/archiver":"^7.0.0","@types/inquirer":"^9.0.9","@vscode/codicons":"^0.0.45","esbuild-compress":"^2.2.0","@types/dateformat":"^5.0.3","typescript-eslint":"^8.59.0","@inquirer/password":"^5.0.12","@types/mute-stream":"^0.0.4","esbuild-visualizer":"^0.7.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@stylistic/eslint-plugin":"^5.10.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.0.11_1777342041175_0.7547663179428032","host":"s3://npm-registry-packages-npm-production"}},"2.0.12":{"name":"factoriomod-debug","version":"2.0.12","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.0.12","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"1c1ab1bd9a2723f7b17ad05c483aae23bab0e665","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.0.12.tgz","fileCount":47,"integrity":"sha512-BHGWgrsCZmRk7waTpuVBXcHCvRWBR/PM6iitga9tO2cQH4LaCqhZodEgOWA1y6XUvYu1rUFtdOTkKix+lvPCqw==","signatures":[{"sig":"MEYCIQDX+dUpxvzSPJIDRxoIqIAxDdapyLFIjlR0iOfi9XQTYAIhAMBnDtbQt7WdcM58nW7QG+Dc1DQ0taJZ0blshmQfUXkO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1967597},"icon":"images/factoriomod-debug-icon.png","main":"dist/fmtk-vscode.js","type":"module","engines":{"node":">=22.7.0","vscode":"^1.116.0"},"gitHead":"e782be0e0589c6056ecb889a29bb546e821820c7","scripts":{"lint":"eslint . --ext ts --flag unstable_native_nodejs_ts_config","test":"c8 node --experimental-transform-types --test ./test/*.spec.ts","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"node --experimental-transform-types ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"11.9.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.details"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@6","command":"factorio.details"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"title":"Sync details to Portal","command":"factorio.details","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"tags":{"type":"object","description":"Extra debug session tags, readable under `__DebugAdapter.tags` during this session."},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"configuration":"./language/factorio-locale.language-configuration.json","filenamePatterns":["**/locale/*/*.cfg"]},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","anyOf":[{"required":["onlineDocs"]},{"required":["factorioPath"],"properties":{"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."}}}],"required":["name"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"deprecationMessage":"Active status is no longer marked in settings"},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.docs.usePrototypeDumps":{"type":"boolean","default":false,"description":"EXPERIMENTAL: Use prototype dumps `script-output/mod-settings-dump.json` and `script-output/data-raw-dump.json` if available when generating docs"},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":false,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-locale]":{"editor.wordWrap":"on"},"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","d3":"^7.9.0","ini":"^6.0.0","mime":"^4.1.0","dotize":"^0.6.0","eslint":"^10.2.1","remark":"^15.0.1","rimraf":"^6.1.3","semver":"^7.7.4","esbuild":"^0.28.0","globals":"^17.5.0","archiver":"^7.0.1","@types/d3":"^7.4.3","commander":"^14.0.3","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dateformat":"^5.0.3","typescript":"^6.0.3","vscode-uri":"^3.1.0","@types/node":"^25.6.0","yoctocolors":"^2.1.2","@vscode/vsce":"^3.9.1","jsonc-parser":"^3.3.1","readdir-glob":"^3.0.0","@types/semver":"^7.7.1","@types/vscode":"^1.116.0","patch-package":"^8.0.1","@types/buffers":"^0.1.34","@types/request":"^2.48.13","d3-flame-graph":"^5.0.0","@inquirer/input":"^5.0.12","@types/archiver":"^7.0.0","@types/inquirer":"^9.0.9","@vscode/codicons":"^0.0.45","esbuild-compress":"^2.2.0","@types/dateformat":"^5.0.3","typescript-eslint":"^8.59.0","@inquirer/password":"^5.0.12","@types/mute-stream":"^0.0.4","esbuild-visualizer":"^0.7.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@stylistic/eslint-plugin":"^5.10.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.0.12_1777504586922_0.05782807493256059","host":"s3://npm-registry-packages-npm-production"}},"2.0.13":{"name":"factoriomod-debug","version":"2.0.13","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.0.13","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"85b7f432f1b49f9ce1b04d7a3881c9fb056e60bd","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.0.13.tgz","fileCount":47,"integrity":"sha512-gU3/il5uZjPsBLuJGtsCWLrQA5HRkb7cnY04ZJ4wYGzKZblEggVVNaQg0SyWXH3+0Ln1aLA3QAEZcAGLG5STBw==","signatures":[{"sig":"MEUCIDlDHUCyeuCtNSzIkgwpdC/qZlaKrM3OBldj9HY7lKc4AiEAzKZhfzZSIDNDP3WF0iMwaLv5aii46YPvkMq12ZVzXus=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1969053},"icon":"images/factoriomod-debug-icon.png","main":"dist/fmtk-vscode.js","type":"module","engines":{"node":">=22.7.0","vscode":"^1.116.0"},"gitHead":"0e8088ffcd2d65ec280236cfeef01d26e27b20d2","scripts":{"lint":"eslint . --ext ts --flag unstable_native_nodejs_ts_config","test":"c8 node --experimental-transform-types --test ./test/*.spec.ts","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"node --experimental-transform-types ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"11.9.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.details"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@6","command":"factorio.details"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"title":"Sync details to Portal","command":"factorio.details","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"tags":{"type":"object","description":"Extra debug session tags, readable under `__DebugAdapter.tags` during this session."},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"configuration":"./language/factorio-locale.language-configuration.json","filenamePatterns":["**/locale/*/*.cfg"]},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","anyOf":[{"required":["onlineDocs"]},{"required":["factorioPath"],"properties":{"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."}}}],"required":["name"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"deprecationMessage":"Active status is no longer marked in settings"},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.tasks.execArgvExtras":{"type":"array","items":{"type":"string"},"description":"Extra options to add to `execArgv` when forking"},"factorio.tasks.execArgvOptions":{"type":"array","items":{"enum":["clear","stripjsflags","stripinspect"]},"default":[],"description":"Options to modify existing `execArgv` when forking","uniqueItems":true},"factorio.docs.usePrototypeDumps":{"type":"boolean","default":false,"description":"EXPERIMENTAL: Use prototype dumps `script-output/mod-settings-dump.json` and `script-output/data-raw-dump.json` if available when generating docs"},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":false,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-locale]":{"editor.wordWrap":"on"},"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","d3":"^7.9.0","ini":"^6.0.0","mime":"^4.1.0","dotize":"^0.6.0","eslint":"^10.2.1","remark":"^15.0.1","rimraf":"^6.1.3","semver":"^7.7.4","esbuild":"^0.28.0","globals":"^17.5.0","archiver":"^7.0.1","@types/d3":"^7.4.3","commander":"^14.0.3","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dateformat":"^5.0.3","typescript":"^6.0.3","vscode-uri":"^3.1.0","@types/node":"^25.6.0","yoctocolors":"^2.1.2","@vscode/vsce":"^3.9.1","jsonc-parser":"^3.3.1","readdir-glob":"^3.0.0","@types/semver":"^7.7.1","@types/vscode":"^1.116.0","patch-package":"^8.0.1","@types/buffers":"^0.1.34","@types/request":"^2.48.13","d3-flame-graph":"^5.0.0","@inquirer/input":"^5.0.12","@types/archiver":"^7.0.0","@types/inquirer":"^9.0.9","@vscode/codicons":"^0.0.45","esbuild-compress":"^2.2.0","@types/dateformat":"^5.0.3","typescript-eslint":"^8.59.0","@inquirer/password":"^5.0.12","@types/mute-stream":"^0.0.4","esbuild-visualizer":"^0.7.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@stylistic/eslint-plugin":"^5.10.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.0.13_1777828419503_0.9987939321780728","host":"s3://npm-registry-packages-npm-production"}},"2.0.14":{"name":"factoriomod-debug","version":"2.0.14","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.0.14","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"db279e72f72c9e9480deab5b3b8b4f170d4cdf8d","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.0.14.tgz","fileCount":47,"integrity":"sha512-Hd1YmY9MPywPckYAoqrF2flYT2upCXWUBwnaHdZalsyV9EitILz43LJy5y60aZsYuB9MFBJCdSSsDYHh9DcBrw==","signatures":[{"sig":"MEUCIGESn/rmXSE3rDdEydxziNG9TyUWgW1pWcW1/qSFLjmLAiEA3zWd8L0/nzh5HrsN7gTvumkvNvfcaYR34Iczql3CDSU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1852615},"icon":"images/factoriomod-debug-icon.png","main":"dist/fmtk-vscode.js","type":"module","engines":{"node":">=22.7.0","vscode":"^1.116.0"},"gitHead":"3223a202ea364e78bf045b621a749fbc2652fde5","scripts":{"lint":"eslint . --ext ts --flag unstable_native_nodejs_ts_config","test":"c8 node --experimental-transform-types --test ./test/*.spec.ts","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"node --experimental-transform-types ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"11.9.0","contributes":{"menus":{"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.details"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@6","command":"factorio.details"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"colors":[{"id":"factorio.ProfileTimerForeground","defaults":{"dark":"#ffffff","light":"#000000","highContrast":"#ffffff"},"description":"Color for line timer text when running Factorio Mod profiler"},{"id":"factorio.ProfileFunctionTimerForeground","defaults":{"dark":"#ffffff66","light":"#000000","highContrast":"#ffffff"},"description":"Color for function timer text when running Factorio Mod profiler"}],"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"title":"Sync details to Portal","command":"factorio.details","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["debug"],"type":"factoriomod","label":"Factorio Mod Debug","program":"./dist/fmtk-cli.js","runtime":"node","languages":["lua","typescript"],"configurationSnippets":[{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},"label":"Factorio Mod Debug: Debug","description":"A new configuration for debugging Factorio mods."},{"body":{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},"label":"Factorio Mod Debug: Debug (Settings & Data)","description":"A new configuration for debugging Factorio mods in Settings & Data stages."},{"body":{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"},"label":"Factorio Mod Debug: Profile","description":"A new configuration for profiling Factorio mods."}],"initialConfigurations":[{"name":"Factorio Mod Debug","type":"factoriomod","request":"launch"},{"name":"Factorio Mod Debug (Settings & Data)","type":"factoriomod","request":"launch","hookData":true,"hookSettings":true},{"name":"Factorio Mod Debug (Profile)","type":"factoriomod","request":"launch","hookMode":"profile"}],"configurationAttributes":{"launch":{"properties":{"env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"tags":{"type":"object","description":"Extra debug session tags, readable under `__DebugAdapter.tags` during this session."},"trace":{"type":"boolean","default":false,"examples":[true],"description":"Enable logging of the Debug Adapter Protocol."},"hookLog":{"type":"boolean","default":true,"description":"Hook `log()` and convert to Output events"},"hookData":{"type":"boolean","default":false,"description":"Hook Data Stage for stepping/debug"},"hookMode":{"enum":["debug","profile"],"default":"debug","description":"Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."},"modsPath":{"type":"string","description":"Absolute path to Factorio mods directory."},"manageMod":{"type":"boolean","default":true,"description":"Enable automatic management of the debugadapter mod"},"adjustMods":{"description":"Dictionary of modname -> true or version string to enable, false to disable","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"keepOldLog":{"type":"boolean","default":false,"description":"When hooking `log()`, also call original `log()`"},"hookControl":{"type":["array","boolean"],"items":{"type":"string"},"default":true,"description":"List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts."},"profileTree":{"type":"boolean","default":true,"description":"Track and display execution time on a call tree."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"hookSettings":{"type":"boolean","default":false,"description":"Hook Settings Stage for stepping/debug"},"profileFuncs":{"type":"boolean","default":true,"description":"Track and display execution time per-function."},"profileLines":{"type":"boolean","default":true,"description":"Track and display execution time per-line. This greatly increases the noise/overhead in the measurments."},"runningBreak":{"type":"integer","default":5000,"minimum":1,"description":"Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command."},"runningTimeout":{"type":"integer","default":2000,"minimum":1000,"description":"Timeout in ms for eval and variables requests while running"},"checkPrototypes":{"type":"boolean","description":"Add --check-unused-prototype-data to factorioArgs."},"disableExtraMods":{"type":"boolean","description":"Disable any mods not named in `adjustMods`"},"profileSlowStart":{"type":"integer","default":0,"minimum":0,"description":"Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior."},"adjustModSettings":{"type":"array","items":{"type":"object","required":["scope","name"],"properties":{"name":{"type":"string","description":"The prototype name of the setting to adjust"},"scope":{"enum":["startup","runtime-global","runtime-per-player"],"description":"The scope of the setting to adjust"},"value":{"type":["boolean","number","string"],"description":"New value for setting, omit to clear setting"}},"defaultSnippets":[{"body":{"name":"$2","scope":"${1|startup,runtime-global,runtime-per-player|}","value":"$3"},"label":"setting"}]},"description":"List of settings to adjust before launching"},"profileUpdateRate":{"type":"integer","default":500,"minimum":1,"description":"Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower."},"useInstrumentMode":{"type":"boolean","default":true,"description":"Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10"},"allowDisableBaseMod":{"type":"boolean","description":"Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state."}}}}}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"configuration":"./language/factorio-locale.language-configuration.json","filenamePatterns":["**/locale/*/*.cfg"]},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","anyOf":[{"required":["onlineDocs"]},{"required":["factorioPath"],"properties":{"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."}}}],"required":["name"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"deprecationMessage":"Active status is no longer marked in settings"},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.runMode":{"enum":["inline","external"],"default":"inline","description":"Run mode for Debug Adapter","enumDescriptions":["Run inside extension, communicate directly","Run in an external process, communicate via stdio"]},"factorio.profile.rulers":{"type":"array","items":{"oneOf":[{"required":["color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{1,8}$"}}},{"required":["themeColor"],"properties":{"themeColor":{"type":"string"}}}],"required":["threshold"],"properties":{"lane":{"enum":["Left","Center","Right","Full"],"default":"Right"},"threshold":{"type":"number","maximum":1,"minimum":0}}},"default":[{"color":"#FF0000","threshold":0.75},{"color":"#FF6600","threshold":0.5}],"description":"Ruler colors and thresholds to display hotspots in the scrollbar"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.profile.colorBy":{"enum":["count","totaltime","averagetime"],"type":"string","default":"totaltime","description":"Which attribute to color labels by"},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.tasks.execArgvExtras":{"type":"array","items":{"type":"string"},"description":"Extra options to add to `execArgv` when forking"},"factorio.tasks.execArgvOptions":{"type":"array","items":{"enum":["clear","stripjsflags","stripinspect"]},"default":[],"description":"Options to modify existing `execArgv` when forking","uniqueItems":true},"factorio.docs.usePrototypeDumps":{"type":"boolean","default":false,"description":"EXPERIMENTAL: Use prototype dumps `script-output/mod-settings-dump.json` and `script-output/data-raw-dump.json` if available when generating docs"},"factorio.profile.colorScaleMode":{"enum":["boost","linear","mute"],"type":"string","default":"boost","description":"Scale function for coloring timer labels"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.profile.colorScaleFactor":{"type":"number","default":1,"description":"Adjustment factor for color scale function","exclusiveMinimum":0},"factorio.profile.displayAverageTime":{"type":"boolean","default":true,"description":"Display average time in labels instead of cumulative time."},"factorio.profile.timerHighlightColor":{"type":"string","default":"#FF0000","pattern":"^#[0-9a-fA-F]{6}$","description":"Color to be used to highlight hot timers"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":"boolean","default":false,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-locale]":{"editor.wordWrap":"on"},"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","d3":"^7.9.0","ini":"^6.0.0","mime":"^4.1.0","dotize":"^0.6.0","eslint":"^10.3.0","remark":"^15.0.1","rimraf":"^6.1.3","semver":"^7.8.0","esbuild":"^0.28.0","globals":"^17.6.0","archiver":"^8.0.0","@types/d3":"^7.4.3","commander":"^14.0.3","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dateformat":"^5.0.3","typescript":"^6.0.3","vscode-uri":"^3.1.0","@types/node":"^25.6.2","yoctocolors":"^2.1.2","@vscode/vsce":"^3.9.1","jsonc-parser":"^3.3.1","readdir-glob":"^3.0.0","@types/semver":"^7.7.1","@types/vscode":"^1.116.0","patch-package":"^8.0.1","@types/buffers":"^0.1.34","@types/request":"^2.48.13","d3-flame-graph":"^5.0.0","@inquirer/input":"^5.0.13","@types/archiver":"^7.0.0","@types/inquirer":"^9.0.9","@vscode/codicons":"^0.0.45","esbuild-compress":"^2.2.0","@types/dateformat":"^5.0.3","typescript-eslint":"^8.59.3","@inquirer/password":"^5.0.13","@types/mute-stream":"^0.0.4","esbuild-visualizer":"^0.7.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^9.0.1","vscode-languageserver":"^9.0.1","@stylistic/eslint-plugin":"^5.10.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"extensionDependencies":["sumneko.lua"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.0.14_1778885587528_0.33038543922431174","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"factoriomod-debug","version":"2.1.2","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.1.2","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"c5eaa9cb4033b7a0ace883ee628dd2da3ec337ac","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.1.2.tgz","fileCount":42,"integrity":"sha512-FbO14zFL6ygwJ+UaRUB6h4mUTG0WFCvTs8MEfiATrjWdH/1IiYPkLrP8dAk1tP5cW9rvW/1yPn6kxKOxm7g4ug==","signatures":[{"sig":"MEYCIQDk6/Yx0FE7fHD9gfgqiV4tvl07ZHh+nV/hV7d5rMk9tAIhAIkiqSufNTFbx43f166npL5SxGG/tgfeOWSK7E023/T5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1724482},"icon":"images/factoriomod-debug-icon.png","main":"dist/fmtk-vscode.js","type":"module","engines":{"node":">=22.7.0","vscode":"^1.116.0"},"gitHead":"94b03f596c2e687322a2b5928411cd0ad06f2869","scripts":{"lint":"eslint . --ext ts --flag unstable_native_nodejs_ts_config","test":"c8 node --experimental-transform-types --test ./test/*.spec.ts","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"node --experimental-transform-types ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"11.9.0","contributes":{"menus":{"debug/toolBar":[{"when":"debugType == 'factorio' && !factorio.debugProfileIsRunning","group":"navigation","command":"factorio.startProfile"},{"when":"debugType == 'factorio' && factorio.debugProfileIsRunning","group":"navigation","command":"factorio.stopProfile"}],"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.details"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@6","command":"factorio.details"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"title":"Sync details to Portal","command":"factorio.details","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"},{"icon":"$(record)","title":"Start Profile","command":"factorio.startProfile","category":"Factorio","enablement":"!factorio.debugProfileStarting"},{"icon":"$(stop-circle)","title":"Stop Profile","command":"factorio.stopProfile","category":"Factorio","enablement":"!factorio.debugProfileStopping"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["--dap"],"type":"factorio","label":"Factorio Debug Adapter Adapter","program":"factorio","languages":["lua"],"configurationSnippets":[{"name":"Factorio Debug Adapter","tags":{},"type":"factorio","request":"launch","factorioArgs":[]}],"initialConfigurations":[{"name":"Factorio Debug Adapter","type":"factorio","request":"launch"}],"configurationAttributes":{"launch":{"properties":{"tags":{"type":"object","description":"Extra debug session tags, readable under `debugadapter.tags` during this session."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"followSymlinks":{"type":"boolean","default":true,"description":"Follow symlinks when emitting source locations"}}}}},{"type":"factoriomod","deprecated":"Please upgrade to `factorio` launch type"}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"configuration":"./language/factorio-locale.language-configuration.json","filenamePatterns":["**/locale/*/*.cfg"]},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","anyOf":[{"required":["onlineDocs"]},{"required":["factorioPath"],"properties":{"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."}}}],"required":["name"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"deprecationMessage":"Active status is no longer marked in settings"},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.shim":{"type":"string","examples":["vsjitdebugger.exe"],"description":"debug shim to launch instead of native DAP"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.tasks.execArgvExtras":{"type":"array","items":{"type":"string"},"description":"Extra options to add to `execArgv` when forking"},"factorio.tasks.execArgvOptions":{"type":"array","items":{"enum":["clear","stripjsflags","stripinspect"]},"default":[],"description":"Options to modify existing `execArgv` when forking","uniqueItems":true},"factorio.docs.usePrototypeDumps":{"type":"boolean","default":false,"description":"EXPERIMENTAL: Use prototype dumps `script-output/mod-settings-dump.json` and `script-output/data-raw-dump.json` if available when generating docs"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":["boolean","null"],"default":null,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present. Default off for LuaLS, on for EmmyLua."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-locale]":{"editor.wordWrap":"on"},"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","d3":"^7.9.0","ini":"^6.0.0","mime":"^4.1.0","dotize":"^0.6.0","eslint":"^10.5.0","remark":"^15.0.1","rimraf":"^6.1.3","semver":"^7.8.5","esbuild":"^0.28.1","globals":"^17.6.0","archiver":"^8.0.0","@types/d3":"^7.4.3","commander":"^15.0.0","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dateformat":"^5.0.3","typescript":"^6.0.3","vscode-uri":"^3.1.0","@types/node":"^26.0.0","yoctocolors":"^2.1.2","@vscode/vsce":"^3.9.2","jsonc-parser":"^3.3.1","readdir-glob":"^3.0.0","@types/semver":"^7.7.1","@types/vscode":"^1.116.0","patch-package":"^8.0.1","@types/buffers":"^0.1.34","@types/request":"^2.48.13","d3-flame-graph":"^5.0.0","@inquirer/input":"^5.0.13","@types/archiver":"^8.0.0","@types/inquirer":"^9.0.10","@vscode/codicons":"^0.0.45","esbuild-compress":"^2.2.0","@types/dateformat":"^5.0.3","typescript-eslint":"^8.61.1","@inquirer/password":"^5.0.13","@types/mute-stream":"^0.0.4","esbuild-visualizer":"^0.7.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^10.0.0","vscode-languageserver":"^10.0.0","@stylistic/eslint-plugin":"^5.10.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.1.2_1782209632346_0.6283382772230521","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"factoriomod-debug","version":"2.1.3","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.1.3","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"2d7a2117227a038c912c912682f79d5bddf6df83","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.1.3.tgz","fileCount":42,"integrity":"sha512-dUiYiN7EGV1GOJTZq/K9qZW5BnsdD6evAe3MaSHnWik+ib9MZnchhxJzkO0tzhryhLRLCYQJjy8lMHvWHemQ2A==","signatures":[{"sig":"MEQCICBkZnyLlxTxyqxqnLi5nHi1iggN5nslBqaikRKx8qNSAiByZd0mFNR8KzPryDNE77tNCUVtycBMKnvIOSfXfqrLRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1723190},"icon":"images/factoriomod-debug-icon.png","main":"dist/fmtk-vscode.js","type":"module","engines":{"node":">=22.7.0","vscode":"^1.116.0"},"gitHead":"321abf21104b7dd6bffd9f0c18c1c9c6d7d75757","scripts":{"lint":"eslint . --ext ts --flag unstable_native_nodejs_ts_config","test":"c8 node --experimental-transform-types --test ./test/*.spec.ts","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"node --experimental-transform-types ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"11.9.0","contributes":{"menus":{"debug/toolBar":[{"when":"debugType == 'factorio' && !factorio.debugProfileIsRunning","group":"navigation","command":"factorio.startProfile"},{"when":"debugType == 'factorio' && factorio.debugProfileIsRunning","group":"navigation","command":"factorio.stopProfile"}],"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.details"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@6","command":"factorio.details"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"title":"Sync details to Portal","command":"factorio.details","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"},{"icon":"$(record)","title":"Start Profile","command":"factorio.startProfile","category":"Factorio","enablement":"!factorio.debugProfileStarting"},{"icon":"$(stop-circle)","title":"Stop Profile","command":"factorio.stopProfile","category":"Factorio","enablement":"!factorio.debugProfileStopping"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["--dap"],"type":"factorio","label":"Factorio Debug Adapter Adapter","program":"factorio","languages":["lua"],"configurationSnippets":[{"name":"Factorio Debug Adapter","tags":{},"type":"factorio","request":"launch","factorioArgs":[]}],"initialConfigurations":[{"name":"Factorio Debug Adapter","type":"factorio","request":"launch"}],"configurationAttributes":{"launch":{"properties":{"tags":{"type":"object","description":"Extra debug session tags, readable under `debugadapter.tags` during this session."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"followSymlinks":{"type":"boolean","default":true,"description":"Follow symlinks when emitting source locations"}}}}},{"type":"factoriomod","deprecated":"Please upgrade to `factorio` launch type"}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"configuration":"./language/factorio-locale.language-configuration.json","filenamePatterns":["**/locale/*/*.cfg"]},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","anyOf":[{"required":["onlineDocs"]},{"required":["factorioPath"],"properties":{"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."}}}],"required":["name"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"deprecationMessage":"Active status is no longer marked in settings"},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.shim":{"type":"string","examples":["vsjitdebugger.exe"],"description":"debug shim to launch instead of native DAP"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.tasks.execArgvExtras":{"type":"array","items":{"type":"string"},"description":"Extra options to add to `execArgv` when forking"},"factorio.tasks.execArgvOptions":{"type":"array","items":{"enum":["clear","stripjsflags","stripinspect"]},"default":[],"description":"Options to modify existing `execArgv` when forking","uniqueItems":true},"factorio.docs.usePrototypeDumps":{"type":"boolean","default":false,"description":"EXPERIMENTAL: Use prototype dumps `script-output/mod-settings-dump.json` and `script-output/data-raw-dump.json` if available when generating docs"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":["boolean","null"],"default":null,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present. Default off for LuaLS, on for EmmyLua."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-locale]":{"editor.wordWrap":"on"},"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","d3":"^7.9.0","ini":"^6.0.0","mime":"^4.1.0","dotize":"^0.6.0","eslint":"^10.5.0","remark":"^15.0.1","rimraf":"^6.1.3","semver":"^7.8.5","esbuild":"^0.28.1","globals":"^17.7.0","archiver":"^8.0.0","@types/d3":"^7.4.3","commander":"^15.0.0","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dateformat":"^5.0.3","typescript":"^6.0.3","vscode-uri":"^3.1.0","@types/node":"^26.0.0","yoctocolors":"^2.1.2","@vscode/vsce":"^3.9.2","jsonc-parser":"^3.3.1","readdir-glob":"^3.0.0","@types/semver":"^7.7.1","@types/vscode":"^1.116.0","patch-package":"^8.0.1","@types/buffers":"^0.1.34","@types/request":"^2.48.13","d3-flame-graph":"^5.0.0","@inquirer/input":"^5.0.13","@types/archiver":"^8.0.0","@types/inquirer":"^9.0.10","@vscode/codicons":"^0.0.45","esbuild-compress":"^2.2.0","@types/dateformat":"^5.0.3","typescript-eslint":"^8.62.0","@inquirer/password":"^5.0.13","@types/mute-stream":"^0.0.4","esbuild-visualizer":"^0.7.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^10.0.1","vscode-languageserver":"^10.0.1","@stylistic/eslint-plugin":"^5.10.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.1.3_1782349638350_0.4285760326983987","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"factoriomod-debug","version":"2.1.4","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.1.4","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"71755dfa88ba320c94aeaf60726a298a472fb7af","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.1.4.tgz","fileCount":42,"integrity":"sha512-HvgoqvgHi+RHYEXPkJSZPq1HND+m0aFn0fsg1byGQGXjqczWJxmGKK9B5PXUR2betlOK4YAM7BXkyTPdg1IAFQ==","signatures":[{"sig":"MEQCIBivH1aqrAtAthLuOTIERTJ7mqrYcHchMmIp0bwwL/pLAiBssInyi9nng/Ug9ysI0QW0TVpN+YMTI5hAclvMeerxTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1727476},"icon":"images/factoriomod-debug-icon.png","main":"dist/fmtk-vscode.js","type":"module","engines":{"node":">=22.7.0","vscode":"^1.120.0"},"gitHead":"4fb4918c05f6a9cd9e9217cdce05e222a4944695","scripts":{"lint":"eslint . --ext ts --flag unstable_native_nodejs_ts_config","test":"c8 node --experimental-transform-types --test ./test/*.spec.ts","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"node --experimental-transform-types ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"11.9.0","contributes":{"menus":{"debug/toolBar":[{"when":"debugType == 'factorio' && !factorio.debugProfileIsRunning","group":"navigation","command":"factorio.startProfile"},{"when":"debugType == 'factorio' && factorio.debugProfileIsRunning","group":"navigation","command":"factorio.stopProfile"}],"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.details"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@6","command":"factorio.details"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"title":"Sync details to Portal","command":"factorio.details","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"},{"icon":"$(record)","title":"Start Profile","command":"factorio.startProfile","category":"Factorio","enablement":"!factorio.debugProfileStarting"},{"icon":"$(stop-circle)","title":"Stop Profile","command":"factorio.stopProfile","category":"Factorio","enablement":"!factorio.debugProfileStopping"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["--dap"],"type":"factorio","label":"Factorio Debug Adapter Adapter","program":"factorio","languages":["lua"],"configurationSnippets":[{"name":"Factorio Debug Adapter","tags":{},"type":"factorio","request":"launch","factorioArgs":[]}],"initialConfigurations":[{"name":"Factorio Debug Adapter","type":"factorio","request":"launch"}],"configurationAttributes":{"launch":{"properties":{"tags":{"type":"object","description":"Extra debug session tags, readable under `debugadapter.tags` during this session."},"trace":{"type":"boolean","default":false,"description":"Trace DAP messages to a `dap-trace.log`"},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"followSymlinks":{"type":"boolean","default":true,"description":"Follow symlinks when emitting source locations"}}}}},{"type":"factoriomod","deprecated":"Please upgrade to `factorio` launch type"}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"configuration":"./language/factorio-locale.language-configuration.json","filenamePatterns":["**/locale/*/*.cfg"]},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","anyOf":[{"required":["onlineDocs"]},{"required":["factorioPath"],"properties":{"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."}}}],"required":["name"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"deprecationMessage":"Active status is no longer marked in settings"},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.shim":{"type":"string","examples":["vsjitdebugger.exe"],"description":"debug shim to launch instead of native DAP"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.tasks.execArgvExtras":{"type":"array","items":{"type":"string"},"description":"Extra options to add to `execArgv` when forking"},"factorio.tasks.execArgvOptions":{"type":"array","items":{"enum":["clear","stripjsflags","stripinspect"]},"default":[],"description":"Options to modify existing `execArgv` when forking","uniqueItems":true},"factorio.docs.usePrototypeDumps":{"type":"boolean","default":false,"description":"EXPERIMENTAL: Use prototype dumps `script-output/mod-settings-dump.json` and `script-output/data-raw-dump.json` if available when generating docs"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":["boolean","null"],"default":null,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present. Default off for LuaLS, on for EmmyLua."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-locale]":{"editor.wordWrap":"on"},"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","d3":"^7.9.0","ini":"^6.0.0","mime":"^4.1.0","dotize":"^0.6.0","eslint":"^10.6.0","remark":"^15.0.1","rimraf":"^6.1.3","semver":"^7.8.5","esbuild":"^0.28.1","globals":"^17.7.0","archiver":"^8.0.0","@types/d3":"^7.4.3","commander":"^15.0.0","tree-kill":"^1.2.2","@types/ini":"^4.1.1","dateformat":"^5.0.3","typescript":"^6.0.3","vscode-uri":"^3.1.0","@types/node":"^26.0.1","yoctocolors":"^2.1.2","@vscode/vsce":"^3.9.2","jsonc-parser":"^3.3.1","readdir-glob":"^3.0.0","@types/semver":"^7.7.1","@types/vscode":"^1.120.0","patch-package":"^8.0.1","@types/buffers":"^0.1.34","@types/request":"^2.48.13","d3-flame-graph":"^5.0.0","@inquirer/input":"^5.0.13","@types/archiver":"^8.0.0","@types/inquirer":"^9.0.10","@vscode/codicons":"^0.0.45","esbuild-compress":"^2.2.0","@types/dateformat":"^5.0.3","typescript-eslint":"^8.62.1","@inquirer/password":"^5.0.13","@types/mute-stream":"^0.0.4","esbuild-visualizer":"^0.7.0","@types/readdir-glob":"^1.1.5","@vscode/debugadapter":"^1.68.0","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^10.0.1","vscode-languageserver":"^10.0.1","@stylistic/eslint-plugin":"^5.10.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","@vscode/debugadapter-testsupport":"^1.68.0","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.1.4_1782834833794_0.22561149167653194","host":"s3://npm-registry-packages-npm-production"}},"2.1.5":{"name":"factoriomod-debug","version":"2.1.5","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.1.5","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"b4ed405fac63df814f480a8bc5b36628b192ab85","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.1.5.tgz","fileCount":37,"integrity":"sha512-4f/U/RTxVuhSA2iwebHTEL4Oq1XGoDsi/J2GcIpyJfkiGpLbg5AJ+zt7l841kIOiyOp3nj3zDCJOq/OqIzGh9w==","signatures":[{"sig":"MEQCIFZJiOQYMfzjvnWZH38RVSZUro6SlfHB8YrWAQBfLkvDAiBQmU18xTP6PZZ541ACAXguC4ijJwz/XF/joyhmIJ3FEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1731535},"icon":"images/factoriomod-debug-icon.png","main":"dist/fmtk-vscode.js","type":"module","engines":{"node":">=22.7.0","vscode":"^1.120.0"},"gitHead":"bbd6ef650b2ea0e8cc486a1416754a6e9f72d9f5","scripts":{"lint":"eslint . --ext ts --flag unstable_native_nodejs_ts_config","test":"c8 node --experimental-transform-types --test ./test/*.spec.ts","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"node --experimental-transform-types ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"11.9.0","contributes":{"menus":{"debug/toolBar":[{"when":"debugType == 'factorio' && !factorio.debugProfileIsRunning","group":"navigation","command":"factorio.startProfile"},{"when":"debugType == 'factorio' && factorio.debugProfileIsRunning","group":"navigation","command":"factorio.stopProfile"}],"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.details"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@6","command":"factorio.details"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"title":"Sync details to Portal","command":"factorio.details","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"},{"icon":"$(record)","title":"Start Profile","command":"factorio.startProfile","category":"Factorio","enablement":"!factorio.debugProfileStarting"},{"icon":"$(stop-circle)","title":"Stop Profile","command":"factorio.stopProfile","category":"Factorio","enablement":"!factorio.debugProfileStopping"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["--dap"],"type":"factorio","label":"Factorio Debug Adapter Adapter","program":"factorio","languages":["lua"],"configurationSnippets":[{"name":"Factorio Debug Adapter","tags":{},"type":"factorio","request":"launch","factorioArgs":[]}],"initialConfigurations":[{"name":"Factorio Debug Adapter","type":"factorio","request":"launch"}],"configurationAttributes":{"launch":{"properties":{"tags":{"type":"object","description":"Extra debug session tags, readable under `debugadapter.tags` during this session."},"trace":{"type":"boolean","default":false,"description":"Trace DAP messages to a `dap-trace.log`"},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"followSymlinks":{"type":"boolean","default":true,"description":"Follow symlinks when emitting source locations"},"hookDebugConsole":{"type":"boolean","default":false,"description":"Enable catching errors and breakpoints/stepping in code called from the Debug Console (Evaluate context='repl')"}}}}},{"type":"factoriomod","deprecated":"Please upgrade to `factorio` launch type"}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"configuration":"./language/factorio-locale.language-configuration.json","filenamePatterns":["**/locale/*/*.cfg"]},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","anyOf":[{"required":["onlineDocs"]},{"required":["factorioPath"],"properties":{"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."}}}],"required":["name"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"deprecationMessage":"Active status is no longer marked in settings"},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.shim":{"type":"string","examples":["vsjitdebugger.exe"],"description":"debug shim to launch instead of native DAP"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.tasks.execArgvExtras":{"type":"array","items":{"type":"string"},"description":"Extra options to add to `execArgv` when forking"},"factorio.tasks.execArgvOptions":{"type":"array","items":{"enum":["clear","stripjsflags","stripinspect"]},"default":[],"description":"Options to modify existing `execArgv` when forking","uniqueItems":true},"factorio.docs.usePrototypeDumps":{"type":"boolean","default":false,"description":"EXPERIMENTAL: Use prototype dumps `script-output/mod-settings-dump.json` and `script-output/data-raw-dump.json` if available when generating docs"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":["boolean","null"],"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present. Default off for LuaLS, on for EmmyLua."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-locale]":{"editor.wordWrap":"on"},"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ini":"^6.0.0","mime":"^4.1.0","dotize":"^0.6.0","eslint":"^10.7.0","remark":"^15.0.1","rimraf":"^6.1.3","semver":"^7.8.5","esbuild":"^0.28.1","globals":"^17.7.0","archiver":"^8.0.0","commander":"^15.0.0","@types/ini":"^4.1.1","dateformat":"^5.0.3","typescript":"^6.0.3","vscode-uri":"^3.1.0","@types/node":"^26.1.1","yoctocolors":"^2.1.2","@vscode/vsce":"^3.9.2","jsonc-parser":"^3.3.1","readdir-glob":"^3.0.0","@types/semver":"^7.7.1","@types/vscode":"^1.120.0","patch-package":"^8.0.1","@inquirer/input":"^5.0.13","@types/archiver":"^8.0.0","@vscode/codicons":"^0.0.45","esbuild-compress":"^2.2.0","@types/dateformat":"^5.0.3","typescript-eslint":"^8.64.0","@inquirer/password":"^5.0.13","esbuild-visualizer":"^0.7.0","@types/readdir-glob":"^1.1.5","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^10.1.0","vscode-languageserver":"^10.1.0","@stylistic/eslint-plugin":"^5.10.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.1.5_1783986220611_0.899608243758836","host":"s3://npm-registry-packages-npm-production"}},"2.1.6":{"name":"factoriomod-debug","version":"2.1.6","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.1.6","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"deabb91af3ca1801f96f8a5f24f2a8083d5aba76","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.1.6.tgz","fileCount":38,"integrity":"sha512-pMp/4zfnkTD/cE/Orll10e/SMACQDiwCNvtHcVezfChWIpo2eJzORv81oj8NzMUCHPRk1Y7BKev5zvd4XREA7A==","signatures":[{"sig":"MEQCIE1Bzd3EQA1aWB5fpL3/khsGDXJHRP0v4bsJzvZ+TChzAiBwq3oDat04jyoEhnt1zvk+Mvc7OewtNgMo7k8ZYhCWHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1739584},"icon":"images/factoriomod-debug-icon.png","main":"dist/fmtk-vscode.js","type":"module","engines":{"node":">=22.7.0","vscode":"^1.120.0"},"gitHead":"76c62ceb44d3cf7194a09e985be00cd7f360ab78","scripts":{"lint":"eslint . --ext ts --flag unstable_native_nodejs_ts_config","test":"c8 node --experimental-transform-types --test ./test/*.spec.ts","stats":"npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"node --experimental-transform-types ./build.ts","package":"vsce package","prepare":"rimraf dist && npm run esbuild -- --minify","typecheck":"tsc -p tsconfig.json --noEmit","publish-vscode":"vsce publish","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"npm run prepare","publish-vscode-prerelease":"vsce publish --pre-release"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"publisher":"justarandomgeek","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"11.9.0","contributes":{"menus":{"debug/toolBar":[{"when":"debugType == 'factorio' && !factorio.debugProfileIsRunning","group":"navigation","command":"factorio.startProfile"},{"when":"debugType == 'factorio' && factorio.debugProfileIsRunning","group":"navigation","command":"factorio.stopProfile"}],"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.details"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@6","command":"factorio.details"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"title":"Sync details to Portal","command":"factorio.details","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"},{"icon":"$(record)","title":"Start Profile","command":"factorio.startProfile","category":"Factorio","enablement":"!factorio.debugProfileStarting"},{"icon":"$(stop-circle)","title":"Stop Profile","command":"factorio.stopProfile","category":"Factorio","enablement":"!factorio.debugProfileStopping"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["--dap"],"type":"factorio","label":"Factorio Debug Adapter Adapter","program":"factorio","languages":["lua"],"configurationSnippets":[{"name":"Factorio Debug Adapter","tags":{},"type":"factorio","request":"launch","factorioArgs":[]}],"initialConfigurations":[{"name":"Factorio Debug Adapter","type":"factorio","request":"launch"}],"configurationAttributes":{"launch":{"properties":{"tags":{"type":"object","description":"Extra debug session tags, readable under `debugadapter.tags` during this session."},"trace":{"type":"boolean","default":false,"description":"Trace DAP messages to a `dap-trace.log`"},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"followSymlinks":{"type":"boolean","default":true,"description":"Follow symlinks when emitting source locations"},"hookDebugConsole":{"type":"boolean","default":false,"description":"Enable catching errors and breakpoints/stepping in code called from the Debug Console (Evaluate context='repl')"}}}}},{"type":"factoriomod","deprecated":"Please upgrade to `factorio` launch type"}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"configuration":"./language/factorio-locale.language-configuration.json","filenamePatterns":["**/locale/*/*.cfg"]},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","anyOf":[{"required":["onlineDocs"]},{"required":["factorioPath"],"properties":{"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."}}}],"required":["name"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"deprecationMessage":"Active status is no longer marked in settings"},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.shim":{"type":"string","examples":["vsjitdebugger.exe"],"description":"debug shim to launch instead of native DAP"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.tasks.execArgvExtras":{"type":"array","items":{"type":"string"},"description":"Extra options to add to `execArgv` when forking"},"factorio.tasks.execArgvOptions":{"type":"array","items":{"enum":["clear","stripjsflags","stripinspect"]},"default":[],"description":"Options to modify existing `execArgv` when forking","uniqueItems":true},"factorio.docs.usePrototypeDumps":{"type":"boolean","default":false,"description":"EXPERIMENTAL: Use prototype dumps `script-output/mod-settings-dump.json` and `script-output/data-raw-dump.json` if available when generating docs"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":["boolean","null"],"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present. Default off for LuaLS, on for EmmyLua."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-locale]":{"editor.wordWrap":"on"},"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ini":"^6.0.0","mime":"^4.1.0","dotize":"^0.6.0","eslint":"^10.7.0","remark":"^15.0.1","rimraf":"^6.1.3","semver":"^7.8.5","esbuild":"^0.28.1","globals":"^17.7.0","archiver":"^8.0.0","commander":"^15.0.0","@types/ini":"^4.1.1","dateformat":"^5.0.3","typescript":"^6.0.3","vscode-uri":"^3.1.0","@types/node":"^26.1.1","yoctocolors":"^2.1.2","@vscode/vsce":"^3.9.2","jsonc-parser":"^3.3.1","readdir-glob":"^3.0.0","@types/semver":"^7.7.1","@types/vscode":"^1.120.0","patch-package":"^8.0.1","@inquirer/input":"^5.0.13","@types/archiver":"^8.0.0","@vscode/codicons":"^0.0.45","esbuild-compress":"^2.2.0","@types/dateformat":"^5.0.3","typescript-eslint":"^8.64.0","@inquirer/password":"^5.0.13","esbuild-visualizer":"^0.7.0","@types/readdir-glob":"^1.1.5","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^10.1.0","vscode-languageserver":"^10.1.0","@stylistic/eslint-plugin":"^5.10.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.1.6_1784151711575_0.12034941550032596","host":"s3://npm-registry-packages-npm-production"}},"2.1.7":{"name":"factoriomod-debug","version":"2.1.7","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.1.7","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"8f202d46fcd608b8a0ecee2ba6cc0c7f23a76466","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.1.7.tgz","fileCount":38,"integrity":"sha512-W20+5DS08OpX5iZFEbMvRRNG0NXGSwgPkftCOJFOkURah9wZwd2sW1q5bSmlLYYLmLBaDEwjtpFtCABHO3VnyQ==","signatures":[{"sig":"MEUCIGJjnqpxQNaMI/qP5Dym4H5RzOHPFFvv+TmcHDLyGvOxAiEA3m+GWHP5gLNMyWGWC1SBf9MDGOeCmNaghXGZW25exyo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1736920},"icon":"images/factoriomod-debug-icon.png","main":"dist/fmtk-vscode.js","type":"module","_from":"file:factoriomod-debug-2.1.7.tgz","engines":{"node":">=22.7.0","vscode":"^1.120.0"},"scripts":{"lint":"eslint . --ext ts --flag unstable_native_nodejs_ts_config","test":"c8 node --experimental-transform-types --test ./test/*.spec.ts","stats":"esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"node --experimental-transform-types ./build.ts","prepack":"vsce pack","typecheck":"tsc -p tsconfig.json --noEmit","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"rimraf dist && npm run esbuild -- --minify --meta && npm run stats"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"_resolved":"D:\\factorio\\vscode-factoriomod-debug\\factoriomod-debug-2.1.7.tgz","publisher":"justarandomgeek","_integrity":"sha512-W20+5DS08OpX5iZFEbMvRRNG0NXGSwgPkftCOJFOkURah9wZwd2sW1q5bSmlLYYLmLBaDEwjtpFtCABHO3VnyQ==","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"11.9.0","contributes":{"menus":{"debug/toolBar":[{"when":"debugType == 'factorio' && !factorio.debugProfileIsRunning","group":"navigation","command":"factorio.startProfile"},{"when":"debugType == 'factorio' && factorio.debugProfileIsRunning","group":"navigation","command":"factorio.stopProfile"}],"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.details"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@6","command":"factorio.details"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"title":"Sync details to Portal","command":"factorio.details","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"},{"icon":"$(record)","title":"Start Profile","command":"factorio.startProfile","category":"Factorio","enablement":"!factorio.debugProfileStarting"},{"icon":"$(stop-circle)","title":"Stop Profile","command":"factorio.stopProfile","category":"Factorio","enablement":"!factorio.debugProfileStopping"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["--dap"],"type":"factorio","label":"Factorio Debug Adapter","program":"factorio","languages":["lua"],"configurationSnippets":[{"name":"Factorio Debug Adapter","tags":{},"type":"factorio","request":"launch","factorioArgs":[]}],"initialConfigurations":[{"name":"Factorio Debug Adapter","type":"factorio","request":"launch"}],"configurationAttributes":{"launch":{"properties":{"tags":{"type":"object","description":"Extra debug session tags, readable under `debugadapter.tags` during this session."},"trace":{"type":"boolean","default":false,"description":"Trace DAP messages to a `dap-trace.log`"},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"followSymlinks":{"type":"boolean","default":true,"description":"Follow symlinks when emitting source locations"},"hookDebugConsole":{"type":"boolean","default":false,"description":"Enable catching errors and breakpoints/stepping in code called from the Debug Console (Evaluate context='repl')"}}}}},{"type":"factoriomod","deprecated":"Please upgrade to `factorio` launch type"}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"configuration":"./language/factorio-locale.language-configuration.json","filenamePatterns":["**/locale/*/*.cfg"]},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","anyOf":[{"required":["onlineDocs"]},{"required":["factorioPath"],"properties":{"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."}}}],"required":["name"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"deprecationMessage":"Active status is no longer marked in settings"},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.shim":{"type":"string","examples":["vsjitdebugger.exe"],"description":"debug shim to launch instead of native DAP"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.tasks.execArgvExtras":{"type":"array","items":{"type":"string"},"description":"Extra options to add to `execArgv` when forking"},"factorio.tasks.execArgvOptions":{"type":"array","items":{"enum":["clear","stripjsflags","stripinspect"]},"default":[],"description":"Options to modify existing `execArgv` when forking","uniqueItems":true},"factorio.docs.usePrototypeDumps":{"type":"boolean","default":false,"description":"EXPERIMENTAL: Use prototype dumps `script-output/mod-settings-dump.json` and `script-output/data-raw-dump.json` if available when generating docs"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":["boolean","null"],"default":null,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present. Default off for LuaLS, on for EmmyLua."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-locale]":{"editor.wordWrap":"on"},"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","ini":"^6.0.0","mime":"^4.1.0","dotize":"^0.6.0","eslint":"^10.8.0","remark":"^15.0.1","rimraf":"^6.1.3","semver":"^7.8.5","esbuild":"^0.28.1","globals":"^17.7.0","archiver":"^8.0.0","commander":"^15.0.0","@types/ini":"^4.1.1","dateformat":"^5.0.3","typescript":"^6.0.3","vscode-uri":"^3.1.0","@types/node":"^26.1.1","yoctocolors":"^2.1.2","@vscode/vsce":"^3.9.2","jsonc-parser":"^3.3.1","readdir-glob":"^3.0.0","@types/semver":"^7.7.1","@types/vscode":"^1.120.0","patch-package":"^8.0.1","@inquirer/input":"^5.1.2","@types/archiver":"^8.0.0","@vscode/codicons":"^0.0.45","esbuild-compress":"^2.2.0","@types/dateformat":"^5.0.3","typescript-eslint":"^8.65.0","@inquirer/password":"^5.1.1","esbuild-visualizer":"^0.7.0","@types/readdir-glob":"^1.1.5","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^10.1.0","vscode-languageserver":"^10.1.0","@stylistic/eslint-plugin":"^5.10.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.1.7_1785114932932_0.6976630369432075","host":"s3://npm-registry-packages-npm-production"}},"2.1.8":{"name":"factoriomod-debug","version":"2.1.8","keywords":["multi-root ready"],"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","_id":"factoriomod-debug@2.1.8","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"dist":{"shasum":"75affe61b84d4b5209f3952a52dc57fb3a39869a","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.1.8.tgz","fileCount":39,"integrity":"sha512-vsNPVo9rz4eDdr863rEUHXAR70UbNFEflDIR7pNsJoRMD57yjyPFhP4Csf9pSubtCgei7Slt7b1ubcud5PE7XA==","signatures":[{"sig":"MEQCIAIWcRNjekichhAm5EJeSB9xvyzsImiO707MkAYYRRZcAiACw8z7YhEO4/3xiUAzTk76lx/M3RXOtrPRyKSELGaBCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1738842},"icon":"images/factoriomod-debug-icon.png","main":"dist/fmtk-vscode.js","type":"module","_from":"file:factoriomod-debug-2.1.8.tgz","engines":{"node":">=22.7.0","vscode":"^1.120.0"},"scripts":{"lint":"eslint . --ext ts --flag unstable_native_nodejs_ts_config","test":"c8 node --experimental-transform-types --test ./test/*.spec.ts","stats":"esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","watch":"npm run esbuild -- --watch","esbuild":"node --experimental-transform-types ./build.ts","prepack":"vsce pack","typecheck":"tsc -p tsconfig.json --noEmit","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","vscode:prepublish":"rimraf dist && npm run esbuild -- --minify --meta && npm run stats"},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"_resolved":"D:\\factorio\\vscode-factoriomod-debug\\factoriomod-debug-2.1.8.tgz","publisher":"justarandomgeek","_integrity":"sha512-vsNPVo9rz4eDdr863rEUHXAR70UbNFEflDIR7pNsJoRMD57yjyPFhP4Csf9pSubtCgei7Slt7b1ubcud5PE7XA==","categories":["Debuggers","Programming Languages","Linters"],"repository":{"url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git","type":"git"},"_npmVersion":"11.16.0","contributes":{"menus":{"debug/toolBar":[{"when":"debugType == 'factorio' && !factorio.debugProfileIsRunning","group":"navigation","command":"factorio.startProfile"},{"when":"debugType == 'factorio' && factorio.debugProfileIsRunning","group":"navigation","command":"factorio.stopProfile"}],"commandPalette":[{"when":"false","command":"factorio.openchangelog"},{"when":"false","command":"factorio.datestamp"},{"when":"false","command":"factorio.package"},{"when":"false","command":"factorio.version"},{"when":"false","command":"factorio.upload"},{"when":"false","command":"factorio.details"},{"when":"false","command":"factorio.publish"}],"view/item/context":[{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@6","command":"factorio.details"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1","command":"factorio.publish"},{"when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1","command":"factorio.openchangelog"},{"when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2","command":"factorio.datestamp"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3","command":"factorio.package"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4","command":"factorio.version"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5","command":"factorio.upload"},{"when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6","command":"factorio.publish"}]},"views":{"scm":[{"id":"factoriomods","icon":"images/viewicon.svg","name":"Factorio Mod Packages","contextualTitle":"Factorio Mod Packages"}]},"commands":[{"icon":"$(versions)","title":"Open Changelog","command":"factorio.openchangelog","category":"Factorio"},{"icon":"$(calendar)","title":"Datestamp Changelog","command":"factorio.datestamp","category":"Factorio"},{"icon":"$(package)","title":"Package Mod","command":"factorio.package","category":"Factorio"},{"icon":"$(tag)","title":"Increment Version","command":"factorio.version","category":"Factorio"},{"icon":"$(cloud-upload)","title":"Upload to Portal","command":"factorio.upload","category":"Factorio"},{"title":"Sync details to Portal","command":"factorio.details","category":"Factorio"},{"icon":"$(repo-push)","title":"Publish Mod","command":"factorio.publish","category":"Factorio"},{"title":"Clear API Key","command":"factorio.clearApiKey","category":"Factorio"},{"title":"Set API Key","command":"factorio.setApiKey","category":"Factorio"},{"title":"Select Version","command":"factorio.selectVersion","category":"Factorio"},{"title":"Check Config","command":"factorio.checkConfig","category":"Factorio"},{"title":"Disable Prototype Cache","command":"factorio.disablePrototypeCache","category":"Factorio"},{"title":"Disable Mouse Auto Capture","command":"factorio.disableMouseAutoCapture","category":"Factorio"},{"icon":"$(record)","title":"Start Profile","command":"factorio.startProfile","category":"Factorio","enablement":"!factorio.debugProfileStarting"},{"icon":"$(stop-circle)","title":"Stop Profile","command":"factorio.stopProfile","category":"Factorio","enablement":"!factorio.debugProfileStopping"}],"grammars":[{"path":"./language/factorio-locale.tmLanguage.json","language":"factorio-locale","scopeName":"source.factorio-locale"},{"path":"./language/factorio-changelog.tmLanguage.json","language":"factorio-changelog","scopeName":"source.factorio-changelog"}],"snippets":[{"path":"./language/factorio-changelog.json","language":"factorio-changelog"},{"path":"./language/factorio-locale.json","language":"factorio-locale"}],"debuggers":[{"args":["--dap"],"type":"factorio","label":"Factorio Debug Adapter","program":"factorio","languages":["lua"],"configurationSnippets":[{"name":"Factorio Debug Adapter","tags":{},"type":"factorio","request":"launch","factorioArgs":[]}],"initialConfigurations":[{"name":"Factorio Debug Adapter","type":"factorio","request":"launch"}],"configurationAttributes":{"launch":{"properties":{"tags":{"type":"object","description":"Extra debug session tags, readable under `debugadapter.tags` during this session."},"trace":{"type":"boolean","default":false,"description":"Trace DAP messages to a `dap-trace.log`"},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"followSymlinks":{"type":"boolean","default":true,"description":"Follow symlinks when emitting source locations"},"hookDebugConsole":{"type":"boolean","default":false,"description":"Enable catching errors and breakpoints/stepping in code called from the Debug Console (Evaluate context='repl')"}}}}},{"type":"factoriomod","deprecated":"Please upgrade to `factorio` launch type"}],"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"configuration":"./language/factorio-locale.language-configuration.json","filenamePatterns":["**/locale/*/*.cfg"]},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"breakpoints":[{"language":"lua"}],"configuration":[{"title":"Factorio","properties":{"factorio.versions":{"type":"array","items":{"type":"object","anyOf":[{"required":["onlineDocs"]},{"required":["factorioPath"],"properties":{"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."}}}],"required":["name"],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"deprecationMessage":"Active status is no longer marked in settings"},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"},"factorioPath":{"type":"string","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"],"description":"Path to Factorio binary file."}}},"description":"Factorio installations configured for use with debugging and profiling."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.shim":{"type":"string","examples":["vsjitdebugger.exe"],"description":"debug shim to launch instead of native DAP"},"factorio.package.tagName":{"type":"string","default":"$VERSION","pattern":"\\$VERSION","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name."},"factorio.docs.generateDocs":{"type":"boolean","default":true,"description":"Generate docs files when selecting a Factorio version."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"enum":["inside","outside"],"type":"string","default":"inside","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"]},"factorio.docs.docLinksVersion":{"enum":["latest","current"],"default":"latest","description":"What version to use when generating docs links","enumDescriptions":["Always link to the `latest` docs available online","Link to the online version of the specific version used for generation"]},"factorio.tasks.execArgvExtras":{"type":"array","items":{"type":"string"},"description":"Extra options to add to `execArgv` when forking"},"factorio.tasks.execArgvOptions":{"type":"array","items":{"enum":["clear","stripjsflags","stripinspect"]},"default":[],"description":"Options to modify existing `execArgv` when forking","uniqueItems":true},"factorio.docs.usePrototypeDumps":{"type":"boolean","default":false,"description":"EXPERIMENTAL: Use prototype dumps `script-output/mod-settings-dump.json` and `script-output/data-raw-dump.json` if available when generating docs"},"factorio.package.autoCommitAuthor":{"type":"string","default":"compilatron <compilatron@justarandomgeek.com>","description":"Author for automatically created commits"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.movedToCommitMessage":{"type":"string","default":"moved to version $VERSION","pattern":"\\$VERSION","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.preparingCommitMessage":{"type":"string","default":"preparing release of version $VERSION","pattern":"\\$VERSION","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.workspace.manageLibraryDataLinks":{"type":["boolean","null"],"default":null,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present. Default off for LuaLS, on for EmmyLua."}}}],"customEditors":[{"priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}],"viewType":"fmtk.modsettings","displayName":"Mod Settings"},{"priority":"default","selector":[{"filenamePattern":"*script*.dat"}],"viewType":"fmtk.scriptdat","displayName":"Script.Dat"}],"jsonValidation":[{"url":"./schema/mapgen.json","fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"]},{"url":"./schema/mapsettings.json","fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"]},{"url":"./schema/serversettings.json","fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"]},{"url":"./schema/modinfo.json","fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/datainfo.json","fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"]},{"url":"./schema/localeinfo.json","fileMatch":"locale/*/info.json"},{"url":"./schema/scenario.json","fileMatch":"scenarios/*/description.json"},{"url":"./schema/campaign.json","fileMatch":"campaigns/*/description.json"},{"url":"./schema/migration.json","fileMatch":"migrations/*.json"}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"script":{"type":"string"},"command":{"enum":["datestamp","package","version","upload","details","publish","run","adjustMods"],"type":"string"},"modname":{"type":"string"},"modsPath":{"type":"string"},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"scriptArgs":{"type":"array","items":{"type":"string"}},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"configurationDefaults":{"[factorio-locale]":{"editor.wordWrap":"on"},"[factorio-changelog]":{"editor.tabSize":2,"editor.insertSpaces":true,"editor.detectIndentation":false,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]}}},"description":"Debug Tools for developing Factorio Mods","directories":{},"displayName":"Factorio Modding Tool Kit","_nodeVersion":"24.18.1","_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","ini":"^6.0.0","mime":"^4.1.0","dotize":"^0.6.0","eslint":"^10.8.0","remark":"^15.0.1","rimraf":"^6.1.3","semver":"^7.8.5","esbuild":"^0.28.1","globals":"^17.7.0","archiver":"^8.0.0","commander":"^15.0.0","@types/ini":"^4.1.1","dateformat":"^5.0.3","typescript":"^6.0.3","vscode-uri":"^3.1.0","@types/node":"^26.1.1","yoctocolors":"^2.1.2","@vscode/vsce":"^3.9.2","jsonc-parser":"^3.3.1","readdir-glob":"^3.0.0","@types/semver":"^7.7.1","@types/vscode":"^1.120.0","patch-package":"^8.0.1","@inquirer/input":"^5.1.2","@types/archiver":"^8.0.0","@vscode/codicons":"^0.0.45","esbuild-compress":"^2.2.0","@types/dateformat":"^5.0.3","typescript-eslint":"^8.65.0","@inquirer/password":"^5.1.1","esbuild-visualizer":"^0.7.0","@types/readdir-glob":"^1.1.5","@types/vscode-webview":"^1.57.5","vscode-languageclient":"^10.1.0","vscode-languageserver":"^10.1.0","@stylistic/eslint-plugin":"^5.10.0","@vscode/webview-ui-toolkit":"^1.4.0","esbuild-plugin-import-glob":"^0.1.1","vscode-languageserver-textdocument":"^1.0.12"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"_npmOperationalInternal":{"tmp":"tmp/factoriomod-debug_2.1.8_1785555864006_0.29355559900083095","host":"s3://npm-registry-packages-npm-production"}},"2.1.9":{"name":"factoriomod-debug","displayName":"Factorio Modding Tool Kit","version":"2.1.9","publisher":"justarandomgeek","description":"Debug Tools for developing Factorio Mods","author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","keywords":["multi-root ready"],"engines":{"vscode":"^1.120.0","node":">=22.7.0"},"icon":"images/factoriomod-debug-icon.png","categories":["Debuggers","Programming Languages","Linters"],"repository":{"type":"git","url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git"},"bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"scripts":{"lint":"eslint . --ext ts --flag unstable_native_nodejs_ts_config","typecheck":"tsc -p tsconfig.json --noEmit","typecheck-watch":"tsc -p tsconfig.json --noEmit --watch","esbuild":"node ./build.ts","watch":"npm run esbuild -- --watch","stats":"esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html","vscode:prepublish":"rimraf dist && npm run esbuild -- --minify --meta && npm run stats","prepack":"vsce pack","test":"c8 node --test ./test/*.spec.ts"},"devDependencies":{"@inquirer/input":"^5.1.2","@inquirer/password":"^5.1.1","@stylistic/eslint-plugin":"^5.10.0","@types/archiver":"^8.0.0","@types/dateformat":"^5.0.3","@types/ini":"^4.1.1","@types/node":"^26.2.0","@types/readdir-glob":"^1.1.5","@types/semver":"^7.8.0","@types/vscode":"^1.120.0","@types/vscode-webview":"^1.57.5","@vscode/codicons":"^0.0.45","@vscode/vsce":"^3.9.2","@vscode/webview-ui-toolkit":"^1.4.0","archiver":"^8.0.0","c8":"^12.0.0","commander":"^15.0.0","dateformat":"^5.0.3","dotize":"^0.6.0","esbuild":"^0.28.2","esbuild-compress":"^2.2.0","esbuild-plugin-import-glob":"^0.1.1","esbuild-visualizer":"^0.7.0","eslint":"^10.8.1","globals":"^17.11.0","ini":"^7.0.0","jsonc-parser":"^3.3.1","mime":"^4.1.0","patch-package":"^8.0.1","readdir-glob":"^3.0.0","remark":"^15.0.1","rimraf":"^6.1.3","semver":"^7.8.5","typescript":"^6.0.3","typescript-eslint":"^8.67.0","vscode-languageclient":"^10.1.0","vscode-languageserver":"^10.1.0","vscode-languageserver-textdocument":"^1.0.12","vscode-uri":"^3.1.0","yoctocolors":"^2.2.0"},"type":"module","main":"dist/fmtk-vscode.js","bin":{"fmtk":"dist/fmtk-cli.js","factoriomod-debug":"dist/fmtk-cli.js"},"activationEvents":["onDebug","onCommand:workbench.action.tasks.runTask","workspaceContains:**/changelog.txt","workspaceContains:**/info.json","workspaceContains:**/control.lua","workspaceContains:**/mod-list.json","workspaceContains:**/mod-settings.dat"],"contributes":{"configuration":[{"title":"Factorio","properties":{"factorio.package.preparingCommitMessage":{"type":"string","description":"Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","default":"preparing release of version $VERSION","pattern":"\\$VERSION","editPresentation":"multilineText"},"factorio.package.movedToCommitMessage":{"type":"string","description":"Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.","default":"moved to version $VERSION","pattern":"\\$VERSION","editPresentation":"multilineText"},"factorio.package.autoCommitAuthor":{"type":"string","description":"Author for automatically created commits","default":"compilatron <compilatron@justarandomgeek.com>"},"factorio.package.tagName":{"type":"string","description":"Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name.","default":"$VERSION","pattern":"\\$VERSION"},"factorio.package.defaultPublishBranch":{"deprecationMessage":"This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."},"factorio.package.tagMessage":{"type":"string","description":"Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.","editPresentation":"multilineText"},"factorio.package.zipLocation":{"type":"string","description":"Location to place mod zip packages.","enumDescriptions":["Inside Mod (sibling of info.json)","Outside Mod (one level up from info.json)"],"enum":["inside","outside"],"default":"inside"},"factorio.versions":{"type":"array","description":"Factorio installations configured for use with debugging and profiling.","items":{"type":"object","required":["name"],"anyOf":[{"required":["onlineDocs"]},{"required":["factorioPath"],"properties":{"configPath":{"type":"string","description":"Path to Factorio config.ini file."},"docsPath":{"type":"string","description":"Path to runtime-api.json, must be relative to factorioPath."},"protosPath":{"type":"string","description":"Path to prototype-api.json, must be relative to factorioPath."}}}],"properties":{"name":{"type":"string","description":"Display name for this installation"},"active":{"deprecationMessage":"Active status is no longer marked in settings"},"factorioPath":{"type":"string","description":"Path to Factorio binary file.","examples":["C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe","C:/Program Files/Factorio/bin/x64/factorio.exe","~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio","/Applications/factorio.app/Contents/MacOS/factorio","~/.factorio/bin/x64/factorio","${userHome}/.factorio/bin/x64/factorio","${workspaceFolder}/factorio/bin/x64/factorio"]},"onlineDocs":{"type":["boolean","string"],"description":"Use online docs, version id or `true` for `latest`"}}}},"factorio.docs.generateDocs":{"type":"boolean","description":"Generate docs files when selecting a Factorio version.","default":true},"factorio.docs.usePrototypeDumps":{"type":"boolean","description":"EXPERIMENTAL: Use prototype dumps `script-output/mod-settings-dump.json` and `script-output/data-raw-dump.json` if available when generating docs","default":false},"factorio.docs.docLinksBaseUri":{"description":"Base URI for doc links","type":"string","format":"uri"},"factorio.workspace.manageLibraryDataLinks":{"type":["boolean","null"],"default":null,"description":"Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present. Default off for LuaLS, on for EmmyLua."},"factorio.debug.env":{"type":"object","description":"Environment variables to pass to Factorio","additionalProperties":{"type":"string"}},"factorio.debug.shim":{"description":"debug shim to launch instead of native DAP","type":"string","examples":["vsjitdebugger.exe"]},"factorio.tasks.execArgvOptions":{"description":"Options to modify existing `execArgv` when forking","type":"array","default":[],"uniqueItems":true,"items":{"enum":["clear","stripjsflags","stripinspect"]}},"factorio.tasks.execArgvExtras":{"description":"Extra options to add to `execArgv` when forking","type":"array","items":{"type":"string"}}}}],"taskDefinitions":[{"type":"factorio","required":["command"],"properties":{"command":{"type":"string","enum":["datestamp","package","version","upload","details","publish","run","adjustMods"]},"modname":{"type":"string"},"script":{"type":"string"},"scriptArgs":{"type":"array","items":{"type":"string"}},"adjustMods":{"type":"object","additionalProperties":{"oneOf":[{"type":"boolean"},{"type":"string","pattern":"(\\d+\\.){2}\\d+"}]}},"modsPath":{"type":"string"},"disableExtraMods":{"type":"boolean"},"allowDisableBaseMod":{"type":"boolean"}}}],"commands":[{"command":"factorio.openchangelog","category":"Factorio","title":"Open Changelog","icon":"$(versions)"},{"command":"factorio.datestamp","category":"Factorio","title":"Datestamp Changelog","icon":"$(calendar)"},{"command":"factorio.package","category":"Factorio","title":"Package Mod","icon":"$(package)"},{"command":"factorio.version","category":"Factorio","title":"Increment Version","icon":"$(tag)"},{"command":"factorio.upload","category":"Factorio","title":"Upload to Portal","icon":"$(cloud-upload)"},{"command":"factorio.details","category":"Factorio","title":"Sync details to Portal"},{"command":"factorio.publish","category":"Factorio","title":"Publish Mod","icon":"$(repo-push)"},{"command":"factorio.clearApiKey","category":"Factorio","title":"Clear API Key"},{"command":"factorio.setApiKey","category":"Factorio","title":"Set API Key"},{"command":"factorio.selectVersion","category":"Factorio","title":"Select Version"},{"command":"factorio.checkConfig","category":"Factorio","title":"Check Config"},{"command":"factorio.disablePrototypeCache","category":"Factorio","title":"Disable Prototype Cache"},{"command":"factorio.disableMouseAutoCapture","category":"Factorio","title":"Disable Mouse Auto Capture"},{"command":"factorio.startProfile","category":"Factorio","title":"Start Profile","icon":"$(record)","enablement":"!factorio.debugProfileStarting"},{"command":"factorio.stopProfile","category":"Factorio","title":"Stop Profile","icon":"$(stop-circle)","enablement":"!factorio.debugProfileStopping"}],"views":{"scm":[{"id":"factoriomods","name":"Factorio Mod Packages","icon":"images/viewicon.svg","contextualTitle":"Factorio Mod Packages"}]},"menus":{"commandPalette":[{"command":"factorio.openchangelog","when":"false"},{"command":"factorio.datestamp","when":"false"},{"command":"factorio.package","when":"false"},{"command":"factorio.version","when":"false"},{"command":"factorio.upload","when":"false"},{"command":"factorio.details","when":"false"},{"command":"factorio.publish","when":"false"}],"view/item/context":[{"command":"factorio.openchangelog","when":"view == factoriomods && viewItem =~ /haschangelog/","group":"1_info@1"},{"command":"factorio.datestamp","when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"2_basic@2"},{"command":"factorio.package","when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@3"},{"command":"factorio.version","when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@4"},{"command":"factorio.upload","when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@5"},{"command":"factorio.details","when":"view == factoriomods && viewItem =~ /latest/","group":"2_basic@6"},{"command":"factorio.publish","when":"view == factoriomods && viewItem =~ /latest/","group":"3_publish@1"},{"command":"factorio.openchangelog","when":"view == factoriomods && viewItem =~ /haschangelog/","group":"inline@1"},{"command":"factorio.datestamp","when":"view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/","group":"inline@2"},{"command":"factorio.package","when":"view == factoriomods && viewItem =~ /latest/","group":"inline@3"},{"command":"factorio.version","when":"view == factoriomods && viewItem =~ /latest/","group":"inline@4"},{"command":"factorio.upload","when":"view == factoriomods && viewItem =~ /latest/","group":"inline@5"},{"command":"factorio.publish","when":"view == factoriomods && viewItem =~ /latest/","group":"inline@6"}],"debug/toolBar":[{"command":"factorio.startProfile","group":"navigation","when":"debugType == 'factorio' && !factorio.debugProfileIsRunning"},{"command":"factorio.stopProfile","group":"navigation","when":"debugType == 'factorio' && factorio.debugProfileIsRunning"}]},"languages":[{"id":"factorio-locale","aliases":["Factorio Locale","factorio-locale"],"filenamePatterns":["**/locale/*/*.cfg"],"configuration":"./language/factorio-locale.language-configuration.json"},{"id":"factorio-changelog","aliases":["Factorio Changelog","factorio-changelog"],"filenames":["changelog.txt"],"configuration":"./language/factorio-changelog.language-configuration.json"}],"grammars":[{"language":"factorio-locale","scopeName":"source.factorio-locale","path":"./language/factorio-locale.tmLanguage.json"},{"language":"factorio-changelog","scopeName":"source.factorio-changelog","path":"./language/factorio-changelog.tmLanguage.json"}],"snippets":[{"language":"factorio-changelog","path":"./language/factorio-changelog.json"},{"language":"factorio-locale","path":"./language/factorio-locale.json"}],"configurationDefaults":{"[factorio-changelog]":{"editor.detectIndentation":false,"editor.insertSpaces":true,"editor.tabSize":2,"gitlens.codeLens.symbolScopes":["Namespace","!Class"]},"[factorio-locale]":{"editor.wordWrap":"on"}},"jsonValidation":[{"fileMatch":["map-gen-settings.json","map-gen-settings.*.json","*.map-gen-settings.json","map-gen-settings.example.json"],"url":"./schema/mapgen.json"},{"fileMatch":["map-settings.json","map-settings.*.json","*.map-settings.json","map-settings.example.json"],"url":"./schema/mapsettings.json"},{"fileMatch":["server-settings.json","server-settings.*.json","*.server-settings.json","server-settings.example.json"],"url":"./schema/serversettings.json"},{"fileMatch":["info.json","!locale/*/info.json","!data/**/info.json","!tests/**/info.json","!temp/**/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"],"url":"./schema/modinfo.json"},{"fileMatch":["data/**/info.json","tests/**/info.json","!locale/*/info.json","!campaigns/*/info.json","!scenarios/*/info.json","!saves/**/info.json","!blueprint/info.json"],"url":"./schema/datainfo.json"},{"fileMatch":"locale/*/info.json","url":"./schema/localeinfo.json"},{"fileMatch":"scenarios/*/description.json","url":"./schema/scenario.json"},{"fileMatch":"campaigns/*/description.json","url":"./schema/campaign.json"},{"fileMatch":"migrations/*.json","url":"./schema/migration.json"}],"breakpoints":[{"language":"lua"}],"debuggers":[{"type":"factorio","label":"Factorio Debug Adapter","program":"factorio","args":["--dap"],"languages":["lua"],"configurationAttributes":{"launch":{"properties":{"tags":{"type":"object","description":"Extra debug session tags, readable under `debugadapter.tags` during this session."},"factorioArgs":{"type":"array","items":{"type":"string","examples":["--load-scenario","--disable-migration-window"]},"default":[],"description":"Extra command line arguments to pass to Factorio"},"followSymlinks":{"type":"boolean","default":true,"description":"Follow symlinks when emitting source locations"},"hookDebugConsole":{"type":"boolean","default":false,"description":"Enable catching errors and breakpoints/stepping in code called from the Debug Console (Evaluate context='repl')"},"trace":{"type":"boolean","default":false,"description":"Trace DAP messages to a `dap-trace.log`"}}}},"initialConfigurations":[{"type":"factorio","request":"launch","name":"Factorio Debug Adapter"}],"configurationSnippets":[{"type":"factorio","request":"launch","name":"Factorio Debug Adapter","factorioArgs":[],"tags":{}}]},{"type":"factoriomod","deprecated":"Please upgrade to `factorio` launch type"}],"customEditors":[{"viewType":"fmtk.modsettings","displayName":"Mod Settings","priority":"default","selector":[{"filenamePattern":"*mod-settings*.dat"}]},{"viewType":"fmtk.scriptdat","displayName":"Script.Dat","priority":"default","selector":[{"filenamePattern":"*script*.dat"}]}]},"_id":"factoriomod-debug@2.1.9","homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","_integrity":"sha512-DU6+5lUxD7SOBwlX+YL0X9NaYgpvDeB7faLp1AvAlWXSf3ZmGK801Ybf/EpZD0OJbjtjOqr99BGxkdVNdRUONQ==","_resolved":"D:\\factorio\\vscode-factoriomod-debug\\factoriomod-debug-2.1.9.tgz","_from":"file:factoriomod-debug-2.1.9.tgz","_nodeVersion":"24.18.1","_npmVersion":"11.16.0","dist":{"integrity":"sha512-DU6+5lUxD7SOBwlX+YL0X9NaYgpvDeB7faLp1AvAlWXSf3ZmGK801Ybf/EpZD0OJbjtjOqr99BGxkdVNdRUONQ==","shasum":"19b8abf326854331b5ea1dfb4d086dedad7994cc","tarball":"https://registry.npmjs.org/factoriomod-debug/-/factoriomod-debug-2.1.9.tgz","fileCount":39,"unpackedSize":1738111,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDyWcIWtGIjWh9AnAfT0rJ1ytFEcxZjt1fxgmKHmeaOwwIgCWx67IyvFZjrqukZ88dGcErQpFAwK6tatKBgura30oE="}]},"_npmUser":{"name":"justarandomgeek","email":"npm@justarandomgeek.com"},"directories":{},"maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/factoriomod-debug_2.1.9_1786660984034_0.5560886057708938"},"_hasShrinkwrap":false}},"time":{"created":"2022-12-06T17:07:19.337Z","modified":"2026-08-13T22:43:04.359Z","1.1.24":"2022-12-06T17:07:19.603Z","1.1.25":"2022-12-06T18:02:36.069Z","1.1.26":"2022-12-06T18:20:16.632Z","1.1.27":"2023-01-13T14:10:47.739Z","1.1.28":"2023-01-13T23:24:21.316Z","1.1.29":"2023-05-09T15:57:09.606Z","1.1.30":"2023-05-13T23:14:07.356Z","1.1.31":"2023-05-14T20:53:15.472Z","1.1.32":"2023-05-18T13:32:19.159Z","1.1.33":"2023-08-05T20:41:44.055Z","1.1.34":"2023-08-16T23:29:12.352Z","1.1.35":"2023-09-23T19:34:39.988Z","1.1.36":"2023-09-27T13:06:51.680Z","1.1.37":"2023-10-06T00:26:48.031Z","1.1.38":"2023-12-05T17:22:26.158Z","1.1.39":"2023-12-26T18:11:37.654Z","1.1.40":"2024-01-31T20:26:23.742Z","1.1.41":"2024-02-02T18:15:20.151Z","1.1.42":"2024-04-11T15:50:26.254Z","1.1.43":"2024-05-31T13:31:17.398Z","1.1.44":"2024-07-06T16:05:59.832Z","1.1.45":"2024-08-16T20:49:24.844Z","1.1.46":"2024-09-27T13:30:43.947Z","1.1.47":"2024-09-27T23:48:52.783Z","2.0.0":"2024-10-16T01:45:07.453Z","2.0.1":"2024-10-21T12:55:43.717Z","2.0.2":"2024-10-21T18:05:20.519Z","2.0.3":"2024-11-04T01:24:12.979Z","2.0.4":"2024-12-06T14:27:42.843Z","2.0.5":"2024-12-18T23:06:41.736Z","2.0.6":"2025-06-12T17:31:11.142Z","2.0.7":"2025-06-21T15:00:10.864Z","2.0.8":"2025-07-09T17:35:09.530Z","2.0.9":"2025-09-17T18:17:19.741Z","2.0.10":"2026-01-01T20:57:47.071Z","2.0.11":"2026-04-28T02:07:21.406Z","2.0.12":"2026-04-29T23:16:27.170Z","2.0.13":"2026-05-03T17:13:39.724Z","2.0.14":"2026-05-15T22:53:07.762Z","2.1.2":"2026-06-23T10:13:52.539Z","2.1.3":"2026-06-25T01:07:18.554Z","2.1.4":"2026-06-30T15:53:53.941Z","2.1.5":"2026-07-13T23:43:40.831Z","2.1.6":"2026-07-15T21:41:51.719Z","2.1.7":"2026-07-27T01:15:33.169Z","2.1.8":"2026-08-01T03:44:24.173Z","2.1.9":"2026-08-13T22:43:04.211Z"},"bugs":{"url":"https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"},"author":{"name":"justarandomgeek","email":"justarandomgeek@live.com"},"license":"MIT","homepage":"https://github.com/justarandomgeek/vscode-factoriomod-debug#readme","keywords":["multi-root ready"],"repository":{"type":"git","url":"git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git"},"description":"Debug Tools for developing Factorio Mods","maintainers":[{"name":"justarandomgeek","email":"npm@justarandomgeek.com"}],"readme":"# Factorio Modding Tool Kit\r\n\r\nA collection of tools for developing Factorio mods. This package is both [an npm package](https://www.npmjs.com/package/factoriomod-debug) providing the command line tool `fmtk`, and a [VS Code Extension](https://marketplace.visualstudio.com/items?itemName=justarandomgeek.factoriomod-debug) providing additional editor integration.\r\n\r\n * Debug Adapter - This extension uses Factorio's native [LuaDebugAdapter](https://lua-api.factorio.com/latest/classes/LuaDebugAdapter.html) support to enable debugging and profiling of mods\r\n * [JSON Validation](doc/language-json.md)\r\n * [Language Support for Locale and Changelog files](doc/language.md)\r\n * [Language Server integration for Lua](doc/language-lua.md) via [tangzx.emmylua](https://marketplace.visualstudio.com/items?itemName=tangzx.emmylua), [xuhuanzy.emmylua-luals](https://open-vsx.org/extension/xuhuanzy/emmylua-luals)\r\n * [Packaging and Publishing](doc/package.md)\r\n\r\n * [Getting LSP on text editors other than vscode](doc/lsptutorial.md)\r\n\r\n## Support FMTK\r\n\r\n[<img height='36' style='border:0px;height:36px;' src='https://az743702.vo.msecnd.net/cdn/kofi2.png?v=2' border='0' alt='Buy Me a Coffee at ko-fi.com'/>](https://ko-fi.com/X8X41IE4T)\r\n","readmeFilename":"readme.md"}