
Security News
GitHub Actions Pricing Whiplash: Self-Hosted Actions Billing Change Postponed
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.
thrustcurve-db
Advanced tools
ThrustCurve.org model rocket motor and thrust curve data as a single JSON file
ThrustCurve.org model rocket motor data as a static data structure (plus misc. utility functions).
This module is a rebundling of the rocket motor data available on John Coker's thrustcurve.org website ("TC"). The dataset includes data for all motors in the ThrustCurve API ("search" endpoint), and is a field-by-field translation of what is found in the "search" endpoint, with the following changes:
discontinued field (see https://github.com/JohnCoker/thrustcurve3/issues/35)samples array. These are normalized to always have [0, 0] as the first data point. In cases where a motor has more than one thrust sample file the first "cert"(ified) file found is used, otherwise the samples are from whichever file the API returned first. (This typically isn't an issue since most thrust curves are very similar, but there are some cases where they differ significantly).License & Support
You know the drill ...
npm i thrustcurve-db
import MOTORS, {parseDelays, unparseDelays} from 'thrustcurve-db';
// `MOTORS` is a Motor[] array.
for (const motor of MOTORS) {
// See `thrustcurve-db.d.ts` for Motor structure details.
console.log(motor); // Spew data for ~1,100 motors to console
}
// parseDelays() parses a motor `delays` value to determine the
// delay options. The returned Object has the following properties:
//
// times: Number[] array of possible delay times (seconds)
// plugged: true if motor has a "Plugged" configuration
//
// Aerotech delays (S, M, L, X) are transformed as follows:
// S -> 0-6
// M -> 0-10
// L -> 0-14
// X -> 0-18
//
// Note: `times` are guaranteed to be unique and in ascending order.
// E.g. `parseDelays('L, S')` and `parseDelays('1, 5, M, L')` will
// produce the same result.
parseDelays('S, 16, P'); // -> {
// times: [0,1,2,3,4,5,6,16],
// plugged: true
// }
// unparseDelays(parsed) is the inverse operation of parseDelays() (sort of).
unparseDelays({
times: [0,1,2,3,4,5,6,16],
plugged: true
}); // -> "0-6,16,P"
FAQs
ThrustCurve.org model rocket motor and thrust curve data as a single JSON file
We found that thrustcurve-db demonstrated a not healthy version release cadence and project activity because the last version was released 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
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.