ae-tsx-runner-esbuild
v0.2.1
Published
Run Adobe After Effects jsx or tsx Script without ExtendScript Toolkit.
Downloads
29
Maintainers
Readme
After Effects .jsx Script Runner (tsx version)
Platform
- Windows
- Mac Os (not supported yet)
Features
- Run .jsx, .jsxbin, and .tsx script files.
- Multiple version detection: If only one instance of After Effects is running, the script will run directly. If multiple instances are running, a prompt will appear asking you to choose which version to test.
Usage
To access the command in the editor title, context menu, or command panel, launch Adobe After Effects and open a .jsx or .tsx file in VS Code.
Command:
Testing with multiple versions of After Effects:
fail?
- make sure you have a
ts
environment (nodejs...) - make sure you get a right tsconfig-ae.json/tsconfig.json configuration file( if you don't have a
tsconfig-ae.json
, extension will usetsconfig.json
instead)
How it works
- Retrieve the location of the running After Effects application using child_process.
- If the
tsconfig-ae.json
file is not found, usetsconfig.json
to get the outDir option. - Look for the rollup.config.js file. If found, create a
tsx-link.json
file, write input and output, and then compile usingrollup -c
(instead of tsc). - Run the final script.
tsconfig.json
outDir
: AE Script run directory
ES3
: AE Script version
types-for-adobe :AE Script type support
your tsconfig.json
(for testing your ae script) like:
{
"compilerOptions": {
"target": "ES3",
"ignoreDeprecations": "5.0",
"strict": true,
"noLib": true,
"outDir": "./dist",
"jsx": "preserve",
"useDefineForClassFields": false,
"noUnusedParameters": true,
"noUnusedLocals": true,
"skipLibCheck": true,
"allowSyntheticDefaultImports": true,
"noEmit": false,
"resolveJsonModule": true,
"esModuleInterop": true,
"types": ["./node_modules/types-for-adobe/AfterEffects/22.0"]
},
"include": ["src/**/*.ts", "src/**/*.tsx"],
"exclude": ["node_modules"]
}
rollup
Rollup is a module bundler for JavaScript which compiles small pieces of code into something larger and more complex.
▷ install
npm install typescript rollup rollup-plugin-typescript2 --save-dev
▷ Import Sample
// A.tsx
export const str = "Hello World";
// B.tsx
import {num} from "./A"
alert(str)
▷ rollup.config.js
import typescript from "rollup-plugin-typescript2";
import * as fs from "fs";
// tsk-link.json(auto generate)
const readJSONFile = (filePath) => {
const data = fs.readFileSync(filePath, { encoding: "utf8" });
return JSON.parse(data);
};
const tsx_link = readJSONFile("./tsx-link.json");
export default {
input: tsx_link["input"],
output: {
file: tsx_link["output"],
format: "iife",
name: "MyApp",
},
plugins: [
typescript({
tsconfig: "tsconfig.json",
}),
],
};
sample file containing
/.vscode
dist
src
--/lib
--/public
--/utils
--main.tsx
tsconfig-ae.json
tsconfig.json
rollup.config.js
tsx-link.json(auto generate)
CHANGELOG
0.6.0 - 2023-04-11: Checking software version currently running.
0.5.0 - 2023-03-15: .Jsxbin Supported
0.4.0 - 2023-03-10: Rollup Supported
0.3.0 - 2023-03-02: Add Run Icon
0.2.0 - 2023-03-02: Custom tsconfig supported (tsconfgi-ae.json)
0.1.0 - 2023-03-01: Ts Supported