{"id":25781,"library":"javascwipt","title":"JavaScwipt","description":"JavaScwipt is an esoteric, UwU-ified version of JavaScript that replaces standard keywords with cutesy alternatives (e.g., `var` → `vawar`, `let` → `nya`, `const` → `fowever`, `function` → `fuwunction`, `return` → `bacc`, `class` → `cwass`). It uses acornjs and escodegen to transpile `.jscwipt` source files into plain JavaScript (`.js` or `.mjs`). The npm package provides both a library API and the `jswc` CLI tool. Version 1.0.10 is the current stable release; the project is maintained as a novelty/educational tool. Unlike standard JavaScript, JavaScwipt forces the use of replaced keywords and reserves original JS keywords, meaning you must write `nya x = 1` instead of `let x = 1`. The tool is not meant for production use but for fun, learning transpiler internals, or novelty code.","status":"active","version":"1.0.10","language":"javascript","source_language":"en","source_url":null,"tags":["javascript"],"install":[{"cmd":"npm install javascwipt","lang":"bash","label":"npm"},{"cmd":"yarn add javascwipt","lang":"bash","label":"yarn"},{"cmd":"pnpm add javascwipt","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Used to parse .jscwipt files into an AST.","package":"acorn","optional":false},{"reason":"Generates JavaScript code from the AST.","package":"escodegen","optional":false}],"imports":[{"note":"Default export is not available; named import `compile` is the correct entry point.","wrong":"const javascwipt = require('javascwipt'); javascwipt.compile('nya x = 1')","symbol":"compile","correct":"import { compile } from 'javascwipt'"},{"note":"Consumes a file path to .jscwipt and produces compiled string. Only works with Node.js due to file system access.","wrong":null,"symbol":"compileFile","correct":"import { compileFile } from 'javascwipt'"},{"note":"No `compile` subcommand; `jswc` alone compiles to .js, `jswc mjs` to .mjs.","wrong":"jswc compile","symbol":"jswc CLI","correct":"install globally (npm install -g javascwipt) then run: jswc [mode]"}],"quickstart":{"code":"// Install globally: npm install -g javascwipt\n// Create src/test.jscwipt with:\n/*\nnya x = 'Hello World!';\nconsole.log(x);\n*/\n// Run in terminal:\n// jswc        → produces src/test.js\n// jswc mjs    → produces src/test.mjs\n// node src/test.mjs\n// Output: Hello World!\n\n// Programmatic usage:\n// import { compile } from 'javascwipt';\n// const compiled = compile(\"nya x = 1; bacc x * 2;\");\n// console.log(compiled); // 'let x = 1; return x * 2;'","lang":"javascript","description":"Creates a .jscwipt file with UwU syntax, compiles it to .js/.mjs using jswc CLI, and runs with Node.js. Also shows programmatic compile usage."},"warnings":[{"fix":"Use UwU replacements: let → nya, const → fowever, var → vawar, function → fuwunction, return → bacc, class → cwass, extends → extwends, this → kohai, super → senpai, if → iwf, else → ewse, for → fwor, while → duwuring, do → dowo, continue → continuwu, break → bweak, switch → mwatch, case → cwase, default → nowormal, true → twue, false → fawse, null → nuwull.","message":"Original JavaScript keywords (let, const, var, function, etc.) are treated as syntax errors inside .jscwipt files.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Create a 'src' folder and put all .jscwipt files inside it.","message":".jscwipt files must be placed in a directory named 'src' relative to where you run the jswc command; otherwise compilation fails with a file-not-found error.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use 'jswc mjs' for ESM output, then run with 'node src/*.mjs'. For CommonJS, 'jswc' produces .js files.","message":"The CLI's default output is a .js file (CommonJS). To run with modern Node.js (ESM), you must use 'jswc mjs' to produce a .mjs file.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Pin versions in package.json if using programmatically. Not recommended for production.","message":"No versions have been deprecated, but the project is a novelty tool; breaking changes may occur without notice if underlying dependencies (acorn, escodegen) update.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Use named imports: import { compile } from 'javascwipt'","message":"The library's named exports may not include a default export; attempting import javascwipt from 'javascwipt' will result in undefined.","severity":"gotcha","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":"Ensure all .jscwipt files are in a 'src' folder relative to where you run the 'jswc' command.","cause":".jscwipt files are not inside a 'src' directory, or the CLI is run from the wrong working directory.","error":"Error: Cannot find module './src/...' or \"No .jscwipt files found\""},{"fix":"Replace with UwU equivalent: 'nya x = 1;'","cause":"Original JavaScript keyword used in .jscwipt file (e.g., 'let x = 1;')","error":"SyntaxError: Unexpected token (1:4)"},{"fix":"Use named import: `import { compile } from 'javascwipt'; compile(...)`","cause":"Using an import pattern like `const jswc = require('javascwipt'); jswc.compile(...)` and calling default export as function.","error":"TypeError: (intermediate value) is not a function"},{"fix":"Compile first with 'jswc' to produce .js/.mjs, then run the output file.","cause":"Trying to run a .jscwipt file directly in Node.js without transpiling.","error":"ReferenceError: fowever is not defined"},{"fix":"Update to latest JavaScwipt (npm update javascwipt) and ensure Node.js version >= 14.","cause":"Outdated version of JavaScwipt or incompatible acorn version when using modern JS syntax like optional chaining.","error":"SyntaxError: Unexpected token '.' (maybe caused by acorn version mismatch?)"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}