hindicode 1.0.1 → 1.0.3

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 (3) hide show
  1. package/README.md +241 -0
  2. package/index.js +21 -14
  3. package/package.json +1 -1
package/README.md ADDED
@@ -0,0 +1,241 @@
1
+ # HindiCode - हिंदी में जावास्क्रिप्ट लिखें! 🚀
2
+
3
+ ## परिचय
4
+ **HindiCode** एक अनोखा NPM पैकेज है जो आपको **हिंदी में जावास्क्रिप्ट** लिखने की सुविधा देता है। यह कोड को रन-टाइम पर **हिंदी से जावास्क्रिप्ट** में परिवर्तित करता है ताकि आप **JavaScript के कीवर्ड्स हिंदी में** लिख सकें!
5
+
6
+ 🔹 **दृष्टांत:**
7
+ ```hindi
8
+ स्थिर x = 10;
9
+ अगर (x > 5) {
10
+ दिखाओ("x बड़ा है!");
11
+ } अन्यथा {
12
+ दिखाओ("x छोटा है!");
13
+ }
14
+ ```
15
+ ✅ **परिवर्तित जावास्क्रिप्ट कोड:**
16
+ ```javascript
17
+ const x = 10;
18
+ if (x > 5) {
19
+ console.log("x बड़ा है!");
20
+ } else {
21
+ console.log("x छोटा है!");
22
+ }
23
+ ```
24
+
25
+ ---
26
+
27
+ ## 📌 विशेषताएँ
28
+ ✔ **हिंदी में कोडिंग:** जावास्क्रिप्ट के कीवर्ड्स हिंदी में!
29
+ ✔ **रन-टाइम ट्रांसपाइलर:** `.hindi.js` फ़ाइल को डायरेक्ट रन करें।
30
+ ✔ **स्ट्रिंग्स सुरक्षित:** कोड में लिखे हुए टेक्स्ट को अनछुए रखता है।
31
+ ✔ **सिंपल सेटअप:** बस इंस्टॉल करें और उपयोग करें!
32
+
33
+ ---
34
+
35
+ ## 🔧 इंस्टॉलेशन
36
+ ```sh
37
+ npm install -g hindicode
38
+ ```
39
+
40
+ ---
41
+
42
+ ## 🚀 उपयोग कैसे करें?
43
+
44
+ ### **1️⃣ हिंदी कोड लिखें**
45
+ `.hindi.js` फाइल बनाएं और हिंदी में जावास्क्रिप्ट लिखें:
46
+ ```hindi
47
+ // test.hindi.js
48
+ स्थिर संख्या = 42;
49
+ दिखाओ("संख्या है:", संख्या);
50
+
51
+ कार्य जोड़ो(क, ख) {
52
+ लौटाओ क + ख;
53
+ }
54
+
55
+ दिखाओ("जोड़:", जोड़ो(5, 7));
56
+ ```
57
+
58
+ ### **2️⃣ सीधे चलाएँ**
59
+ ```sh
60
+
61
+ node test.hindi.js
62
+ or
63
+ node hindicode test.hindi.js
64
+
65
+
66
+ ✅ आउटपुट:
67
+ ```
68
+ संख्या है: 42
69
+ जोड़: 12
70
+ ```
71
+
72
+ ---
73
+
74
+ ## 🔍 कैसे काम करता है?
75
+ **HindiCode** रन-टाइम पर `.hindi.js` फ़ाइल को लोड करता है और उसमें लिखे गए **हिंदी कीवर्ड्स को जावास्क्रिप्ट में** बदलकर उसे रन करता है।
76
+
77
+ ```javascript
78
+ require.extensions[".hindi.js"] = function (module, filename) {
79
+ let content = fs.readFileSync(filename, "utf8").trim();
80
+ content = translateHindiJS(content);
81
+ module._compile(content, filename);
82
+ };
83
+ ```
84
+
85
+ ---
86
+
87
+ ## 📖 हिंदी से जावास्क्रिप्ट कीवर्ड्स मैपिंग
88
+ | **हिंदी** | **जावास्क्रिप्ट** |
89
+ |-----------|------------------|
90
+ | अगर | if |
91
+ | अन्यथा | else |
92
+ | दिखाओ | console.log |
93
+ | कार्य | function |
94
+ | लौटाओ | return |
95
+ | चलाओ | for |
96
+ | जबतक | while |
97
+ | नया | let |
98
+ | स्थिर | const |
99
+ | परिभाषा | var |
100
+ | सही | true |
101
+ | गलत | false |
102
+
103
+
104
+
105
+ ---
106
+
107
+ ## 💖 सहयोग करें!
108
+ अगर आपको **HindiCode** पसंद आया हो, तो हमारे प्रोजेक्ट को **सपोर्ट** करें!
109
+ 👉 [डोनेट करें - Patreon](https://www.patreon.com/c/BABU_ISHU)
110
+
111
+ ---
112
+
113
+ ## 📜 लाइसेंस
114
+ यह प्रोजेक्ट **MIT लाइसेंस** के अंतर्गत जारी किया गया है।
115
+ आप इसे फ्री में उपयोग कर सकते हैं, लेकिन इसका सही उपयोग करें! 😊
116
+
117
+ ---
118
+
119
+ ## 🚀 योगदान करें
120
+ अगर आपके पास कोई सुझाव या नया फ़ीचर जोड़ना चाहते हैं, तो GitHub पर PR भेजें!
121
+ **Happy Coding! ❤️**
122
+
123
+ # HindiCode - Write JavaScript in Hindi! 🚀
124
+
125
+ ## Introduction
126
+ **HindiCode** is an NPM package that allows you to **write JavaScript in Hindi**. It transpiles **Hindi keywords into JavaScript** at runtime, enabling you to code in Hindi seamlessly!
127
+
128
+ 🔹 **Example:**
129
+ ```hindi
130
+ स्थिर x = 10;
131
+ अगर (x > 5) {
132
+ दिखाओ("x बड़ा है!");
133
+ } अन्यथा {
134
+ दिखाओ("x छोटा है!");
135
+ }
136
+ ```
137
+ ✅ **Transpiled JavaScript:**
138
+ ```javascript
139
+ const x = 10;
140
+ if (x > 5) {
141
+ console.log("x बड़ा है!");
142
+ } else {
143
+ console.log("x छोटा है!");
144
+ }
145
+ ```
146
+
147
+ ---
148
+
149
+ ## 📌 Features
150
+ ✔ **Code in Hindi:** Use Hindi keywords instead of JavaScript ones.
151
+ ✔ **Runtime Transpiler:** Run `.hindi.js` files directly.
152
+ ✔ **String Protection:** Keeps your string content untouched.
153
+ ✔ **Simple Setup:** Install and start using immediately.
154
+
155
+ ---
156
+
157
+ ## 🔧 Installation
158
+ ```sh
159
+ npm install -g hindicode
160
+ ```
161
+
162
+ ---
163
+
164
+ ## 🚀 How to Use?
165
+
166
+ ### **1️⃣ Write Hindi Code**
167
+ Create a `.hindi.js` file and write JavaScript using Hindi keywords:
168
+ ```hindi
169
+ // test.hindi.js
170
+ स्थिर संख्या = 42;
171
+ दिखाओ("संख्या है:", संख्या);
172
+
173
+ कार्य जोड़ो(क, ख) {
174
+ लौटाओ क + ख;
175
+ }
176
+
177
+ दिखाओ("जोड़:", जोड़ो(5, 7));
178
+ ```
179
+
180
+ ### **2️⃣ Run Directly**
181
+ ```sh
182
+ node test.hindi.js
183
+ or
184
+ node hindicode test.hindi.js
185
+ ```
186
+ ✅ **Output:**
187
+ ```
188
+ संख्या है: 42
189
+ जोड़: 12
190
+ ```
191
+
192
+ ---
193
+
194
+ ## 🔍 How Does It Work?
195
+ **HindiCode** hooks into Node.js and **transpiles Hindi keywords into JavaScript** at runtime before execution.
196
+
197
+ ```javascript
198
+ require.extensions[".hindi.js"] = function (module, filename) {
199
+ let content = fs.readFileSync(filename, "utf8").trim();
200
+ content = translateHindiJS(content);
201
+ module._compile(content, filename);
202
+ };
203
+ ```
204
+
205
+ ---
206
+
207
+ ## 📖 Hindi to JavaScript Keyword Mapping
208
+ | **Hindi** | **JavaScript** |
209
+ |------------|--------------|
210
+ | अगर | if |
211
+ | अन्यथा | else |
212
+ | दिखाओ | console.log |
213
+ | कार्य | function |
214
+ | लौटाओ | return |
215
+ | चलाओ | for |
216
+ | जबतक | while |
217
+ | नया | let |
218
+ | स्थिर | const |
219
+ | परिभाषा | var |
220
+ | सही | true |
221
+ | गलत | false |
222
+
223
+
224
+
225
+ ---
226
+
227
+ ## 💖 Support Us!
228
+ If you like **HindiCode**, consider supporting the project!
229
+ 👉 [Donate on Patreon](https://www.patreon.com/c/BABU_ISHU)
230
+
231
+ ---
232
+
233
+ ## 📜 License
234
+ This project is released under the **MIT License**.
235
+ Feel free to use it responsibly! 😊
236
+
237
+ ---
238
+
239
+ ## 🚀 Contribute
240
+ Have suggestions or want to add new features? Submit a PR on GitHub!
241
+ **Happy Coding! ❤️**
package/index.js CHANGED
@@ -31,8 +31,8 @@ const hindiToJS = {
31
31
  "ब्रेक": "break",
32
32
  "जारी": "continue",
33
33
  "स्विच": "switch",
34
- "के लिए": "for",
35
- "प्रत्येक के लिए": "forEach",
34
+ "केलिए": "for",
35
+ "प्रत्येक": "forEach",
36
36
  "मानचित्र": "map",
37
37
  "फ़िल्टर": "filter",
38
38
  "कम करना": "reduce",
@@ -49,7 +49,7 @@ const hindiToJS = {
49
49
  "प्रकार": "typeof",
50
50
  "उदाहरण": "instanceof",
51
51
  "में": "in",
52
- "नया उदाहरण": "new",
52
+ "नयाउदाहरण": "new",
53
53
  "हटाना": "delete",
54
54
  "शून्य करना": "void",
55
55
  "साथ": "with",
@@ -80,7 +80,7 @@ const hindiToJS = {
80
80
  "अस्वीकार": "reject",
81
81
  "से": "from",
82
82
  "एक": "as",
83
- "नाम": "name",
83
+ "नम": "name",
84
84
  "भेजें": "send",
85
85
  "प्राप्त": "receive",
86
86
  "कनेक्ट": "connect",
@@ -105,25 +105,32 @@ const hindiToJS = {
105
105
  // "स्थिर": "const",
106
106
  // "परिभाषा": "var"
107
107
  // };
108
-
109
- // Function to translate Hindi JS code
110
108
  function translateHindiJS(code) {
111
- // console.log("🔍 Before Translation:\n", code);
109
+ // स्ट्रिंग्स को प्रोटेक्ट करने के लिए, पहले उन्हें अलग कर लें
110
+ let stringLiterals = [];
111
+ code = code.replace(/(["'`])((?:\\\1|.)*?)\1/g, (match) => {
112
+ stringLiterals.push(match); // स्ट्रिंग सेव कर लो
113
+ return `___STR${stringLiterals.length - 1}___`; // प्लेसहोल्डर डाल दो
114
+ });
112
115
 
