@open-audio-stack/core 0.1.49 → 0.1.52

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 CHANGED
@@ -10,6 +10,8 @@
10
10
  <a href="https://open-audio-stack.github.io/open-audio-stack-registry">Registry API</a>
11
11
  ⦁︎
12
12
  <a href="https://github.com/orgs/open-audio-stack/projects">Roadmap</a>
13
+ ⦁︎
14
+ <a href="https://studiorack.github.io/studiorack-site/plugins">View all added plugins here</a>
13
15
  </p>
14
16
  <p>
15
17
 
@@ -78,7 +80,9 @@ Open Audio Stack Core was built using:
78
80
  - TypeScript 5.x
79
81
  - eslint 9.x
80
82
  - prettier 3.x
81
- - vitest 1.x
83
+ - vitest 3.x
84
+
85
+ If using a coding agent point it at `AGENTS.md` to automate the process of making changes.
82
86
 
83
87
  ## Developer installation
84
88
 
@@ -14,7 +14,7 @@ export declare function dirEmpty(dir: string): boolean;
14
14
  export declare function dirExists(dir: string): boolean;
15
15
  export declare function dirIs(dir: string): boolean;
16
16
  export declare function dirMove(dir: string, dirNew: string): void | boolean;
17
- export declare function dirOpen(dir: string): Buffer<ArrayBufferLike>;
17
+ export declare function dirOpen(dir: string): Buffer<ArrayBuffer>;
18
18
  export declare function dirPackage(pkg: PackageInterface): string;
19
19
  export declare function dirPlugins(): string;
20
20
  export declare function dirPresets(): string;
@@ -30,10 +30,10 @@ export declare function fileDelete(filePath: string): boolean | void;
30
30
  export declare function fileExec(filePath: string): void;
31
31
  export declare function fileExists(filePath: string): boolean;
32
32
  export declare function fileHash(filePath: string, algorithm?: string): Promise<string>;
33
- export declare function fileInstall(filePath: string): Buffer<ArrayBufferLike>;
33
+ export declare function fileInstall(filePath: string): Buffer<ArrayBuffer>;
34
34
  export declare function fileMove(filePath: string, newPath: string): void | boolean;
35
35
  export declare function filesMove(dirSource: string, dirTarget: string, dirSub: string, formatDir: Record<string, string>): string[];
36
- export declare function fileOpen(filePath: string, options?: string[]): import("child_process").ChildProcess | Buffer<ArrayBufferLike>;
36
+ export declare function fileOpen(filePath: string, options?: string[]): import("child_process").ChildProcess | Buffer<ArrayBuffer>;
37
37
  export declare function fileRead(filePath: string): string;
38
38
  export declare function fileReadJson(filePath: string): any;
39
39
  export declare function fileReadString(filePath: string): string;
@@ -18,7 +18,7 @@ export function packageCompatibleFiles(pkg, arch, sys, excludedFormats) {
18
18
  const sysMatches = file.systems.filter(system => {
19
19
  return sys.includes(system.type);
20
20
  });
21
- const formatAllowed = excludedFormats && excludedFormats.includes(pathGetExt(file.url)) ? false : true;
21
+ const formatAllowed = excludedFormats && excludedFormats.includes(pathGetExt(file.url).toLowerCase()) ? false : true;
22
22
  return archMatches.length && sysMatches.length && formatAllowed;
23
23
  });
24
24
  }
