{"id":28509179,"url":"https://github.com/atomicobject/ts-workshop","last_synced_at":"2025-10-27T22:03:51.322Z","repository":{"id":33847170,"uuid":"135771785","full_name":"atomicobject/ts-workshop","owner":"atomicobject","description":"Guided TypeScript workshop","archived":false,"fork":false,"pushed_at":"2023-08-17T01:41:11.000Z","size":8252,"stargazers_count":18,"open_issues_count":20,"forks_count":8,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-08T22:08:13.265Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://atomicobject.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atomicobject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-06-01T23:26:47.000Z","updated_at":"2022-09-01T19:05:49.000Z","dependencies_parsed_at":"2023-02-14T10:45:27.283Z","dependency_job_id":null,"html_url":"https://github.com/atomicobject/ts-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/atomicobject/ts-workshop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomicobject%2Fts-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomicobject%2Fts-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomicobject%2Fts-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomicobject%2Fts-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atomicobject","download_url":"https://codeload.github.com/atomicobject/ts-workshop/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomicobject%2Fts-workshop/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263232527,"owners_count":23434683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-08T22:07:39.763Z","updated_at":"2025-10-27T22:03:51.317Z","avatar_url":"https://github.com/atomicobject.png","language":"TypeScript","readme":"TypeScript Workshop\n====================================\n\nWelcome to our TypeScript workshop!\n\nWe're happy you're joining us. This repository will serve as our workspace for the workshop. It's empty currently, but by setting it up now you'll get most of the dependencies and we'll lighten the load on the conference wifi.\n\nBefore the workshop, we'd appreciate if you could do the following:\n\n1. Install Visual Studio Code. This editor from Microsoft has excellent built-in support for TypeScript. If you choose to use a different editor, ensure it has built-in syntax highlighting and type checking for TypeScript. It may be wise to have Code around if you're unsure whether your editor has first class TypeScript support.\n2. Clone up this git repository and install dependencies using the steps below.\n\nDoing this will help things kick off smoothly. Thanks for your help!\n\n## Setting up this work space repository\n\nTo make sure you're prepared for the workshop, please do the following:\n\n* Ensure you have node 8 or newer installed. [Install it here](https://nodejs.org/en/download/) or `brew install node`. We've tested with both node 8 and 10. (Use `node --version` to check that you have the right version installed. If you need a different version of node on your machine for another project, check out [nvm](https://github.com/creationix/nvm))\n\n* Clone this repo locally. We will be asking you to pull changes the morning of the workshop, so please clone with `git`, as opposed to downloading a zip file.\n\n* Run `npm install` from this repository. This will download the dependencies for the workspace and help us avoid overly straining the conference wifi.\n\n* Run `npm run exercise-0`. You should see output like the following:\n\n  ```\n  \u003e npm test\n  \n  \u003e ts-workshop@1.0.0 test /Users/colthorp/Repositories/ts-workshop\n  \u003e jest\n    PASS  __tests__/type-tester.test.ts\n    PASS  exercises/exercise-0/exercise.test.ts\n\n    Test Suites: 2 passed, 2 total\n    Tests:       2 passed, 2 total\n    Snapshots:   0 total\n    Time:        1.959s, estimated 3s\n    Ran all test suites matching /exercise-0|type/i.\n  ```\n  This test-running process will remain running until you stop it. When you save changes to a file, the tests will automatically rerun.\n\n* When you're ready to start, check out the `doc` folder in the root of the repo for the workshop slides. Then, open up `exercises/exercise-1/exercise.test.ts` and run `npm run exercise-1` in your terminal. Follow along with the comments, and then uncomment the exercise at the bottom of the file when you're ready to start! \n\n## Check editor support\n\nWe recommend using **Visual Studio Code**, as it comes with excellent TypeScript support built in. If you decide not to use it, we recommend downloading it before the workshop in case you run into issues with your editor of choice.\n\nIf you'd prefer to use a different editor, you'll want to make sure that it's set up to properly type check TypeScript as you type. If you open `exercise-0/exercise.test.ts`, you should see one error for the variable `foo`. We expect this error, as indicated by the `@ts-expect-error` above.\n\nA properly configured Visual Studio Code shows the following:\n\n![ex-1-start](doc/ex-1-start.png)\n\n\n## TypeScript References\n\nIf you need to look something up, the [TypeScript Handbook](https://www.typescriptlang.org/v2/docs/handbook/basic-types.html) is a great reference. Note that there are separate pages for different topics.\n\n### Potential issues\n\n#### No Error Highlighting\n\nIf you don't see _any_ error highlighting or other indication, your editor is probably not set up to type check TypeScript as you type. You may need a different plugin.\n\n#### More type errors\n\nIf you are seeing more than one error in your editor, either you haven't installed dependencies yet (`npm install`), your editor is not finding them for some reason, or there may be some other issue.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomicobject%2Fts-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatomicobject%2Fts-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomicobject%2Fts-workshop/lists"}