{"id":25133,"library":"create-app","title":"create-app","description":"A JavaScript library for isomorphic (client/server) single-page applications with unified configuration for routing and rendering. Version 2.1.0 is the latest stable release. Key differentiators include a single configuration for both client and server rendering, built-in history management, and minimal boilerplate. Designed for use with ES6 transpilers like Babel, with separate entry points for client and server.","status":"active","version":"2.1.0","language":"javascript","source_language":"en","source_url":"https://github.com/Lucifier129/create-app","tags":["javascript","isomorphic","router","controller","single-page-app"],"install":[{"cmd":"npm install create-app","lang":"bash","label":"npm"},{"cmd":"yarn add create-app","lang":"bash","label":"yarn"},{"cmd":"pnpm add create-app","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Must import from 'create-app/client' for client-side usage; default export is not available from the main entry.","wrong":"import createApp from 'create-app'","symbol":"createApp (client)","correct":"import createApp from 'create-app/client'"},{"note":"Server-side rendering requires the server entry point. CommonJS require is also supported.","wrong":"const createApp = require('create-app/client')","symbol":"createApp (server)","correct":"import createApp from 'create-app/server'"},{"note":"When using CommonJS, ensure the correct subpath is specified.","wrong":"const createApp = require('create-app')","symbol":"createApp (CommonJS client)","correct":"const createApp = require('create-app/client')"}],"quickstart":{"code":"import createApp from 'create-app/client';\n\nconst app = createApp({\n  container: 'body',\n  basename: '/abc',\n});\n\napp.start();\n\nlet targetPath = `/random${Math.random().toString(36).substr(2, 6)}`;\napp.history.push(targetPath);","lang":"javascript","description":"Demonstrates creating a client app with a container and basename, starting it, and pushing a random history entry."},"warnings":[{"fix":"Ensure the container element (e.g., 'body') exists before calling createApp.","message":"Rendering fails if container element does not exist in DOM on client side.","severity":"gotcha","affected_versions":"all"},{"fix":"Omit the second argument or use 'app.start()' without resolve.","message":"The 'start' method second argument (resolve) is deprecated in v2.0.0.","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Pass a configuration object like { container: 'body', basename: '/' }.","message":"In v2.0.0, the API changed from using 'createApp()' without arguments to requiring a configuration object.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Use 'require(\"create-app/client\")' or 'require(\"create-app/server\")'.","message":"CommonJS require without subpath does not export anything.","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":"Run 'npm install create-app' and use correct import path: 'create-app/client'.","cause":"Installation missing or incorrect import path.","error":"Module not found: Can't resolve 'create-app'"},{"fix":"Import from subpath: 'import createApp from \"create-app/client\"'.","cause":"Default import without subpath returns undefined.","error":"TypeError: createApp is not a function"},{"fix":"Call 'app.start()' before using 'app.history.push()'.","cause":"App not started or history not initialized.","error":"Cannot read property 'push' of undefined"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}