116
+ // अब सिर्फ जावास्क्रिप्ट केवर्ड्स को ही ट्रांसलेट करो
113
117
  Object.entries(hindiToJS).forEach(([hindi, js]) => {
114
- // console.log(`🔄 Processing: Hindi='${hindi}', JS='${js}'`);
115
- //const regex = new RegExp(`\\b${hindi}\\b`, "g"); // Match full words
116
- const regex = new RegExp(`(?<![\\u00BF-\\u1FFF\\u2C00-\\uD7FF\\w])${hindi}(?![\\u00BF-\\u1FFF\\u2C00-\\uD7FF\\w])`, "g");
117
- if (code.includes(hindi)) {
118
-
118
+ if (hindi === "नाम") {
119
+ // 'this.नाम' और 'let नाम' को नहीं बदलना
120
+ code = code.replace(/([^.\w])नाम([^.\w])/g, `$1name$2`);
121
+ } else {
122
+ const regex = new RegExp(`(?<![\\u00BF-\\u1FFF\\u2C00-\\uD7FF\\w])${hindi}(?![\\u00BF-\\u1FFF\\u2C00-\\uD7FF\\w])`, "g");
123
+ code = code.replace(regex, js);
119
124
  }
120
- code = code.replace(regex, js);
121
125
  });
122
126
 
123
-
127
+ // अब स्ट्रिंग्स को वापस लाओ
128
+ code = code.replace(/___STR(\d+)___/g, (_, index) => stringLiterals[parseInt(index)]);
129
+ console.log(code);
124
130
  return code;
125
131
  }
126
132
 
133
+
127
134
  // Custom require hook for `.hindi.js` files
128
135
  require.extensions[".hindi.js"] = function (module, filename) {
129
136
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hindicode",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"