@@ -59,7 +59,7 @@ export const PackageTypeObj = { ...PluginType, ...PresetType, ...ProjectType };
59
59
  export const PackageVersionValidator = z.object({
60
60
  audio: z.optional(z.string().min(8).max(256).startsWith('https://')),
61
61
  author: z.string().min(1).max(256),
62
- changes: z.string().min(1).max(256),
62
+ changes: z.string().min(1).max(512),
63
63
  date: z.string().datetime(),
64
64
  description: z.string().min(1).max(256),
65
65
  donate: z.optional(z.string().min(8).max(256).startsWith('https://')),
@@ -106,7 +106,7 @@ export function packageRecommendations(pkgVersion) {
106
106
  file.systems.forEach(system => {
107
107
  supportedSystems[system.type] = true;
108
108
  });
109
- const ext = pathGetExt(file.url);
109
+ const ext = pathGetExt(file.url).toLowerCase();
110
110
  supportedFileFormats[ext] = true;
111
111
  packageRecommendationsUrl(file, recs, 'url', 'github');
112
112
  // Formats which do not support headless installation.
@@ -35,7 +35,6 @@ export function pathGetVersion(path, sep = '/') {
35
35
  return parts[index];
36
36
  }
37
37
  export function toSlug(val) {
38
- // @ts-expect-error slugify library issue with ESM modules
39
38
  return slugify(val, { lower: true, remove: URLSAFE_REGEX });
40
39
  }
41
40
  export function isValidSlug(slug) {
@@ -1,6 +1,6 @@
1
1
  import { SystemType } from '../types/SystemType.js';
2
2
  import { Architecture } from '../types/Architecture.js';
3
- export declare function getArchitecture(): Architecture;
3
+ export declare function getArchitecture(): Architecture.Arm32 | Architecture.Arm64 | Architecture.X32 | Architecture.X64;
4
4
  export declare function getSystem(): SystemType;
5
5
  export declare function isTests(): boolean;
6
6
  export declare function commandExists(cmd: string): Promise<boolean>;
@@ -1,6 +1,7 @@
1
1
  export declare enum Architecture {
2
2
  Arm32 = "arm32",
3
3
  Arm64 = "arm64",
4
+ Arm64ec = "arm64ec",
4
5
  X32 = "x32",
5
6
  X64 = "x64"
6
7
  }
@@ -2,6 +2,7 @@ export var Architecture;
2
2
  (function (Architecture) {
3
3
  Architecture["Arm32"] = "arm32";
4
4
  Architecture["Arm64"] = "arm64";
5
+ Architecture["Arm64ec"] = "arm64ec";
5
6
  Architecture["X32"] = "x32";
6
7
  Architecture["X64"] = "x64";
7
8
  })(Architecture || (Architecture = {}));
@@ -16,6 +17,11 @@ export const architectures = [
16
17
  value: Architecture.Arm64,
17
18
  name: 'Advanced RISC Machine - 64-bit',
18
19
  },
20
+ {
21
+ description: 'Windows 11 on Arm feature which allows native ARM64 and x64 code within the same process.',
22
+ value: Architecture.Arm64ec,
23
+ name: 'Advanced RISC Machine - 64-bit - Emulation Compatible',
24
+ },
19
25
  {
20
26
  description: 'X86 processors are commonly used in desktop computers and laptops.',
21
27
  value: Architecture.X32,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-audio-stack/core",
3
- "version": "0.1.49",
3
+ "version": "0.1.52",
4
4
  "description": "Open-source audio plugin management software",
5
5
  "type": "module",
6
6
  "main": "./build/index.js",
@@ -15,7 +15,7 @@
15
15
  ],
16
16
  "scripts": {
17
17
  "build": "tsc -p tsconfig.json",
18
- "check": "npm run format && npm run lint && npm run build",
18
+ "check": "npm run format && npm run lint && npm run build && npm test",
19
19
  "dev": "tsx ./src/index.ts",
20
20
  "format": "prettier . --write",
21
21
  "lint": "eslint .",
@@ -43,7 +43,7 @@
43
43
  "@types/fs-extra": "^11.0.4",
44
44
  "@types/js-yaml": "^4.0.9",
45
45
  "@types/mime-types": "^3.0.1",
46
- "@types/node": "^22.7.8",
46
+ "@types/node": "^22.15.0",
47
47
  "@types/semver": "^7.5.8",
48
48
  "@vitest/coverage-v8": "^3.0.5",
49
49
  "eslint": "^9.12.0",