{"id":19623090,"url":"https://github.com/fusepilot/babel-preset-extendscript","last_synced_at":"2025-04-28T04:31:34.663Z","repository":{"id":47304849,"uuid":"65814897","full_name":"fusepilot/babel-preset-extendscript","owner":"fusepilot","description":"Babel preset for transpiling ES2015 and modern JS conventions to ES3.","archived":false,"fork":false,"pushed_at":"2020-10-01T15:52:48.000Z","size":165,"stargazers_count":42,"open_issues_count":12,"forks_count":17,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-18T16:37:01.204Z","etag":null,"topics":["babel","extendscript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fusepilot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-16T11:32:06.000Z","updated_at":"2025-03-31T14:38:17.000Z","dependencies_parsed_at":"2022-09-16T14:23:57.600Z","dependency_job_id":null,"html_url":"https://github.com/fusepilot/babel-preset-extendscript","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusepilot%2Fbabel-preset-extendscript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusepilot%2Fbabel-preset-extendscript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusepilot%2Fbabel-preset-extendscript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusepilot%2Fbabel-preset-extendscript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fusepilot","download_url":"https://codeload.github.com/fusepilot/babel-preset-extendscript/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251252098,"owners_count":21559727,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["babel","extendscript"],"created_at":"2024-11-11T11:31:41.541Z","updated_at":"2025-04-28T04:31:34.391Z","avatar_url":"https://github.com/fusepilot.png","language":"JavaScript","readme":"# babel-preset-extendscript\n\n## What\n\nBabel preset for transpiling ES2015 and modern JS conventions to ES3. Intended for use with Extendscript.\n\n## Install\n\nWith NPM:\n\n```sh\n$ npm install --save-dev babel-preset-extendscript\n```\n\nWith Yarn:\n\n```sh\n$ yarn add --dev babel-preset-extendscript\n```\n\n## Usage\n\n### Via `.babelrc` (Recommended)\n\n**.babelrc**\n\n```json\n{\n  \"presets\": [\"extendscript\"]\n}\n```\n\n### Via CLI\n\n```sh\n$ babel script.js --presets extendscript\n```\n\n### Via Node API\n\n```javascript\nrequire('babel-core').transform('code', {\n  presets: ['extendscript'],\n});\n```\n\n## Options\n\n* `loose` - Enable \"loose\" transformations for any plugins in this preset that allow them (Disabled by default).\n* `modules` - Enable transformation of ES6 module syntax to another module type (Enabled by default to \"commonjs\").\n  * Can be `false` to not transform modules, or one of `[\"amd\", \"umd\", \"systemjs\", \"commonjs\"]`\n\n```\n{\n  presets: [\n    [\"extendscript\", {\"loose\": true, \"modules\": \"amd\"}]\n  ]\n}\n{\n  presets: [\n    [\"extendscript\", {\"loose\": true, \"modules\": false}]\n  ]\n}\n```\n\n## Features\n\n### ES2015\n\n* babel-plugin-transform-es2015\n\n### Convenience\n\n* console.log\n* JSON.stringify\n* JSON.parse\n* setTimeout\n* setInterval\n* clearTimeout\n* clearInterval\n\n### Shims\n\n* Object.keys\n* Object.assign\n* Object.create\n* Array.isArray\n* Number.isFinite\n* Array.prototype.forEach\n* Array.prototype.find\n* Array.prototype.filter\n* Array.prototype.map\n* Array.prototype.reduce\n\n### Shams\n\n* Object.getPrototypeOf\n* Object.defineProperty\n* Object.defineProperties\n* Object.getOwnPropertyNames\n* Object.getOwnPropertyDescriptor\n* Object.seal\n* Object.freeze\n* Object.isSealed\n* Object.isFrozen\n* Object.isExtensible\n\n### Fixes\n\n* Wraps all conditional expressions in parentheses to prevent `Expected: :` error.\n\n## Known Issues\n\n• CallExpression's that uses other transforms from this preset only insert them 1 level deep due to path.unshiftContainer adding a new CallExpression in Program:exit(). Need to figure out a way to do another Program:exit() after the first if new CallExpressions have been added so state[name].matches can be += 1'd.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffusepilot%2Fbabel-preset-extendscript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffusepilot%2Fbabel-preset-extendscript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffusepilot%2Fbabel-preset-extendscript/lists"}