@open-audio-stack/core 0.0.1

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 (51) hide show
  1. package/LICENSE +121 -0
  2. package/README.md +43 -0
  3. package/build/Config.d.ts +39 -0
  4. package/build/Config.js +93 -0
  5. package/build/FileSystem.d.ts +33 -0
  6. package/build/FileSystem.js +201 -0
  7. package/build/Registry.d.ts +22 -0
  8. package/build/Registry.js +98 -0
  9. package/build/index-browser.d.ts +21 -0
  10. package/build/index-browser.js +27 -0
  11. package/build/index.d.ts +22 -0
  12. package/build/index.js +28 -0
  13. package/build/types/Architecture.d.ts +12 -0
  14. package/build/types/Architecture.js +29 -0
  15. package/build/types/Config.d.ts +2 -0
  16. package/build/types/Config.js +1 -0
  17. package/build/types/File.d.ts +13 -0
  18. package/build/types/File.js +1 -0
  19. package/build/types/FileFormat.d.ts +15 -0
  20. package/build/types/FileFormat.js +47 -0
  21. package/build/types/FileType.d.ts +10 -0
  22. package/build/types/FileType.js +17 -0
  23. package/build/types/License.d.ts +56 -0
  24. package/build/types/License.js +293 -0
  25. package/build/types/Package.d.ts +38 -0
  26. package/build/types/Package.js +6 -0
  27. package/build/types/Plugin.d.ts +11 -0
  28. package/build/types/Plugin.js +1 -0
  29. package/build/types/PluginFormat.d.ts +20 -0
  30. package/build/types/PluginFormat.js +77 -0
  31. package/build/types/PluginType.d.ts +13 -0
  32. package/build/types/PluginType.js +35 -0
  33. package/build/types/Preset.d.ts +15 -0
  34. package/build/types/Preset.js +1 -0
  35. package/build/types/PresetFormat.d.ts +13 -0
  36. package/build/types/PresetFormat.js +35 -0
  37. package/build/types/PresetType.d.ts +9 -0
  38. package/build/types/PresetType.js +12 -0
  39. package/build/types/Project.d.ts +15 -0
  40. package/build/types/Project.js +1 -0
  41. package/build/types/ProjectFormat.d.ts +17 -0
  42. package/build/types/ProjectFormat.js +59 -0
  43. package/build/types/ProjectType.d.ts +15 -0
  44. package/build/types/ProjectType.js +47 -0
  45. package/build/types/Registry.d.ts +10 -0
  46. package/build/types/Registry.js +1 -0
  47. package/build/types/System.d.ts +6 -0
  48. package/build/types/System.js +1 -0
  49. package/build/types/SystemType.d.ts +11 -0
  50. package/build/types/SystemType.js +23 -0
  51. package/package.json +64 -0
