{"id":27383,"library":"sealang","title":"SEALang","description":"SEALang is a superset of Perl5 with static typing, transpiled to Perl5 via Node.js. Version 1.0.5 (latest) is in early active development with a focus on adding static typing and modern features to Perl. It provides a schema API to generate Perl5 code for a compiler, but is not yet stable for production use. Key differentiators: brings static typing to Perl5, uses JavaScript/Node for tooling, and provides object-oriented primitives like Map, Array, Hash, and Scalar.","status":"active","version":"1.0.5","language":"javascript","source_language":"en","source_url":"https://github.com/fraxken/SEALang","tags":["javascript","perl5","transpiler","nodejs"],"install":[{"cmd":"npm install sealang","lang":"bash","label":"npm"},{"cmd":"yarn add sealang","lang":"bash","label":"yarn"},{"cmd":"pnpm add sealang","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package uses CommonJS. Not available as ES module.","wrong":"import { SEASchema } from 'sealang'; // Not a standard ES module","symbol":"SEASchema","correct":"const { SEASchema } = require('sealang');"},{"note":"Named export, not default. Use destructured require.","wrong":"import SEACompiler from 'sealang';","symbol":"SEACompiler","correct":"const { SEACompiler } = require('sealang');"},{"note":"Exported from main entry, not a subpath.","wrong":"const exportSEA = require('sealang/export'); // Wrong path","symbol":"exportSEA","correct":"const { exportSEA } = require('sealang');"}],"quickstart":{"code":"const { SEASchema, SEACompiler } = require('sealang');\n\nconst schema = new SEASchema();\nschema.addRoutine('hello', () => {\n  console.log('Hello, SEALang!');\n});\n\nconst compiler = new SEACompiler(schema);\nconst perlCode = compiler.compile();\nconsole.log(perlCode);","lang":"javascript","description":"Creates a SEASchema, adds a routine, and compiles it to Perl5 code using SEACompiler."},"warnings":[{"fix":"Pin to exact version and test upgrades thoroughly.","message":"Package is in early development; API may break without major version bump.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use `const { ... } = require('sealang')` instead of `import`.","message":"ES module imports are not supported; only CommonJS require works.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Read the GitHub source files for API details.","message":"Documentation is sparse; source code may be the only reference for advanced usage.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Test each feature in isolation before relying on it.","message":"The roadmap includes items marked as done but those features may still be unstable.","severity":"deprecated","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `npm install sealang` and ensure node_modules is in the correct directory.","cause":"Package not installed or module path incorrect.","error":"Cannot find module 'sealang'"},{"fix":"Use const { SEASchema } = require('sealang');","cause":"Importing SEASchema without destructuring (e.g., const SEASchema = require('sealang'))","error":"TypeError: SEASchema is not a constructor"},{"fix":"Use require() instead of import.","cause":"Attempting to import using ES module syntax in a CommonJS context.","error":"SyntaxError: Unexpected token 'export'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}