
Security News
Another Round of TEA Protocol Spam Floods npm, But It’s Not a Worm
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.
@flatfile/gecko
Advanced tools


Gecko is a JSX code generation framework for TypeScript.
Gecko is written in TypeScript, and requires tsx.
Bun support is planned.
To test Gecko, run the following from this repository's root folder:
npm install
cd examples/calculator
npm --prefix project install
npm run gecko
npm --prefix project run dev
Gecko should run and generate files in the ./examples/calculator/project/src/gecko_generated folder.
If there were no errors during the Gecko or Vite build, the calculator example will be available at http://localhost:5173 that looks like this:

To start the API, first run Gecko and then launch the resulting API:
npm install
cd examples/rest-api
npm install
npm --prefix project install
npm run gecko
npm --prefix project start
If there were no errors encountered, you should be able to visit http://localhost:3000/users and see a list of users:
[
{
"id": "1",
"name": "Test user",
"email": "test@example.com"
}
]
Projects using Gecko should have the following structure:
├── gecko.tsx
├── package.json
├── project
│ ├── (your project files)
│ ├── package.json
└── templates
└── example.tsx
Your entire project source code, including its package.json, tsconfig.json, etc should be in the ./project sub-folder. This is important because the gecko.tsx template file must be isolated from your project's own TypeScript configuration. It will run under Gecko's internal tsconfig.json. You can use any structure you like, as long as the gecko.tsx file is not nested in your project's source tree, where you might have another tsconfig.json file, which could cause conflicts.
Gecko uses a file named gecko.tsx at the root of your project to generate files. The file contents might look something like:
import {
File,
Folder,
geckoJSX,
Root,
Text,
} from '@flatfile/gecko'
import { Button } from './templates/Button'
export default function () {
return (
<Root path="project/src/gecko_generated" erase>
<File name="readme.md">
<Text>Hello world</Text>
</File>
<Folder name="components">
{[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map((digit) => (
<File name={`Digit${digit}.tsx`}>
<Button label={digit} />
</File>
))}
</Folder>
</Root>
)
}
Gecko supports many JSX tags to structure generated code. For the complete list, see the tag reference.
FAQs

The npm package @flatfile/gecko receives a total of 3,550 weekly downloads. As such, @flatfile/gecko popularity was classified as popular.
We found that @flatfile/gecko demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 14 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.

Security News
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads

Research
/Security News
A malicious Chrome extension posing as an Ethereum wallet steals seed phrases by encoding them into Sui transactions, enabling full wallet takeover.