know-the-quran 0.1.3 → 1.0.0

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.
Files changed (122) hide show
  1. package/bin/know-the-quran.js +6 -105
  2. package/data/quran/chapters.json +800 -0
  3. package/data/quran/surahs/1.json +53 -0
  4. package/data/quran/surahs/10.json +671 -0
  5. package/data/quran/surahs/100.json +83 -0
  6. package/data/quran/surahs/101.json +83 -0
  7. package/data/quran/surahs/102.json +65 -0
  8. package/data/quran/surahs/103.json +35 -0
  9. package/data/quran/surahs/104.json +71 -0
  10. package/data/quran/surahs/105.json +47 -0
  11. package/data/quran/surahs/106.json +41 -0
  12. package/data/quran/surahs/107.json +59 -0
  13. package/data/quran/surahs/108.json +35 -0
  14. package/data/quran/surahs/109.json +53 -0
  15. package/data/quran/surahs/11.json +755 -0
  16. package/data/quran/surahs/110.json +35 -0
  17. package/data/quran/surahs/111.json +47 -0
  18. package/data/quran/surahs/112.json +41 -0
  19. package/data/quran/surahs/113.json +47 -0
  20. package/data/quran/surahs/114.json +53 -0
  21. package/data/quran/surahs/12.json +683 -0
  22. package/data/quran/surahs/13.json +275 -0
  23. package/data/quran/surahs/14.json +329 -0
  24. package/data/quran/surahs/15.json +611 -0
  25. package/data/quran/surahs/16.json +785 -0
  26. package/data/quran/surahs/17.json +683 -0
  27. package/data/quran/surahs/18.json +677 -0
  28. package/data/quran/surahs/19.json +605 -0
  29. package/data/quran/surahs/2.json +1733 -0
  30. package/data/quran/surahs/20.json +827 -0
  31. package/data/quran/surahs/21.json +689 -0
  32. package/data/quran/surahs/22.json +485 -0
  33. package/data/quran/surahs/23.json +725 -0
  34. package/data/quran/surahs/24.json +401 -0
  35. package/data/quran/surahs/25.json +479 -0
  36. package/data/quran/surahs/26.json +1379 -0
  37. package/data/quran/surahs/27.json +575 -0
  38. package/data/quran/surahs/28.json +545 -0
  39. package/data/quran/surahs/29.json +431 -0
  40. package/data/quran/surahs/3.json +1217 -0
  41. package/data/quran/surahs/30.json +377 -0
  42. package/data/quran/surahs/31.json +221 -0
  43. package/data/quran/surahs/32.json +197 -0
  44. package/data/quran/surahs/33.json +455 -0
  45. package/data/quran/surahs/34.json +341 -0
  46. package/data/quran/surahs/35.json +287 -0
  47. package/data/quran/surahs/36.json +515 -0
  48. package/data/quran/surahs/37.json +1109 -0
  49. package/data/quran/surahs/38.json +545 -0
  50. package/data/quran/surahs/39.json +467 -0
  51. package/data/quran/surahs/4.json +1073 -0
  52. package/data/quran/surahs/40.json +527 -0
  53. package/data/quran/surahs/41.json +341 -0
  54. package/data/quran/surahs/42.json +335 -0
  55. package/data/quran/surahs/43.json +551 -0
  56. package/data/quran/surahs/44.json +371 -0
  57. package/data/quran/surahs/45.json +239 -0
  58. package/data/quran/surahs/46.json +227 -0
  59. package/data/quran/surahs/47.json +245 -0
  60. package/data/quran/surahs/48.json +191 -0
  61. package/data/quran/surahs/49.json +125 -0
  62. package/data/quran/surahs/5.json +737 -0
  63. package/data/quran/surahs/50.json +287 -0
  64. package/data/quran/surahs/51.json +377 -0
  65. package/data/quran/surahs/52.json +311 -0
  66. package/data/quran/surahs/53.json +389 -0
  67. package/data/quran/surahs/54.json +347 -0
  68. package/data/quran/surahs/55.json +485 -0
  69. package/data/quran/surahs/56.json +593 -0
  70. package/data/quran/surahs/57.json +191 -0
  71. package/data/quran/surahs/58.json +149 -0
  72. package/data/quran/surahs/59.json +161 -0
  73. package/data/quran/surahs/6.json +1007 -0
  74. package/data/quran/surahs/60.json +95 -0
  75. package/data/quran/surahs/61.json +101 -0
  76. package/data/quran/surahs/62.json +83 -0
  77. package/data/quran/surahs/63.json +83 -0
  78. package/data/quran/surahs/64.json +125 -0
  79. package/data/quran/surahs/65.json +89 -0
  80. package/data/quran/surahs/66.json +89 -0
  81. package/data/quran/surahs/67.json +197 -0
  82. package/data/quran/surahs/68.json +329 -0
  83. package/data/quran/surahs/69.json +329 -0
  84. package/data/quran/surahs/7.json +1253 -0
  85. package/data/quran/surahs/70.json +281 -0
  86. package/data/quran/surahs/71.json +185 -0
  87. package/data/quran/surahs/72.json +185 -0
  88. package/data/quran/surahs/73.json +137 -0
  89. package/data/quran/surahs/74.json +353 -0
  90. package/data/quran/surahs/75.json +257 -0
  91. package/data/quran/surahs/76.json +203 -0
  92. package/data/quran/surahs/77.json +317 -0
  93. package/data/quran/surahs/78.json +257 -0
  94. package/data/quran/surahs/79.json +293 -0
  95. package/data/quran/surahs/8.json +467 -0
  96. package/data/quran/surahs/80.json +269 -0
  97. package/data/quran/surahs/81.json +191 -0
  98. package/data/quran/surahs/82.json +131 -0
  99. package/data/quran/surahs/83.json +233 -0
  100. package/data/quran/surahs/84.json +167 -0
  101. package/data/quran/surahs/85.json +149 -0
  102. package/data/quran/surahs/86.json +119 -0
  103. package/data/quran/surahs/87.json +131 -0
  104. package/data/quran/surahs/88.json +173 -0
  105. package/data/quran/surahs/89.json +197 -0
  106. package/data/quran/surahs/9.json +785 -0
  107. package/data/quran/surahs/90.json +137 -0
  108. package/data/quran/surahs/91.json +107 -0
  109. package/data/quran/surahs/92.json +143 -0
  110. package/data/quran/surahs/93.json +83 -0
  111. package/data/quran/surahs/94.json +65 -0
  112. package/data/quran/surahs/95.json +65 -0
  113. package/data/quran/surahs/96.json +131 -0
  114. package/data/quran/surahs/97.json +47 -0
  115. package/data/quran/surahs/98.json +65 -0
  116. package/data/quran/surahs/99.json +65 -0
  117. package/electron/main.js +25 -0
  118. package/electron/preload.js +19 -0
  119. package/electron/renderer/app.js +163 -0
  120. package/electron/renderer/index.html +41 -0
  121. package/electron/renderer/styles.css +229 -0
  122. package/package.json +7 -8
