@nexrender/core 1.62.2 → 1.63.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexrender/core",
3
- "version": "1.62.2",
3
+ "version": "1.63.3",
4
4
  "main": "src/index.js",
5
5
  "author": "Inlife",
6
6
  "homepage": "https://www.nexrender.com",
@@ -45,5 +45,5 @@
45
45
  "publishConfig": {
46
46
  "access": "public"
47
47
  },
48
- "gitHead": "e7359750eb6c8df5220008f1ee942a55aca96a05"
48
+ "gitHead": "6aa3b6453eb929a4e4c4a802d38f57be5078c6e3"
49
49
  }
@@ -16,11 +16,13 @@ const defaultPaths = {
16
16
  '/Applications/Adobe After Effects 2023',
17
17
  '/Applications/Adobe After Effects 2024',
18
18
  '/Applications/Adobe After Effects 2025',
19
+ '/Applications/Adobe After Effects 2026',
19
20
  '/Applications/Adobe After Effects CC 2021',
20
21
  '/Applications/Adobe After Effects CC 2022',
21
22
  '/Applications/Adobe After Effects CC 2023',
22
23
  '/Applications/Adobe After Effects CC 2024',
23
24
  '/Applications/Adobe After Effects CC 2025',
25
+ '/Applications/Adobe After Effects CC 2026',
24
26
  ],
25
27
  win32: [
26
28
  'C:\\Program Files\\Adobe\\After Effects CC',
@@ -37,6 +39,7 @@ const defaultPaths = {
37
39
  'C:\\Program Files\\Adobe\\After Effects 2023\\Support Files',
38
40
  'C:\\Program Files\\Adobe\\After Effects 2024\\Support Files',
39
41
  'C:\\Program Files\\Adobe\\After Effects 2025\\Support Files',
42
+ 'C:\\Program Files\\Adobe\\After Effects 2026\\Support Files',
40
43
  'C:\\Program Files\\Adobe\\Adobe After Effects CC',
41
44
  'C:\\Program Files\\Adobe\\Adobe After Effects CC\\Support Files',
42
45
  'C:\\Program Files\\Adobe\\Adobe After Effects CC 2015\\Support Files',
@@ -51,6 +54,7 @@ const defaultPaths = {
51
54
  'C:\\Program Files\\Adobe\\Adobe After Effects 2023\\Support Files',
52
55
  'C:\\Program Files\\Adobe\\Adobe After Effects 2024\\Support Files',
53
56
  'C:\\Program Files\\Adobe\\Adobe After Effects 2025\\Support Files',
57
+ 'C:\\Program Files\\Adobe\\Adobe After Effects 2026\\Support Files',
54
58
  ],
55
59
  wsl: [
56
60
  '/mnt/c/Program Files/Adobe/After Effects CC',
@@ -67,6 +71,7 @@ const defaultPaths = {
67
71
  '/mnt/c/Program Files/Adobe/After Effects 2023/Support Files',
68
72
  '/mnt/c/Program Files/Adobe/After Effects 2024/Support Files',
69
73
  '/mnt/c/Program Files/Adobe/After Effects 2025/Support Files',
74
+ '/mnt/c/Program Files/Adobe/After Effects 2026/Support Files',
70
75
 
71
76
  '/mnt/c/Program Files/Adobe/Adobe After Effects CC',
72
77
  '/mnt/c/Program Files/Adobe/Adobe After Effects CC/Support Files',
@@ -82,6 +87,7 @@ const defaultPaths = {
82
87
  '/mnt/c/Program Files/Adobe/Adobe After Effects 2023/Support Files',
83
88
  '/mnt/c/Program Files/Adobe/Adobe After Effects 2024/Support Files',
84
89
  '/mnt/c/Program Files/Adobe/Adobe After Effects 2025/Support Files',
90
+ '/mnt/c/Program Files/Adobe/Adobe After Effects 2026/Support Files',
85
91
  ],
86
92
  }
87
93
 
package/src/index.js CHANGED
@@ -62,7 +62,7 @@ const init = (settings) => {
62
62
  settings.trackSync('Init Started')
63
63
 
64
64
  // check for WSL
65
- settings.wsl = isWsl
65
+ settings.wsl = isWsl;
66
66
 
67
67
  const binaryAuto = autofind(settings);
68
68
  const binaryUser = settings.binary && fs.existsSync(settings.binary) ? settings.binary : null;
@@ -33,7 +33,8 @@ const download = (job, settings, asset) => {
33
33
  if (protocol === 'data' && !asset.layerName) {
34
34
  destName = Math.random().toString(36).substring(2);
35
35
  } else {
36
- destName = path.basename(asset.src)
36
+ // Use uri.pathname to avoid issues with forward slashes in query parameters (e.g., Adobe Scene7 URLs)
37
+ destName = uri.pathname || path.basename(asset.src)
37
38
  destName = destName.indexOf('?') !== -1 ? destName.slice(0, destName.indexOf('?')) : destName;
38
39
  /* ^ remove possible query search string params ^ */
39
40
  destName = decodeURI(destName) /* < remove/decode any special URI symbols within filename */
@@ -59,6 +60,19 @@ const download = (job, settings, asset) => {
59
60
  destName += '.' + asset.extension
60
61
  }
61
62
 
63
+ /* Truncate filename if too long to avoid Windows MAX_PATH (260 chars) issues */
64
+ if (process.platform === 'win32') {
65
+ const maxFilenameLength = 50; // Conservative limit to account for long base paths
66
+ if (destName.length > maxFilenameLength) {
67
+ const ext = path.extname(destName);
68
+ const baseName = path.basename(destName, ext);
69
+ const randomSuffix = Math.random().toString(36).substring(2, 10); // 8 chars
70
+ const truncatedBase = baseName.substring(0, maxFilenameLength - ext.length - randomSuffix.length - 1);
71
+ destName = `${truncatedBase}-${randomSuffix}${ext}`;
72
+ settings.logger.log(`[${job.uid}] Truncated long filename to: ${destName}`);
73
+ }
74
+ }
75
+
62
76
  asset.dest = path.join(job.workpath, destName);
63
77
 
64
78
  settings.trackCombined('Asset Download', {