
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
FEAScript is a lightweight finite element simulation library written in JavaScript. It empowers users to perform simulations for physics and engineering applications in both browser-based and server-side environments. This is the core library of the FEAScript project.
🚧 FEAScript is currently under heavy development. Its functionality and interfaces may change rapidly as new features and enhancements are introduced.
.msh)You can run simulations with FEAScript by calling its functions from JavaScript (the FEAScript API). The API is the core programmatic interface for FEAScript and works across multiple environments, including the browser (simple HTML pages and online JavaScript playgrounds, e.g. CodePen and Scribbler) and server-side runtimes such as Node.js. The most common ways to use FEAScript are outlined below:
You can use FEAScript in browser environments in three ways:
Import from Hosted ESM Build:
<script type="module">
import { FEAScriptModel } from "https://core.feascript.com/dist/feascript.esm.js";
</script>
Import from CDN:
<script type="module">
import { FEAScriptModel } from "https://cdn.jsdelivr.net/gh/FEAScript/FEAScript-core/dist/feascript.esm.js";
</script>
Download and Use Locally:
You can download the latest stable release from GitHub Releases.
<script type="module">
import { FEAScriptModel } from "./path/to/dist/feascript.esm.js";
</script>
👉 Explore browser-based tutorials on our website.
FEAScript works well in interactive JavaScript playgrounds where you can write code, visualize results inline, and share your work.
👉 Explore the following examples:
Install FEAScript and its peer dependencies from npm as follows:
npm install feascript mathjs plotly.js
Then, import it in your JavaScript file:
import { FEAScriptModel } from "feascript";
Important: FEAScript is built as an ES module. If you're starting a completely new project (outside this repository), make sure to configure it to use ES modules by:
# Create package.json with type=module for ES modules support
echo '{"type":"module"}' > package.json
When running examples from within this repository, this step isn’t needed as the root package.json already has the proper configuration.
👉 Explore Node.js use cases on the examples directory.
Here is a minimal browser-based example using the FEAScript API. Adapt paths, physics model, and boundary conditions as needed for your specific problem:
<body>
<!-- ...body region... -->
<script type="module">
// Import FEAScript library
import { FEAScriptModel } from "https://core.feascript.com/dist/feascript.esm.js";
window.addEventListener("DOMContentLoaded", () => {
// Create a new FEAScript model
const model = new FEAScriptModel();
// Select physics/PDE
model.setModelConfig("physicsModel"); // Example: "heatConductionScript"
// Configure the mesh
model.setMeshConfig({
meshDimension: "1D", // Choose either "1D" or "2D"
elementOrder: "linear", // Choose either "linear" or "quadratic"
numElementsX: 10, // Number of elements in x-direction
numElementsY: 6, // Number of elements in y-direction (for 2D only)
maxX: 1.0, // Domain length in x-direction
maxY: 0.5, // Domain length in y-direction (for 2D only)
});
// Add boundary conditions with appropriate parameters
model.addBoundaryCondition("boundaryIndex", ["conditionType" /* parameters */]); // Example boundary condition
// Solve the problem
const { solutionVector, nodesCoordinates } = model.solve();
});
</script>
<!-- ...rest of body region... -->
</body>
Note: The code above uses placeholder values that you should replace with appropriate options, e.g.:
💖 If you find FEAScript useful, please consider supporting its development through a donation:
Your support helps ensure the continued development and maintenance of this project.
We warmly welcome contributors to help expand and refine FEAScript. Please see the CONTRIBUTING.md file for detailed guidance on how to contribute.
The core library of FEAScript is released under the MIT license. © 2023-2026 FEAScript.
FAQs
Lightweight finite element simulation library built in JavaScript
The npm package feascript receives a total of 17 weekly downloads. As such, feascript popularity was classified as not popular.
We found that feascript demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer 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
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.