@@ -0,0 +1,27 @@
1
+ // Most of this code is isomorphic and can be run in the browser or server-side.
2
+ // The package.json has two exports, one for browser and one for server-side.
3
+ // This file configures which code is exported for browser runtimes.
4
+ // Comment out any files which are not browser compatible.
5
+ // Classes
6
+ export * from './Config.js';
7
+ export * from './Registry.js';
8
+ // Types
9
+ export * from './types/Architecture.js';
10
+ export * from './types/Config.js';
11
+ export * from './types/File.js';
12
+ export * from './types/FileFormat.js';
13
+ export * from './types/FileType.js';
14
+ export * from './types/License.js';
15
+ export * from './types/Package.js';
16
+ export * from './types/Plugin.js';
17
+ export * from './types/PluginFormat.js';
18
+ export * from './types/PluginType.js';
19
+ export * from './types/Preset.js';
20
+ export * from './types/PresetFormat.js';
21
+ export * from './types/PresetType.js';
22
+ export * from './types/Project.js';
23
+ export * from './types/ProjectFormat.js';
24
+ export * from './types/ProjectType.js';
25
+ export * from './types/Registry.js';
26
+ export * from './types/System.js';
27
+ export * from './types/SystemType.js';
@@ -0,0 +1,22 @@
1
+ export * from './Config.js';
2
+ export * from './FileSystem.js';
3
+ export * from './Registry.js';
4
+ export * from './types/Architecture.js';
5
+ export * from './types/Config.js';
6
+ export * from './types/File.js';
7
+ export * from './types/FileFormat.js';
8
+ export * from './types/FileType.js';
9
+ export * from './types/License.js';
10
+ export * from './types/Package.js';
11
+ export * from './types/Plugin.js';
12
+ export * from './types/PluginFormat.js';
13
+ export * from './types/PluginType.js';
14
+ export * from './types/Preset.js';
15
+ export * from './types/PresetFormat.js';
16
+ export * from './types/PresetType.js';
17
+ export * from './types/Project.js';
18
+ export * from './types/ProjectFormat.js';
19
+ export * from './types/ProjectType.js';
20
+ export * from './types/Registry.js';
21
+ export * from './types/System.js';
22
+ export * from './types/SystemType.js';
package/build/index.js ADDED
@@ -0,0 +1,28 @@
1
+ // Most of this code is isomorphic and can be run in the browser or server-side.
2
+ // The package.json has two exports, one for browser and one for server-side.
3
+ // This file configures which code is exported for server/NodeJS.
4
+ // Comment out any files which are not NodeJS compatible.
5
+ // Classes
6
+ export * from './Config.js';
7
+ export * from './FileSystem.js';
8
+ export * from './Registry.js';
9
+ // Types
10
+ export * from './types/Architecture.js';
11
+ export * from './types/Config.js';
12
+ export * from './types/File.js';
13
+ export * from './types/FileFormat.js';
14
+ export * from './types/FileType.js';
15
+ export * from './types/License.js';
16
+ export * from './types/Package.js';
17
+ export * from './types/Plugin.js';
18
+ export * from './types/PluginFormat.js';
19
+ export * from './types/PluginType.js';
20
+ export * from './types/Preset.js';
21
+ export * from './types/PresetFormat.js';
22
+ export * from './types/PresetType.js';
23
+ export * from './types/Project.js';
24
+ export * from './types/ProjectFormat.js';
25
+ export * from './types/ProjectType.js';
26
+ export * from './types/Registry.js';
27
+ export * from './types/System.js';
28
+ export * from './types/SystemType.js';
@@ -0,0 +1,12 @@
1
+ export declare enum Architecture {
2
+ Arm32 = "arm32",
3
+ Arm64 = "arm64",
4
+ Bit32 = "bit32",
5
+ Bit64 = "bit64"
6
+ }
7
+ export interface ArchitectureOption {
8
+ description: string;
9
+ value: Architecture;
10
+ name: string;
11
+ }
12
+ export declare const architectures: ArchitectureOption[];
@@ -0,0 +1,29 @@
1
+ export var Architecture;
2
+ (function (Architecture) {
3
+ Architecture["Arm32"] = "arm32";
4
+ Architecture["Arm64"] = "arm64";
5
+ Architecture["Bit32"] = "bit32";
6
+ Architecture["Bit64"] = "bit64";
7
+ })(Architecture || (Architecture = {}));
8
+ export const architectures = [
9
+ {
10
+ description: 'ARM processors are commonly used in battery-powered devices, such as smartphones and tablets.',
11
+ value: Architecture.Arm32,
12
+ name: 'Advanced RISC Machine - 32-bit',
13
+ },
14
+ {
15
+ description: 'ARM processors are commonly used in battery-powered devices, such as smartphones and tablets.',
16
+ value: Architecture.Arm64,
17
+ name: 'Advanced RISC Machine - 64-bit',
18
+ },
19
+ {
20
+ description: 'X86 processors are commonly used in desktop computers and laptops.',
21
+ value: Architecture.Bit32,
22
+ name: 'x86 machine - 32-bit',
23
+ },
24
+ {
25
+ description: 'X86 processors are commonly used in desktop computers and laptops.',
26
+ value: Architecture.Bit64,
27
+ name: 'x86 machine - 64-bit',
28
+ },
29
+ ];
@@ -0,0 +1,2 @@
1
+ export interface ConfigInterface {
2
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,13 @@
1
+ import { Architecture } from './Architecture.js';
2
+ import { FileFormat } from './FileFormat.js';
3
+ import { FileType } from './FileType.js';
4
+ import { System } from './System.js';
5
+ export interface FileInterface {
6
+ architectures: Architecture[];
7
+ format: FileFormat;
8
+ hash: string;
9
+ size: number;
10
+ systems: System[];
11
+ type: FileType;
12
+ url: string;
13
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ export declare enum FileFormat {
2
+ AppleDiskImage = "dmg",
3
+ DebianPackage = "deb",
4
+ ExecutableInstaller = "exe",
5
+ Tarball = "tar.gz",
6
+ TarballLegacy = "tgz",
7
+ WindowsInstaller = "msi",
8
+ Zip = "zip"
9
+ }
10
+ export interface FileFormatOption {
11
+ description: string;
12
+ value: FileFormat;
13
+ name: string;
14
+ }
15
+ export declare const fileFormats: FileFormatOption[];
@@ -0,0 +1,47 @@
1
+ export var FileFormat;
2
+ (function (FileFormat) {
3
+ FileFormat["AppleDiskImage"] = "dmg";
4
+ FileFormat["DebianPackage"] = "deb";
5
+ FileFormat["ExecutableInstaller"] = "exe";
6
+ FileFormat["Tarball"] = "tar.gz";
7
+ FileFormat["TarballLegacy"] = "tgz";
8
+ FileFormat["WindowsInstaller"] = "msi";
9
+ FileFormat["Zip"] = "zip";
10
+ })(FileFormat || (FileFormat = {}));
11
+ export const fileFormats = [
12
+ {
13
+ description: 'Disk image format used on macOS.',
14
+ value: FileFormat.AppleDiskImage,
15
+ name: 'Apple Disk Image',
16
+ },
17
+ {
18
+ description: 'Package for Debian-based Linux such as Ubuntu.',
19
+ value: FileFormat.DebianPackage,
20
+ name: 'Debian package',
21
+ },
22
+ {
23
+ description: 'Executable file format used by Windows.',
24
+ value: FileFormat.ExecutableInstaller,
25
+ name: 'Executable Installer',
26
+ },
27
+ {
28
+ description: 'Compressed archive format common on Linux and Unix systems.',
29
+ value: FileFormat.Tarball,
30
+ name: 'Tarball (.tar.gz)',
31
+ },
32
+ {
33
+ description: 'Legacy compressed archive format similar to .tar.gz.',
34
+ value: FileFormat.TarballLegacy,
35
+ name: 'Tarball Legacy (.tgz)',
36
+ },
37
+ {
38
+ description: 'Installer format for Windows.',
39
+ value: FileFormat.WindowsInstaller,
40
+ name: 'Windows Installer (.msi)',
41
+ },
42
+ {
43
+ description: 'Widely-used compressed file format compatible with many operating systems.',
44
+ value: FileFormat.Zip,
45
+ name: 'Zip Archive (.zip)',
46
+ },
47
+ ];
@@ -0,0 +1,10 @@
1
+ export declare enum FileType {
2
+ Archive = "archive",
3
+ Installer = "installer"
4
+ }
5
+ export interface FileTypeOption {
6
+ description: string;
7
+ value: FileType;
8
+ name: string;
9
+ }
10
+ export declare const fileTypes: FileTypeOption[];
@@ -0,0 +1,17 @@
1
+ export var FileType;
2
+ (function (FileType) {
3
+ FileType["Archive"] = "archive";
4
+ FileType["Installer"] = "installer";
5
+ })(FileType || (FileType = {}));
6
+ export const fileTypes = [
7
+ {
8
+ description: 'Compressed file format containing multiple files.',
9
+ value: FileType.Archive,
10
+ name: 'Archive',
11
+ },
12
+ {
13
+ description: 'Installer extracts and copies files into the correct locations.',
14
+ value: FileType.Installer,
15
+ name: 'Installer',
16
+ },
17
+ ];
@@ -0,0 +1,56 @@
1
+ export declare enum License {
2
+ AcademicFreeLicensev3 = "afl-3.0",
3
+ ApacheLicense2 = "apache-2.0",
4
+ BSDZeroClauseLicense = "0bsd",
5
+ GNUAfferoGeneralPublicLicensev3 = "agpl-3.0",
6
+ ArtisticLicense2 = "artistic-2.0",
7
+ BlueOakModelLicense1 = "blueoak-1.0.0",
8
+ BSD2ClausePlusPatentLicense = "bsd-2-clause-patent",
9
+ BSD2ClauseSimplifiedLicense = "bsd-2-clause",
10
+ BSD3ClauseClearLicense = "bsd-3-clause-clear",
11
+ BSD3ClauseNeworRevisedLicense = "bsd-3-clause",
12
+ BSD4ClauseOriginalorOldLicense = "bsd-4-clause",
13
+ BoostSoftwareLicense1 = "bsl-1.0",
14
+ CreativeCommonsAttribution4International = "cc-by-4.0",
15
+ CreativeCommonsAttributionShareAlike4International = "cc-by-sa-4.0",
16
+ CreativeCommonsZerov1Universal = "cc0-1.0",
17
+ CeCILLFreeSoftwareLicenseAgreementv2_1 = "cecill-2.1",
18
+ CERNOpenHardwareLicenceVersion2Permissive = "cern-ohl-p-2.0",
19
+ CERNOpenHardwareLicenceVersion2StronglyReciprocal = "cern-ohl-s-2.0",
20
+ CERNOpenHardwareLicenceVersion2WeaklyReciprocal = "cern-ohl-w-2.0",
21
+ EducationalCommunityLicensev2 = "ecl-2.0",
22
+ EclipsePublicLicense1 = "epl-1.0",
23
+ EclipsePublicLicense2 = "epl-2.0",
24
+ EuropeanUnionPublicLicense1_1 = "eupl-1.1",
25
+ EuropeanUnionPublicLicense1_2 = "eupl-1.2",
26
+ GNUFreeDocumentationLicensev1_3 = "gfdl-1.3",
27
+ GNUGeneralPublicLicensev2 = "gpl-2.0",
28
+ GNUGeneralPublicLicensev3 = "gpl-3.0",
29
+ ISCLicense = "isc",
30
+ GNULesserGeneralPublicLicensev2_1 = "lgpl-2.1",
31
+ GNULesserGeneralPublicLicensev3 = "lgpl-3.0",
32
+ LaTeXProjectPublicLicensev1_3c = "lppl-1.3c",
33
+ MITNoAttribution = "mit-0",
34
+ MITLicense = "mit",
35
+ MozillaPublicLicense2 = "mpl-2.0",
36
+ MicrosoftPublicLicense = "ms-pl",
37
+ MicrosoftReciprocalLicense = "ms-rl",
38
+ MulanPermissiveSoftwareLicenseVersion2 = "mulanpsl-2.0",
39
+ UniversityofIllinoisNCSAOpenSourceLicense = "ncsa",
40
+ OpenDataCommonsOpenDatabaseLicensev1 = "odbl-1.0",
41
+ SILOpenFontLicense1_1 = "ofl-1.1",
42
+ OpenSoftwareLicense3 = "osl-3.0",
43
+ PostgreSQLLicense = "postgresql",
44
+ TheUnlicense = "unlicense",
45
+ UniversalPermissiveLicensev1 = "upl-1.0",
46
+ VimLicense = "vim",
47
+ DoWhatTheFYouWantToPublicLicense = "wtfpl",
48
+ zlibLicense = "zlib",
49
+ Other = "other"
50
+ }
51
+ export interface LicenseOption {
52
+ description: string;
53
+ value: License;
54
+ name: string;
55
+ }
56
+ export declare const licenses: LicenseOption[];
@@ -0,0 +1,293 @@
1
+ export var License;
2
+ (function (License) {
3
+ License["AcademicFreeLicensev3"] = "afl-3.0";
4
+ License["ApacheLicense2"] = "apache-2.0";
5
+ License["BSDZeroClauseLicense"] = "0bsd";
6
+ License["GNUAfferoGeneralPublicLicensev3"] = "agpl-3.0";
7
+ License["ArtisticLicense2"] = "artistic-2.0";
8
+ License["BlueOakModelLicense1"] = "blueoak-1.0.0";
9
+ License["BSD2ClausePlusPatentLicense"] = "bsd-2-clause-patent";
10
+ License["BSD2ClauseSimplifiedLicense"] = "bsd-2-clause";
11
+ License["BSD3ClauseClearLicense"] = "bsd-3-clause-clear";
12
+ License["BSD3ClauseNeworRevisedLicense"] = "bsd-3-clause";
13
+ License["BSD4ClauseOriginalorOldLicense"] = "bsd-4-clause";
14
+ License["BoostSoftwareLicense1"] = "bsl-1.0";
15
+ License["CreativeCommonsAttribution4International"] = "cc-by-4.0";
16
+ License["CreativeCommonsAttributionShareAlike4International"] = "cc-by-sa-4.0";
17
+ License["CreativeCommonsZerov1Universal"] = "cc0-1.0";
18
+ License["CeCILLFreeSoftwareLicenseAgreementv2_1"] = "cecill-2.1";
19
+ License["CERNOpenHardwareLicenceVersion2Permissive"] = "cern-ohl-p-2.0";
20
+ License["CERNOpenHardwareLicenceVersion2StronglyReciprocal"] = "cern-ohl-s-2.0";
21
+ License["CERNOpenHardwareLicenceVersion2WeaklyReciprocal"] = "cern-ohl-w-2.0";
22
+ License["EducationalCommunityLicensev2"] = "ecl-2.0";
23
+ License["EclipsePublicLicense1"] = "epl-1.0";
24
+ License["EclipsePublicLicense2"] = "epl-2.0";
25
+ License["EuropeanUnionPublicLicense1_1"] = "eupl-1.1";
26
+ License["EuropeanUnionPublicLicense1_2"] = "eupl-1.2";
27
+ License["GNUFreeDocumentationLicensev1_3"] = "gfdl-1.3";
28
+ License["GNUGeneralPublicLicensev2"] = "gpl-2.0";
29
+ License["GNUGeneralPublicLicensev3"] = "gpl-3.0";
30
+ License["ISCLicense"] = "isc";
31
+ License["GNULesserGeneralPublicLicensev2_1"] = "lgpl-2.1";
32
+ License["GNULesserGeneralPublicLicensev3"] = "lgpl-3.0";
33
+ License["LaTeXProjectPublicLicensev1_3c"] = "lppl-1.3c";
34
+ License["MITNoAttribution"] = "mit-0";
35
+ License["MITLicense"] = "mit";
36
+ License["MozillaPublicLicense2"] = "mpl-2.0";
37
+ License["MicrosoftPublicLicense"] = "ms-pl";
38
+ License["MicrosoftReciprocalLicense"] = "ms-rl";
39
+ License["MulanPermissiveSoftwareLicenseVersion2"] = "mulanpsl-2.0";
40
+ License["UniversityofIllinoisNCSAOpenSourceLicense"] = "ncsa";
41
+ License["OpenDataCommonsOpenDatabaseLicensev1"] = "odbl-1.0";
42
+ License["SILOpenFontLicense1_1"] = "ofl-1.1";
43
+ License["OpenSoftwareLicense3"] = "osl-3.0";
44
+ License["PostgreSQLLicense"] = "postgresql";
45
+ License["TheUnlicense"] = "unlicense";
46
+ License["UniversalPermissiveLicensev1"] = "upl-1.0";
47
+ License["VimLicense"] = "vim";
48
+ License["DoWhatTheFYouWantToPublicLicense"] = "wtfpl";
49
+ License["zlibLicense"] = "zlib";
50
+ License["Other"] = "other";
51
+ })(License || (License = {}));
52
+ export const licenses = [
53
+ {
54
+ description: 'Permissive license that allows for almost unrestricted use, modification, and distribution.',
55
+ value: License.AcademicFreeLicensev3,
56
+ name: 'Academic Free License v3.0',
57
+ },
58
+ {
59
+ description: 'Permissive license allows use, modification, and distribution of the software, with conditions.',
60
+ value: License.ApacheLicense2,
61
+ name: 'Apache License 2.0',
62
+ },
63
+ {
64
+ description: 'Allows you to use, modify, and distribute the software with no restrictions.',
65
+ value: License.BSDZeroClauseLicense,
66
+ name: 'BSD Zero Clause License',
67
+ },
68
+ {
69
+ description: 'Copyleft license requires modifications and derived works to be licensed under the same terms.',
70
+ value: License.GNUAfferoGeneralPublicLicensev3,
71
+ name: 'GNU Affero General Public License v3.0',
72
+ },
73
+ {
74
+ description: 'Allows creation and distribution of derivative works, with some restrictions on attribution.',
75
+ value: License.ArtisticLicense2,
76
+ name: 'Artistic License 2.0',
77
+ },
78
+ {
79
+ description: 'Permissive license encourages collaboration while maintaining rights for the original author.',
80
+ value: License.BlueOakModelLicense1,
81
+ name: 'Blue Oak Model License 1.0.0',
82
+ },
83
+ {
84
+ description: 'Allows use and distribution of the software, but includes a patent grant to users.',
85
+ value: License.BSD2ClausePlusPatentLicense,
86
+ name: 'BSD-2-Clause Plus Patent License',
87
+ },
88
+ {
89
+ description: 'Simplified version of BSD License allows for modification and redistribution with few restrictions.',
90
+ value: License.BSD2ClauseSimplifiedLicense,
91
+ name: 'BSD 2-Clause "Simplified" License',
92
+ },
93
+ {
94
+ description: 'Permissive license allows use and redistribution, with a disclaimer of warranties.',
95
+ value: License.BSD3ClauseClearLicense,
96
+ name: 'BSD 3-Clause Clear License',
97
+ },
98
+ {
99
+ description: 'Allows use and distribution, while preventing the use of the name of the original project in advertising.',
100
+ value: License.BSD3ClauseNeworRevisedLicense,
101
+ name: 'BSD 3-Clause "New" or "Revised" License',
102
+ },
103
+ {
104
+ description: 'An older version of the BSD license that includes clauses that are no longer common in newer licenses.',
105
+ value: License.BSD4ClauseOriginalorOldLicense,
106
+ name: 'BSD 4-Clause "Original" or "Old" License',
107
+ },
108
+ {
109
+ description: 'A permissive license that allows for software modification and redistribution without restrictions.',
110
+ value: License.BoostSoftwareLicense1,
111
+ name: 'Boost Software License 1.0',
112
+ },
113
+ {
114
+ description: 'Allows for sharing and adapting the work, even for commercial purposes, as long as credit is given.',
115
+ value: License.CreativeCommonsAttribution4International,
116
+ name: 'Creative Commons Attribution 4.0 International',
117
+ },
118
+ {
119
+ description: 'Allows for sharing and adapting the work, even for commercial purposes, under the same license terms.',
120
+ value: License.CreativeCommonsAttributionShareAlike4International,
121
+ name: 'Creative Commons Attribution Share Alike 4.0 International',
122
+ },
123
+ {
124
+ description: 'A license that allows for the use, modification, and distribution of the software without restrictions.',
125
+ value: License.CreativeCommonsZerov1Universal,
126
+ name: 'Creative Commons Zero v1.0 Universal',
127
+ },
128
+ {
129
+ description: 'A free software license that aims to provide the same freedoms as the GNU GPL while being compatible with other licenses.',
130
+ value: License.CeCILLFreeSoftwareLicenseAgreementv2_1,
131
+ name: 'CeCILL Free Software License Agreement v2.1',
132
+ },
133
+ {
134
+ description: 'A permissive license for open hardware, allowing for modification and distribution.',
135
+ value: License.CERNOpenHardwareLicenceVersion2Permissive,
136
+ name: 'CERN Open Hardware Licence Version 2 - Permissive',
137
+ },
138
+ {
139
+ description: 'A license that requires derivative works to maintain the same licensing terms.',
140
+ value: License.CERNOpenHardwareLicenceVersion2StronglyReciprocal,
141
+ name: 'CERN Open Hardware Licence Version 2 - Strongly Reciprocal',
142
+ },
143
+ {
144
+ description: 'A license that encourages sharing and collaboration while maintaining some restrictions.',
145
+ value: License.CERNOpenHardwareLicenceVersion2WeaklyReciprocal,
146
+ name: 'CERN Open Hardware Licence Version 2 - Weakly Reciprocal',
147
+ },
148
+ {
149
+ description: 'A license designed for educational use, allowing for modification and redistribution.',
150
+ value: License.EducationalCommunityLicensev2,
151
+ name: 'Educational Community License v2.0',
152
+ },
153
+ {
154
+ description: 'A license that allows software to be used and modified under certain conditions.',
155
+ value: License.EclipsePublicLicense1,
156
+ name: 'Eclipse Public License 1.0',
157
+ },
158
+ {
159
+ description: 'A more permissive version of the Eclipse Public License, allowing for greater freedom in use and distribution.',
160
+ value: License.EclipsePublicLicense2,
161
+ name: 'Eclipse Public License 2.0',
162
+ },
163
+ {
164
+ description: 'A license developed by the European Union for public sector information, allowing for reuse and modification.',
165
+ value: License.EuropeanUnionPublicLicense1_1,
166
+ name: 'European Union Public License 1.1',
167
+ },
168
+ {
169
+ description: 'An updated version of the EU Public License with minor clarifications and improvements.',
170
+ value: License.EuropeanUnionPublicLicense1_2,
171
+ name: 'European Union Public License 1.2',
172
+ },
173
+ {
174
+ description: 'A copyleft license that allows for the distribution and modification of documentation under the same terms.',
175
+ value: License.GNUFreeDocumentationLicensev1_3,
176
+ name: 'GNU Free Documentation License v1.3',
177
+ },
178
+ {
179
+ description: 'A copyleft license that allows for the use, modification, and distribution of software under the same terms.',
180
+ value: License.GNUGeneralPublicLicensev2,
181
+ name: 'GNU General Public License v2.0',
182
+ },
183
+ {
184
+ description: 'A more modern version of the GPL that adds compatibility with other licenses and additional provisions.',
185
+ value: License.GNUGeneralPublicLicensev3,
186
+ name: 'GNU General Public License v3.0',
187
+ },
188
+ {
189
+ description: 'A permissive license that allows for simple reuse and modification of software.',
190
+ value: License.ISCLicense,
191
+ name: 'ISC License',
192
+ },
193
+ {
194
+ description: 'A copyleft license that is a weaker form of the GPL, designed for libraries and reusable code.',
195
+ value: License.GNULesserGeneralPublicLicensev2_1,
196
+ name: 'GNU Lesser General Public License v2.1',
197
+ },
198
+ {
199
+ description: 'An updated version of the LGPL, allowing for more flexible linking to proprietary software.',
200
+ value: License.GNULesserGeneralPublicLicensev3,
201
+ name: 'GNU Lesser General Public License v3.0',
202
+ },
203
+ {
204
+ description: 'A license for LaTeX packages that allows for distribution and modification under certain conditions.',
205
+ value: License.LaTeXProjectPublicLicensev1_3c,
206
+ name: 'LaTeX Project Public License v1.3c',
207
+ },
208
+ {
209
+ description: 'A permissive license that allows for software use without requiring attribution.',
210
+ value: License.MITNoAttribution,
211
+ name: 'MIT No Attribution',
212
+ },
213
+ {
214
+ description: 'A widely used permissive license that allows for software reuse, modification, and distribution.',
215
+ value: License.MITLicense,
216
+ name: 'MIT License',
217
+ },
218
+ {
219
+ description: 'A license that allows for use, modification, and distribution of software, with some restrictions on the distribution of modified versions.',
220
+ value: License.MozillaPublicLicense2,
221
+ name: 'Mozilla Public License 2.0',
222
+ },
223
+ {
224
+ description: 'A permissive license that allows for broad use and distribution, often used for libraries and tools.',
225
+ value: License.MicrosoftPublicLicense,
226
+ name: 'Microsoft Public License',
227
+ },
228
+ {
229
+ description: 'A license that allows for software redistribution, modification, and incorporation into proprietary software with conditions.',
230
+ value: License.MicrosoftReciprocalLicense,
231
+ name: 'Microsoft Reciprocal License',
232
+ },
233
+ {
234
+ description: 'A permissive license allowing for use, modification, and distribution of software, primarily in China.',
235
+ value: License.MulanPermissiveSoftwareLicenseVersion2,
236
+ name: 'Mulan Permissive Software License, Version 2',
237
+ },
238
+ {
239
+ description: 'A permissive license that allows for software reuse and modification with few restrictions.',
240
+ value: License.UniversityofIllinoisNCSAOpenSourceLicense,
241
+ name: 'University of Illinois/NCSA Open Source License',
242
+ },
243
+ {
244
+ description: 'A license that allows for sharing and adapting databases, provided that attribution is given.',
245
+ value: License.OpenDataCommonsOpenDatabaseLicensev1,
246
+ name: 'Open Data Commons Open Database License v1.0',
247
+ },
248
+ {
249
+ description: 'A license specifically for fonts, allowing for modification and redistribution under certain conditions.',
250
+ value: License.SILOpenFontLicense1_1,
251
+ name: 'SIL Open Font License 1.1',
252
+ },
253
+ {
254
+ description: 'A license that permits modification and distribution while ensuring that derivative works are also open.',
255
+ value: License.OpenSoftwareLicense3,
256
+ name: 'Open Software License 3.0',
257
+ },
258
+ {
259
+ description: 'A permissive license that allows for software modification and redistribution, commonly used for databases.',
260
+ value: License.PostgreSQLLicense,
261
+ name: 'PostgreSQL License',
262
+ },
263
+ {
264
+ description: 'A license that effectively places software in the public domain, allowing for unrestricted use and distribution.',
265
+ value: License.TheUnlicense,
266
+ name: 'The Unlicense',
267
+ },
268
+ {
269
+ description: 'A permissive license allowing for modification and redistribution of software with minimal restrictions.',
270
+ value: License.UniversalPermissiveLicensev1,
271
+ name: 'Universal Permissive License v1.0',
272
+ },
273
+ {
274
+ description: 'A permissive license for software, allowing for use, modification, and redistribution.',
275
+ value: License.VimLicense,
276
+ name: 'Vim License',
277
+ },
278
+ {
279
+ description: 'A humorous license that allows for any kind of use or distribution of the software without restrictions.',
280
+ value: License.DoWhatTheFYouWantToPublicLicense,
281
+ name: 'Do What The F*ck You Want To Public License',
282
+ },
283
+ {
284
+ description: 'A permissive license that allows for software modification and redistribution with minimal conditions.',
285
+ value: License.zlibLicense,
286
+ name: 'zlib License',
287
+ },
288
+ {
289
+ description: 'A placeholder for any other licenses not specifically listed here.',
290
+ value: License.Other,
291
+ name: 'Other',
292
+ },
293
+ ];
@@ -0,0 +1,38 @@
1
+ import { PluginInterface } from './Plugin.js';
2
+ import { PresetInterface } from './Preset.js';
3
+ import { ProjectInterface } from './Project.js';
4
+ import { License } from './License.js';
5
+ export interface PackageInterface {
6
+ slug: string;
7
+ version: string;
8
+ versions: PackageVersions;
9
+ }
10
+ export interface PackageVersions {
11
+ [version: string]: PackageVersionType;
12
+ }
13
+ export interface PackageVersion {
14
+ author: string;
15
+ changes: string;
16
+ date: string;
17
+ description: string;
18
+ license: License;
19
+ name: string;
20
+ tags: string[];
21
+ url: string;
22
+ }
23
+ export type PackageVersionType = PluginInterface | PresetInterface | ProjectInterface;
24
+ export declare enum PackageValidation {
25
+ MISSING_FIELD = "missing-field",
26
+ INVALID_TYPE = "invalid-type",
27
+ INVALID_VALUE = "invalid-value"
28
+ }
29
+ export interface PackageValidationField {
30
+ name: string;
31
+ type: string;
32
+ }
33
+ export interface PackageValidationError {
34
+ field: string;
35
+ error: PackageValidation;
36
+ valueExpected: string;
37
+ valueReceived: string;
38
+ }
@@ -0,0 +1,6 @@
1
+ export var PackageValidation;
2
+ (function (PackageValidation) {
3
+ PackageValidation["MISSING_FIELD"] = "missing-field";
4
+ PackageValidation["INVALID_TYPE"] = "invalid-type";
5
+ PackageValidation["INVALID_VALUE"] = "invalid-value";
6
+ })(PackageValidation || (PackageValidation = {}));
@@ -0,0 +1,11 @@
1
+ import { FileInterface } from './File.js';
2
+ import { PackageVersion } from './Package.js';
3
+ import { PluginFormat } from './PluginFormat.js';
4
+ import { PluginType } from './PluginType.js';
5
+ export interface PluginInterface extends PackageVersion {
6
+ files: PluginFile[];
7
+ type: PluginType;
8
+ }
9
+ export interface PluginFile extends FileInterface {
10
+ formats: PluginFormat[];
11
+ }
@@ -0,0 +1 @@
1
+ export {};