@@ -1,112 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const os = require("os");
4
- const path = require("path");
5
- const fs = require("fs");
6
- const https = require("https");
7
3
  const { spawn } = require("child_process");
8
- const unzipper = require("unzipper");
9
-
10
- const PLATFORM = os.platform();
11
- const HOME = os.homedir();
12
- const APP_DIR = path.join(HOME, ".know-the-quran");
13
- const ZIP_PATH = path.join(APP_DIR, "app.zip");
14
-
15
- let DOWNLOAD_URL;
16
- let EXEC_PATH;
17
-
18
- /**
19
- * Map platform → zip + executable
20
- */
21
- if (PLATFORM === "darwin") {
22
- DOWNLOAD_URL = "https://knowthequran.com/npx/Know-The-Quran-1.0.0-mac.zip";
23
- EXEC_PATH = path.join(
24
- APP_DIR,
25
- "Know The Qur'an.app",
26
- "Contents",
27
- "MacOS",
28
- "Know The Qur'an",
29
- );
30
- } else if (PLATFORM === "win32") {
31
- DOWNLOAD_URL = "https://knowthequran.com/npx/Know-The-Quran-1.0.0-win.zip";
32
- EXEC_PATH = path.join(APP_DIR, "Know The Qur'an.exe");
33
- } else {
34
- DOWNLOAD_URL = "https://knowthequran.com/npx/know-the-quran-1.0.0.zip";
35
- EXEC_PATH = path.join(APP_DIR, "know-the-quran");
36
- }
37
-
38
- /**
39
- * Ensure app directory exists
40
- */
41
- fs.mkdirSync(APP_DIR, { recursive: true });
42
-
43
- /**
44
- * Download helper
45
- */
46
- function download(url, dest) {
47
- return new Promise((resolve, reject) => {
48
- const file = fs.createWriteStream(dest);
49
- https
50
- .get(url, (res) => {
51
- if (res.statusCode !== 200) {
52
- reject(new Error(`Download failed (${res.statusCode})`));
53
- return;
54
- }
55
- res.pipe(file);
56
- file.on("finish", () => file.close(resolve));
57
- })
58
- .on("error", reject);
59
- });
60
- }
61
-
62
- /**
63
- * Unzip helper
64
- */
65
- function unzip(zipPath, dest) {
66
- return fs
67
- .createReadStream(zipPath)
68
- .pipe(unzipper.Extract({ path: dest }))
69
- .promise();
70
- }
71
-
72
- /**
73
- * Launch app
74
- */
75
- function runApp() {
76
- console.log("Launching Know The Quran…");
77
-
78
- const child = spawn(EXEC_PATH, [], {
79
- detached: true,
80
- stdio: "ignore",
81
- });
82
-
83
- child.unref();
84
- }
85
-
86
- /**
87
- * Main flow
88
- */
89
- (async () => {
90
- if (fs.existsSync(EXEC_PATH)) {
91
- runApp();
92
- return;
93
- }
94
-
95
- console.log("Downloading Know The Qur'an…");
96
- await download(DOWNLOAD_URL, ZIP_PATH);
97
-
98
- console.log("Extracting…");
99
- await unzip(ZIP_PATH, APP_DIR);
4
+ const path = require("path");
100
5
 
101
- fs.unlinkSync(ZIP_PATH);
6
+ const appRoot = path.resolve(__dirname, "..");
102
7
 
103
- if (PLATFORM !== "win32") {
104
- fs.chmodSync(EXEC_PATH, 0o755);
105
- }
8
+ const electron = require("electron");
106
9
 
107
- runApp();
108
- })().catch((err) => {
109
- console.error("Failed to launch Know The Qur'an:");
110
- console.error(err.message);
111
- process.exit(1);
10
+ spawn(electron, [appRoot], {
11
+ stdio: "inherit",
12
+ env: process.env,
112
13
  });