code-languages 1.2.0 → 1.3.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.
- package/README.md +46 -2
- package/dist/detect.cjs +745 -0
- package/dist/detect.cjs.map +1 -0
- package/dist/detect.d.cts +25 -0
- package/dist/detect.d.ts +25 -0
- package/dist/detect.js +742 -0
- package/dist/detect.js.map +1 -0
- package/dist/i18n.d.cts +5 -1
- package/dist/i18n.d.ts +5 -1
- package/dist/index.cjs +291 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +627 -1
- package/dist/index.d.ts +627 -1
- package/dist/index.js +284 -25
- package/dist/index.js.map +1 -1
- package/dist/languages/astro.cjs +34 -0
- package/dist/languages/astro.cjs.map +1 -0
- package/dist/languages/astro.d.cts +29 -0
- package/dist/languages/astro.d.ts +29 -0
- package/dist/languages/astro.js +32 -0
- package/dist/languages/astro.js.map +1 -0
- package/dist/languages/bash.cjs +5 -0
- package/dist/languages/bash.cjs.map +1 -1
- package/dist/languages/bash.d.cts +5 -0
- package/dist/languages/bash.d.ts +5 -0
- package/dist/languages/bash.js +5 -0
- package/dist/languages/bash.js.map +1 -1
- package/dist/languages/c.cjs +5 -0
- package/dist/languages/c.cjs.map +1 -1
- package/dist/languages/c.d.cts +5 -0
- package/dist/languages/c.d.ts +5 -0
- package/dist/languages/c.js +5 -0
- package/dist/languages/c.js.map +1 -1
- package/dist/languages/cpp.cjs +6 -1
- package/dist/languages/cpp.cjs.map +1 -1
- package/dist/languages/cpp.d.cts +5 -0
- package/dist/languages/cpp.d.ts +5 -0
- package/dist/languages/cpp.js +6 -1
- package/dist/languages/cpp.js.map +1 -1
- package/dist/languages/dockerfile.cjs +4 -0
- package/dist/languages/dockerfile.cjs.map +1 -1
- package/dist/languages/dockerfile.d.cts +4 -0
- package/dist/languages/dockerfile.d.ts +4 -0
- package/dist/languages/dockerfile.js +4 -0
- package/dist/languages/dockerfile.js.map +1 -1
- package/dist/languages/go.cjs +5 -0
- package/dist/languages/go.cjs.map +1 -1
- package/dist/languages/go.d.cts +5 -0
- package/dist/languages/go.d.ts +5 -0
- package/dist/languages/go.js +5 -0
- package/dist/languages/go.js.map +1 -1
- package/dist/languages/groovy.cjs +5 -0
- package/dist/languages/groovy.cjs.map +1 -1
- package/dist/languages/groovy.d.cts +5 -0
- package/dist/languages/groovy.d.ts +5 -0
- package/dist/languages/groovy.js +5 -0
- package/dist/languages/groovy.js.map +1 -1
- package/dist/languages/java.cjs +5 -0
- package/dist/languages/java.cjs.map +1 -1
- package/dist/languages/java.d.cts +5 -0
- package/dist/languages/java.d.ts +5 -0
- package/dist/languages/java.js +5 -0
- package/dist/languages/java.js.map +1 -1
- package/dist/languages/javascript.cjs +5 -0
- package/dist/languages/javascript.cjs.map +1 -1
- package/dist/languages/javascript.d.cts +5 -0
- package/dist/languages/javascript.d.ts +5 -0
- package/dist/languages/javascript.js +5 -0
- package/dist/languages/javascript.js.map +1 -1
- package/dist/languages/kotlin.cjs +5 -0
- package/dist/languages/kotlin.cjs.map +1 -1
- package/dist/languages/kotlin.d.cts +5 -0
- package/dist/languages/kotlin.d.ts +5 -0
- package/dist/languages/kotlin.js +5 -0
- package/dist/languages/kotlin.js.map +1 -1
- package/dist/languages/php.cjs +34 -0
- package/dist/languages/php.cjs.map +1 -0
- package/dist/languages/php.d.cts +29 -0
- package/dist/languages/php.d.ts +29 -0
- package/dist/languages/php.js +32 -0
- package/dist/languages/php.js.map +1 -0
- package/dist/languages/python.cjs +5 -0
- package/dist/languages/python.cjs.map +1 -1
- package/dist/languages/python.d.cts +5 -0
- package/dist/languages/python.d.ts +5 -0
- package/dist/languages/python.js +5 -0
- package/dist/languages/python.js.map +1 -1
- package/dist/languages/rust.cjs +5 -0
- package/dist/languages/rust.cjs.map +1 -1
- package/dist/languages/rust.d.cts +5 -0
- package/dist/languages/rust.d.ts +5 -0
- package/dist/languages/rust.js +5 -0
- package/dist/languages/rust.js.map +1 -1
- package/dist/languages/scss.cjs +34 -0
- package/dist/languages/scss.cjs.map +1 -0
- package/dist/languages/scss.d.cts +29 -0
- package/dist/languages/scss.d.ts +29 -0
- package/dist/languages/scss.js +32 -0
- package/dist/languages/scss.js.map +1 -0
- package/dist/languages/swift.cjs +5 -0
- package/dist/languages/swift.cjs.map +1 -1
- package/dist/languages/swift.d.cts +5 -0
- package/dist/languages/swift.d.ts +5 -0
- package/dist/languages/swift.js +5 -0
- package/dist/languages/swift.js.map +1 -1
- package/dist/languages/typescript.cjs +5 -0
- package/dist/languages/typescript.cjs.map +1 -1
- package/dist/languages/typescript.d.cts +5 -0
- package/dist/languages/typescript.d.ts +5 -0
- package/dist/languages/typescript.js +5 -0
- package/dist/languages/typescript.js.map +1 -1
- package/dist/languages/vue.cjs +34 -0
- package/dist/languages/vue.cjs.map +1 -0
- package/dist/languages/vue.d.cts +29 -0
- package/dist/languages/vue.d.ts +29 -0
- package/dist/languages/vue.js +32 -0
- package/dist/languages/vue.js.map +1 -0
- package/dist/languages/webassembly.cjs +34 -0
- package/dist/languages/webassembly.cjs.map +1 -0
- package/dist/languages/webassembly.d.cts +29 -0
- package/dist/languages/webassembly.d.ts +29 -0
- package/dist/languages/webassembly.js +32 -0
- package/dist/languages/webassembly.js.map +1 -0
- package/dist/{i18n-BXk47f_R.d.cts → types-CZDaRR4t.d.cts} +11 -3
- package/dist/{i18n-BXk47f_R.d.ts → types-CZDaRR4t.d.ts} +11 -3
- package/package.json +42 -1
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
Structured metadata for programming languages, packaged as a typed, tree-shakeable TypeScript library.
|
|
10
10
|
|
|
11
|
-
`code-languages` is useful when you need a small source of truth for language names, slugs, file extensions, release metadata, websites, paradigms, and logos in developer tools, docs sites, learning platforms, or editor-like interfaces. It currently includes metadata for
|
|
11
|
+
`code-languages` is useful when you need a small source of truth for language names, slugs, file extensions, release metadata, websites, paradigms, and logos in developer tools, docs sites, learning platforms, or editor-like interfaces. It currently includes metadata for 25 languages.
|
|
12
12
|
|
|
13
13
|
## Features
|
|
14
14
|
|
|
@@ -44,6 +44,7 @@ console.log(typescript.paradigms);
|
|
|
44
44
|
Import multiple languages:
|
|
45
45
|
|
|
46
46
|
```ts
|
|
47
|
+
import { astro } from "code-languages/astro";
|
|
47
48
|
import { bash } from "code-languages/bash";
|
|
48
49
|
import { c } from "code-languages/c";
|
|
49
50
|
import { cpp } from "code-languages/cpp";
|
|
@@ -55,13 +56,18 @@ import { java } from "code-languages/java";
|
|
|
55
56
|
import { html } from "code-languages/html";
|
|
56
57
|
import { kotlin } from "code-languages/kotlin";
|
|
57
58
|
import { markdown } from "code-languages/markdown";
|
|
59
|
+
import { php } from "code-languages/php";
|
|
58
60
|
import { python } from "code-languages/python";
|
|
61
|
+
import { scss } from "code-languages/scss";
|
|
59
62
|
import { json } from "code-languages/json";
|
|
60
63
|
import { sql } from "code-languages/sql";
|
|
61
64
|
import { swift } from "code-languages/swift";
|
|
65
|
+
import { vue } from "code-languages/vue";
|
|
66
|
+
import { webassembly } from "code-languages/webassembly";
|
|
62
67
|
import { xml } from "code-languages/xml";
|
|
63
68
|
import { yaml } from "code-languages/yaml";
|
|
64
69
|
|
|
70
|
+
console.log(astro.version);
|
|
65
71
|
console.log(bash.version);
|
|
66
72
|
console.log(c.extensions);
|
|
67
73
|
console.log(cpp.i18n.en.name);
|
|
@@ -73,10 +79,14 @@ console.log(java.version);
|
|
|
73
79
|
console.log(html.extensions);
|
|
74
80
|
console.log(kotlin.version);
|
|
75
81
|
console.log(markdown.website);
|
|
82
|
+
console.log(php.version);
|
|
76
83
|
console.log(python.publishedDate);
|
|
84
|
+
console.log(scss.extensions);
|
|
77
85
|
console.log(json.i18n.en.description);
|
|
78
86
|
console.log(sql.i18n.en.name);
|
|
79
87
|
console.log(swift.version);
|
|
88
|
+
console.log(vue.website);
|
|
89
|
+
console.log(webassembly.extensions);
|
|
80
90
|
console.log(xml.extensions);
|
|
81
91
|
console.log(yaml.version);
|
|
82
92
|
```
|
|
@@ -85,10 +95,13 @@ Import from the package root when bundle size is not a concern:
|
|
|
85
95
|
|
|
86
96
|
```ts
|
|
87
97
|
import {
|
|
98
|
+
astro,
|
|
88
99
|
bash,
|
|
89
100
|
c,
|
|
90
101
|
cpp,
|
|
91
102
|
css,
|
|
103
|
+
detectLanguage,
|
|
104
|
+
detectLanguages,
|
|
92
105
|
dockerfile,
|
|
93
106
|
go,
|
|
94
107
|
groovy,
|
|
@@ -98,14 +111,21 @@ import {
|
|
|
98
111
|
kotlin,
|
|
99
112
|
localizeLanguage,
|
|
100
113
|
markdown,
|
|
114
|
+
php,
|
|
101
115
|
rust,
|
|
116
|
+
scss,
|
|
102
117
|
sql,
|
|
103
118
|
swift,
|
|
104
119
|
typescript,
|
|
120
|
+
vue,
|
|
121
|
+
webassembly,
|
|
105
122
|
xml,
|
|
106
123
|
yaml,
|
|
107
124
|
} from "code-languages";
|
|
108
125
|
|
|
126
|
+
console.log(localizeLanguage(astro, "es").description);
|
|
127
|
+
console.log(detectLanguage("src/index.ts")?.slug);
|
|
128
|
+
console.log(detectLanguages("include/config.h").map((language) => language.slug));
|
|
109
129
|
console.log(localizeLanguage(bash, "es").description);
|
|
110
130
|
console.log(c.version);
|
|
111
131
|
console.log(cpp.website);
|
|
@@ -116,10 +136,14 @@ console.log(localizeLanguage(java).name);
|
|
|
116
136
|
console.log(html.website);
|
|
117
137
|
console.log(localizeLanguage(kotlin, "es-PE").description);
|
|
118
138
|
console.log(markdown.extensions);
|
|
139
|
+
console.log(localizeLanguage(php, "es").description);
|
|
119
140
|
console.log(go.logo);
|
|
141
|
+
console.log(localizeLanguage(scss).name);
|
|
120
142
|
console.log(json.website);
|
|
121
143
|
console.log(sql.extensions);
|
|
122
144
|
console.log(swift.i18n.en.description);
|
|
145
|
+
console.log(localizeLanguage(vue, "es").description);
|
|
146
|
+
console.log(localizeLanguage(webassembly).name);
|
|
123
147
|
console.log(localizeLanguage(xml, "es").name);
|
|
124
148
|
console.log(yaml.paradigms);
|
|
125
149
|
```
|
|
@@ -144,6 +168,11 @@ export interface Language {
|
|
|
144
168
|
author: string;
|
|
145
169
|
website: string;
|
|
146
170
|
paradigms: string[];
|
|
171
|
+
tooling?: {
|
|
172
|
+
runtimes?: string[];
|
|
173
|
+
packageManagers?: string[];
|
|
174
|
+
ecosystems?: string[];
|
|
175
|
+
};
|
|
147
176
|
version: string;
|
|
148
177
|
logo: string;
|
|
149
178
|
i18n: {
|
|
@@ -172,13 +201,24 @@ console.log(language.resolvedLocale); // "es"
|
|
|
172
201
|
2. Base language from a regional locale, for example `es-PE` -> `es`.
|
|
173
202
|
3. English fallback, for example `fr-FR` -> `en`.
|
|
174
203
|
|
|
204
|
+
Use `detectLanguage` or `detectLanguages` to infer languages from filenames:
|
|
205
|
+
|
|
206
|
+
```ts
|
|
207
|
+
import { detectLanguage, detectLanguages } from "code-languages/detect";
|
|
208
|
+
|
|
209
|
+
console.log(detectLanguage("src/index.ts")?.slug); // "typescript"
|
|
210
|
+
console.log(detectLanguage("Dockerfile")?.slug); // "dockerfile"
|
|
211
|
+
console.log(detectLanguages("include/config.h").map((language) => language.slug)); // ["c", "cpp"]
|
|
212
|
+
```
|
|
213
|
+
|
|
175
214
|
## Supported Languages
|
|
176
215
|
|
|
177
216
|
| Language | Slug | Extensions | Version | Import |
|
|
178
217
|
|---|---|---|---|---|
|
|
218
|
+
| Astro | `astro` | `.astro` | `6.3.1` | `code-languages/astro` |
|
|
179
219
|
| Bash | `bash` | `.sh`, `.bash`, `.bashrc`, `.bash_profile`, `.bash_login`, `.profile` | `5.3` | `code-languages/bash` |
|
|
180
220
|
| C | `c` | `.c`, `.h` | `C23` | `code-languages/c` |
|
|
181
|
-
| C++ | `cpp` | `.cpp`, `.cc`, `.cxx`, `.hpp`, `.hh`, `.hxx` | `C++23` | `code-languages/cpp` |
|
|
221
|
+
| C++ | `cpp` | `.cpp`, `.cc`, `.cxx`, `.h`, `.hpp`, `.hh`, `.hxx` | `C++23` | `code-languages/cpp` |
|
|
182
222
|
| Dockerfile | `dockerfile` | `Dockerfile`, `.dockerfile` | `1.10` | `code-languages/dockerfile` |
|
|
183
223
|
| Groovy | `groovy` | `.groovy`, `.gvy`, `.gy`, `.gsh` | `5.0.5` | `code-languages/groovy` |
|
|
184
224
|
| TypeScript | `typescript` | `.ts`, `.tsx`, `.mts`, `.cts` | `6.0` | `code-languages/typescript` |
|
|
@@ -188,6 +228,7 @@ console.log(language.resolvedLocale); // "es"
|
|
|
188
228
|
| Java | `java` | `.java` | `26` | `code-languages/java` |
|
|
189
229
|
| Swift | `swift` | `.swift` | `6.2.2` | `code-languages/swift` |
|
|
190
230
|
| Kotlin | `kotlin` | `.kt`, `.kts` | `2.3.20` | `code-languages/kotlin` |
|
|
231
|
+
| PHP | `php` | `.php`, `.phtml`, `.php3`, `.php4`, `.php5`, `.phps` | `8.5.6` | `code-languages/php` |
|
|
191
232
|
| HTML | `html` | `.html`, `.htm` | `Living Standard` | `code-languages/html` |
|
|
192
233
|
| CSS | `css` | `.css` | `Living Standard` | `code-languages/css` |
|
|
193
234
|
| Markdown | `markdown` | `.md`, `.markdown`, `.mdown`, `.mkd` | `CommonMark 0.31.2` | `code-languages/markdown` |
|
|
@@ -195,6 +236,9 @@ console.log(language.resolvedLocale); // "es"
|
|
|
195
236
|
| YAML | `yaml` | `.yaml`, `.yml` | `1.2.2` | `code-languages/yaml` |
|
|
196
237
|
| Python | `python` | `.py`, `.pyw` | `3.14.4` | `code-languages/python` |
|
|
197
238
|
| Rust | `rust` | `.rs` | `1.95.0` | `code-languages/rust` |
|
|
239
|
+
| Sass | `scss` | `.scss`, `.sass` | `1.99.0` | `code-languages/scss` |
|
|
240
|
+
| Vue | `vue` | `.vue` | `3.5.34` | `code-languages/vue` |
|
|
241
|
+
| WebAssembly | `webassembly` | `.wasm`, `.wat` | `3.0` | `code-languages/webassembly` |
|
|
198
242
|
| Go | `go` | `.go` | `1.26.3` | `code-languages/go` |
|
|
199
243
|
|
|
200
244
|
## Development
|