dcs-git-utils 1.0.0 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/config.js CHANGED
@@ -1,140 +1,150 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.initializeConfig = exports.readConfig = exports.saveConfig = void 0;
39
- const fs = __importStar(require("fs"));
40
- const path = __importStar(require("path"));
41
- const inquirer_1 = __importDefault(require("inquirer"));
42
- const miz_selector_1 = require("./files/miz-selector");
43
- // 2. Define Defaults (Used if file is missing or partial)
44
- const DEFAULT_CONFIG = {
45
- lastMissionPath: null,
46
- backupEnabled: true
47
- };
48
- function saveConfig(data) {
49
- // 1. Determine the directory of the Executable
50
- // Check if we are running inside a 'pkg' executable
51
- const isPkg = process.pkg !== undefined;
52
- const exeDir = isPkg
53
- ? path.dirname(process.execPath) // PROD: The folder containing .exe
54
- : process.cwd(); // DEV: The folder where you ran 'npm start'
55
- // 2. Construct the full path
56
- const configPath = path.join(exeDir, 'config.json');
57
- try {
58
- // 3. Write the file
59
- fs.writeFileSync(configPath, JSON.stringify(data, null, 4), 'utf8');
60
- console.log(`Config saved to: ${configPath}`);
61
- }
62
- catch (err) {
63
- console.error(`Failed to write config`, err);
64
- }
65
- }
66
- exports.saveConfig = saveConfig;
67
- function readConfig() {
68
- // A. Determine the directory (Compatible with 'pkg')
69
- const isPkg = process.pkg !== undefined;
70
- const exeDir = isPkg
71
- ? path.dirname(process.execPath) // PROD: Next to the .exe
72
- : process.cwd(); // DEV: Current working directory
73
- const configPath = path.join(exeDir, 'config.json');
74
- // B. Check if file exists
75
- if (!fs.existsSync(configPath)) {
76
- console.log("No config found. Using defaults.");
77
- return DEFAULT_CONFIG;
78
- }
79
- try {
80
- // C. Read and Parse
81
- const rawData = fs.readFileSync(configPath, 'utf8');
82
- const userConfig = JSON.parse(rawData);
83
- // D. Merge with Defaults
84
- // (Ensures your app doesn't crash if the user deletes a key from the JSON)
85
- return Object.assign(Object.assign({}, DEFAULT_CONFIG), userConfig);
86
- }
87
- catch (err) {
88
- console.error(`Error reading config (corrupt JSON?)`, err);
89
- console.log("Reverting to default configuration.");
90
- return DEFAULT_CONFIG;
91
- }
92
- }
93
- exports.readConfig = readConfig;
94
- const initializeConfig = (options) => __awaiter(void 0, void 0, void 0, function* () {
95
- var _a;
96
- const config = readConfig();
97
- let missionPath = (_a = options === null || options === void 0 ? void 0 : options.file) !== null && _a !== void 0 ? _a : "";
98
- let outDir = "";
99
- if (missionPath) {
100
- const mizDir = missionPath.replace(path.basename(missionPath), "");
101
- outDir = path.join(mizDir, "out");
102
- }
103
- else if (config.lastMissionPath === null) {
104
- const { mizPath, dir } = yield (0, miz_selector_1.getMizPath)();
105
- missionPath = mizPath;
106
- outDir = path.join(dir, "out");
107
- }
108
- else {
109
- missionPath = config.lastMissionPath;
110
- const { action } = yield inquirer_1.default.prompt([
111
- {
112
- type: 'rawlist',
113
- name: 'action',
114
- message: 'Target file already exists. What would you like to do?',
115
- choices: [
116
- {
117
- name: `Reuse the existing path: ${config.lastMissionPath}`,
118
- value: 'reusePath'
119
- },
120
- {
121
- name: "Select new .miz",
122
- value: 'selectMiz'
123
- }
124
- ]
125
- }
126
- ]);
127
- const mizDir = missionPath.replace(path.basename(missionPath), "");
128
- outDir = path.join(mizDir, "out");
129
- if (action === "selectMiz") {
130
- const { mizPath, dir } = yield (0, miz_selector_1.getMizPath)(mizDir);
131
- missionPath = mizPath;
132
- outDir = path.join(dir, "out");
133
- ;
134
- }
135
- }
136
- saveConfig(Object.assign(Object.assign({}, config), { lastMissionPath: missionPath }));
137
- return { missionPath, outDir };
138
- });
139
- exports.initializeConfig = initializeConfig;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.initializeConfig = void 0;
49
+ exports.saveConfig = saveConfig;
50
+ exports.readConfig = readConfig;
51
+ const fs = __importStar(require("fs"));
52
+ const path = __importStar(require("path"));
53
+ const inquirer_1 = __importDefault(require("inquirer"));
54
+ const miz_selector_1 = require("./files/miz-selector");
55
+ // 2. Define Defaults (Used if file is missing or partial)
56
+ const DEFAULT_CONFIG = {
57
+ lastMissionPath: null,
58
+ backupEnabled: true
59
+ };
60
+ function saveConfig(data) {
61
+ // 1. Determine the directory of the Executable
62
+ // Check if we are running inside a 'pkg' executable
63
+ const isPkg = process.pkg !== undefined;
64
+ const exeDir = isPkg
65
+ ? path.dirname(process.execPath) // PROD: The folder containing .exe
66
+ : process.cwd(); // DEV: The folder where you ran 'npm start'
67
+ // 2. Construct the full path
68
+ const configPath = path.join(exeDir, 'config.json');
69
+ try {
70
+ // 3. Write the file
71
+ fs.writeFileSync(configPath, JSON.stringify(data, null, 4), 'utf8');
72
+ console.log(`Config saved to: ${configPath}`);
73
+ }
74
+ catch (err) {
75
+ console.error(`Failed to write config`, err);
76
+ }
77
+ }
78
+ function readConfig() {
79
+ // A. Determine the directory (Compatible with 'pkg')
80
+ const isPkg = process.pkg !== undefined;
81
+ const exeDir = isPkg
82
+ ? path.dirname(process.execPath) // PROD: Next to the .exe
83
+ : process.cwd(); // DEV: Current working directory
84
+ const configPath = path.join(exeDir, 'config.json');
85
+ // B. Check if file exists
86
+ if (!fs.existsSync(configPath)) {
87
+ console.log("No config found. Using defaults.");
88
+ return DEFAULT_CONFIG;
89
+ }
90
+ try {
91
+ // C. Read and Parse
92
+ const rawData = fs.readFileSync(configPath, 'utf8');
93
+ const userConfig = JSON.parse(rawData);
94
+ // D. Merge with Defaults
95
+ // (Ensures your app doesn't crash if the user deletes a key from the JSON)
96
+ return Object.assign(Object.assign({}, DEFAULT_CONFIG), userConfig);
97
+ }
98
+ catch (err) {
99
+ console.error(`Error reading config (corrupt JSON?)`, err);
100
+ console.log("Reverting to default configuration.");
101
+ return DEFAULT_CONFIG;
102
+ }
103
+ }
104
+ const initializeConfig = (options) => __awaiter(void 0, void 0, void 0, function* () {
105
+ var _a;
106
+ const config = readConfig();
107
+ let missionPath = (_a = options === null || options === void 0 ? void 0 : options.file) !== null && _a !== void 0 ? _a : "";
108
+ let outDir = "";
109
+ if (missionPath) {
110
+ const mizDir = missionPath.replace(path.basename(missionPath), "");
111
+ outDir = path.join(mizDir, "out");
112
+ }
113
+ else if (config.lastMissionPath === null) {
114
+ const { mizPath, dir } = yield (0, miz_selector_1.getMizPath)();
115
+ missionPath = mizPath;
116
+ outDir = path.join(dir, "out");
117
+ }
118
+ else {
119
+ missionPath = config.lastMissionPath;
120
+ const { action } = yield inquirer_1.default.prompt([
121
+ {
122
+ type: 'rawlist',
123
+ name: 'action',
124
+ message: 'Target file already exists. What would you like to do?',
125
+ choices: [
126
+ {
127
+ name: `Reuse the existing path: ${config.lastMissionPath}`,
128
+ value: 'reusePath'
129
+ },
130
+ {
131
+ name: "Select new .miz",
132
+ value: 'selectMiz'
133
+ }
134
+ ]
135
+ }
136
+ ]);
137
+ const mizDir = missionPath.replace(path.basename(missionPath), "");
138
+ outDir = path.join(mizDir, "out");
139
+ if (action === "selectMiz") {
140
+ const { mizPath, dir } = yield (0, miz_selector_1.getMizPath)(mizDir);
141
+ missionPath = mizPath;
142
+ outDir = path.join(dir, "out");
143
+ ;
144
+ }
145
+ }
146
+ saveConfig(Object.assign(Object.assign({}, config), { lastMissionPath: missionPath }));
147
+ return { missionPath, outDir };
148
+ });
149
+ exports.initializeConfig = initializeConfig;
140
150
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,wDAAgC;AAChC,uDAAkD;AAOlD,0DAA0D;AAC1D,MAAM,cAAc,GAAc;IAC9B,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,IAAI;CACtB,CAAC;AAEF,SAAgB,UAAU,CAAC,IAAe;IACtC,+CAA+C;IAC/C,oDAAoD;IACpD,MAAM,KAAK,GAAI,OAAe,CAAC,GAAG,KAAK,SAAS,CAAC;IAEjD,MAAM,MAAM,GAAG,KAAK;QAChB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,mCAAmC;QACpE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAiB,4CAA4C;IAEjF,6BAA6B;IAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAEpD,IAAI;QACA,oBAAoB;QACpB,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAC;KACjD;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;KAChD;AACL,CAAC;AAnBD,gCAmBC;AAID,SAAgB,UAAU;IACtB,qDAAqD;IACrD,MAAM,KAAK,GAAI,OAAe,CAAC,GAAG,KAAK,SAAS,CAAC;IACjD,MAAM,MAAM,GAAG,KAAK;QAChB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,yBAAyB;QAC1D,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAiB,iCAAiC;IAEtE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAEpD,0BAA0B;IAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,cAAc,CAAC;KACzB;IAED,IAAI;QACA,oBAAoB;QACpB,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEvC,0BAA0B;QAC1B,2EAA2E;QAC3E,uCAAY,cAAc,GAAK,UAAU,EAAG;KAE/C;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,cAAc,CAAC;KACzB;AACL,CAAC;AA7BD,gCA6BC;AAEM,MAAM,gBAAgB,GAAG,CAAO,OAA2B,EAAE,EAAE;;IAClE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,WAAW,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,EAAE,CAAC;IACtC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,WAAW,EAAE;QACb,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QACnE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KACrC;SACI,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI,EAAE;QACtC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,IAAA,yBAAU,GAAE,CAAC;QAC5C,WAAW,GAAG,OAAO,CAAC;QACtB,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;KAClC;SAAM;QACH,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC;QACrC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACrC;gBACI,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,wDAAwD;gBACjE,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,4BAA4B,MAAM,CAAC,eAAe,EAAE;wBAC1D,KAAK,EAAE,WAAW;qBACrB;oBACD;wBACI,IAAI,EAAE,iBAAiB;wBACvB,KAAK,EAAE,WAAW;qBACrB;iBACJ;aACJ;SACJ,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QAEnE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAElC,IAAI,MAAM,KAAK,WAAW,EAAE;YACxB,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,IAAA,yBAAU,EAAC,MAAM,CAAC,CAAC;YAClD,WAAW,GAAG,OAAO,CAAC;YACtB,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAAA,CAAC;SACnC;KAGJ;IAED,UAAU,iCAAM,MAAM,KAAE,eAAe,EAAE,WAAW,IAAG,CAAC;IAExD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACnC,CAAC,CAAA,CAAA;AAjDY,QAAA,gBAAgB,oBAiD5B"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,79 +1,89 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.fengariSortFile = void 0;
27
- const fs = __importStar(require("fs"));
28
- const path = __importStar(require("path"));
29
- const fengari = __importStar(require("fengari"));
30
- const lua = fengari.lua;
31
- const lauxlib = fengari.lauxlib;
32
- const lualib = fengari.lualib;
33
- const to_luastring = fengari.to_luastring;
34
- const scriptPath = path.join(__dirname, "../lua/sorter_lib.lua");
35
- const runSorter = (dataFilePath, varName) => {
36
- // 1. Read the Data File
37
- const dataContent = fs.readFileSync(dataFilePath, 'utf8');
38
- // --- DETECT LINE ENDINGS ---
39
- // Check if the file contains Carriage Return + Line Feed
40
- const useCRLF = dataContent.includes("\r\n");
41
- const EOL = useCRLF ? "\r\n" : "\n";
42
- // ---------------------------
43
- const L = lauxlib.luaL_newstate();
44
- lualib.luaL_openlibs(L);
45
- // 2. Load Data into VM
46
- // Strip shebang just in case, convert to Lua String
47
- const cleanContent = dataContent.replace(/^#!\/.*\n/, "");
48
- let status = lauxlib.luaL_dostring(L, to_luastring(cleanContent));
49
- if (status !== lua.LUA_OK) {
50
- throw new Error(`Lua Load Error: ${lua.lua_tojsstring(L, -1)}`);
51
- }
52
- // 3. Load Sorter Logic
53
- const scriptContent = fs.readFileSync(scriptPath, 'utf8');
54
- status = lauxlib.luaL_loadstring(L, to_luastring(scriptContent));
55
- if (status !== lua.LUA_OK) {
56
- throw new Error(`Script Load Error: ${lua.lua_tojsstring(L, -1)}`);
57
- }
58
- // 4. Run Sorter
59
- lua.lua_pushstring(L, varName);
60
- status = lua.lua_pcall(L, 1, 2, 0);
61
- if (status !== lua.LUA_OK) {
62
- throw new Error(`Runtime Error: ${lua.lua_tojsstring(L, -1)}`);
63
- }
64
- const errorMsg = lua.lua_tojsstring(L, -1);
65
- let resultString = lua.lua_tojsstring(L, -2); // This will contain \n
66
- if (!resultString && errorMsg) {
67
- throw new Error(`Logic Error: ${errorMsg}`);
68
- }
69
- resultString = resultString.replace(/\r?\n/g, EOL);
70
- // 5. Write back
71
- fs.writeFileSync(dataFilePath, resultString);
72
- console.log(`Success: Sorted ${varName}`);
73
- };
74
- const fengariSortFile = (filepath) => {
75
- const targetVar = path.basename(filepath);
76
- runSorter(filepath, targetVar);
77
- };
78
- exports.fengariSortFile = fengariSortFile;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.fengariSortFile = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const fengari = __importStar(require("fengari"));
40
+ const lua = fengari.lua;
41
+ const lauxlib = fengari.lauxlib;
42
+ const lualib = fengari.lualib;
43
+ const to_luastring = fengari.to_luastring;
44
+ const scriptPath = path.join(__dirname, "../lua/sorter_lib.lua");
45
+ const runSorter = (dataFilePath, varName) => {
46
+ // 1. Read the Data File
47
+ const dataContent = fs.readFileSync(dataFilePath, 'utf8');
48
+ // --- DETECT LINE ENDINGS ---
49
+ // Check if the file contains Carriage Return + Line Feed
50
+ const useCRLF = dataContent.includes("\r\n");
51
+ const EOL = useCRLF ? "\r\n" : "\n";
52
+ // ---------------------------
53
+ const L = lauxlib.luaL_newstate();
54
+ lualib.luaL_openlibs(L);
55
+ // 2. Load Data into VM
56
+ // Strip shebang just in case, convert to Lua String
57
+ const cleanContent = dataContent.replace(/^#!\/.*\n/, "");
58
+ let status = lauxlib.luaL_dostring(L, to_luastring(cleanContent));
59
+ if (status !== lua.LUA_OK) {
60
+ throw new Error(`Lua Load Error: ${lua.lua_tojsstring(L, -1)}`);
61
+ }
62
+ // 3. Load Sorter Logic
63
+ const scriptContent = fs.readFileSync(scriptPath, 'utf8');
64
+ status = lauxlib.luaL_loadstring(L, to_luastring(scriptContent));
65
+ if (status !== lua.LUA_OK) {
66
+ throw new Error(`Script Load Error: ${lua.lua_tojsstring(L, -1)}`);
67
+ }
68
+ // 4. Run Sorter
69
+ lua.lua_pushstring(L, varName);
70
+ status = lua.lua_pcall(L, 1, 2, 0);
71
+ if (status !== lua.LUA_OK) {
72
+ throw new Error(`Runtime Error: ${lua.lua_tojsstring(L, -1)}`);
73
+ }
74
+ const errorMsg = lua.lua_tojsstring(L, -1);
75
+ let resultString = lua.lua_tojsstring(L, -2); // This will contain \n
76
+ if (!resultString && errorMsg) {
77
+ throw new Error(`Logic Error: ${errorMsg}`);
78
+ }
79
+ resultString = resultString.replace(/\r?\n/g, EOL);
80
+ // 5. Write back
81
+ fs.writeFileSync(dataFilePath, resultString);
82
+ console.log(`Success: Sorted ${varName}`);
83
+ };
84
+ const fengariSortFile = (filepath) => {
85
+ const targetVar = path.basename(filepath);
86
+ runSorter(filepath, targetVar);
87
+ };
88
+ exports.fengariSortFile = fengariSortFile;
79
89
  //# sourceMappingURL=fengari-wrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fengari-wrapper.js","sourceRoot":"","sources":["../src/fengari-wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fengari-wrapper.js","sourceRoot":"","sources":["../src/fengari-wrapper.ts"],"names":[],"mappings":"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"}