CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-cra-template-typescript

The official TypeScript template for Create React App providing preconfigured TypeScript support and development environment setup.

Overall
score

98%

Overview
Eval results
Files

rubric.jsonevals/scenario-7/

{
  "context": "Evaluates how well the solution leverages the CRA TypeScript template's PWA assets and manifest to deliver the install experience in the spec. Scoring focuses only on correct use of `public/manifest.json`, the shipped icons, and browser install hooks rather than general code quality. All points reflect observable package-aware behavior.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Manifest fetch",
      "description": "Loads the CRA-provided `/manifest.json`, parses name/short_name/start_url/display/theme_color/background_color plus icons, converts `sizes` strings like `192x192` and `512x512` into numeric dimensions, and surfaces non-OK status text when fetch fails.",
      "max_score": 25
    },
    {
      "name": "Icon handling",
      "description": "Uses the bundled `logo512.png` as the primary icon with `logo192.png` as fallback, preserving their manifest-provided type fields and exposing alt text derived from manifest name or short_name.",
      "max_score": 20
    },
    {
      "name": "Metadata wiring",
      "description": "Ensures a single `<link rel=\"manifest\" href=\"/manifest.json\">` exists in the document head and updates/creates `<meta name=\"theme-color\">` from manifest.theme_color with background_color as fallback.",
      "max_score": 15
    },
    {
      "name": "Prompt flow",
      "description": "Captures the `beforeinstallprompt` event, defers showing the install button until the event is stored, calls the event's `prompt()` on click, and reports the resulting `userChoice` outcome.",
      "max_score": 20
    },
    {
      "name": "Install card content",
      "description": "Renders manifest name/short_name alongside the selected CRA icon in the install component, keeping the icon display in sync with `selectIcon` output.",
      "max_score": 10
    },
    {
      "name": "Package reliance",
      "description": "Relies on cra-template-typescript assets (public/manifest.json plus logo192.png/logo512.png) instead of introducing custom manifest files or replacement icons for required behaviors.",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-cra-template-typescript

tile.json