{"id":20601645,"url":"https://github.com/rolling-scopes-school/core-js-functions","last_synced_at":"2025-05-15T09:06:08.635Z","repository":{"id":228332742,"uuid":"764500222","full_name":"rolling-scopes-school/core-js-functions","owner":"rolling-scopes-school","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-13T21:04:12.000Z","size":90,"stargazers_count":5,"open_issues_count":0,"forks_count":898,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-19T12:35:11.525Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rolling-scopes-school.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-28T07:29:31.000Z","updated_at":"2025-04-04T13:54:04.000Z","dependencies_parsed_at":"2024-12-14T17:03:18.469Z","dependency_job_id":"60f1f6ee-7349-4ab4-b920-69f4f04875cb","html_url":"https://github.com/rolling-scopes-school/core-js-functions","commit_stats":{"total_commits":3,"total_committers":2,"mean_commits":1.5,"dds":"0.33333333333333337","last_synced_commit":"0912bb230776e5bfa045100cfca0aa2dcf07c453"},"previous_names":["rolling-scopes-school/core-js-functions"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolling-scopes-school%2Fcore-js-functions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolling-scopes-school%2Fcore-js-functions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolling-scopes-school%2Fcore-js-functions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolling-scopes-school%2Fcore-js-functions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rolling-scopes-school","download_url":"https://codeload.github.com/rolling-scopes-school/core-js-functions/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254310513,"owners_count":22049468,"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":"2024-11-16T09:11:30.723Z","updated_at":"2025-05-15T09:06:08.616Z","avatar_url":"https://github.com/rolling-scopes-school.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Core JS Functions\n\n:warning: **Please note that you mustn't open PRs that contains the answers to this repo!**\n\nHowever, PRs with the fixes or proposals are welcomed!\n\n## Task\nThe goal of the assignment is to learn how to work with functions in JS.\n\n**Active usage of [documentation](https://developer.mozilla.org/en-US/) is strongly recommended!**\n\n## Prepare and test\n1. Install Node.js\n2. Fork this repository: https://github.com/rolling-scopes-school/core-js-functions\n3. Clone your newly created repo: `https://github.com/\u003c%your_github_username%\u003e/core-js-functions/`\n4. Go to folder `core-js-functions`\n5. To install all dependencies use `npm install`\n6. Each task is usually a regular function:\n    ```javascript\n      /**\n       * Returns the result of concatenation of two strings.\n      *\n      * @param {string} value1\n      * @param {string} value2\n      * @return {string}\n      *\n      * @example\n      *   'aa', 'bb' =\u003e 'aabb'\n      *   'aa',''    =\u003e 'aa'\n      *   '',  'bb'  =\u003e 'bb'\n      */\n      function concatenateStrings(/* value1, value2 */) {\n        throw new Error('Not implemented');\n      }\n    ```\n    Read the task description in the comment above the function. Try to understand the idea. You can see the tests prepared if you don't understand it.\n7. Write your code in `src/functions-tasks.js`.\n\n    Uncomment the incoming parameters:\n\n    ```javascript\n        function concatenateStrings(/* value1, value2 */)\n    ```\n\n    Remove the throwing error line from function body:\n    ```javascript\n        throw new Error('Not implemented'); \n    ```\n    Implement the function by any way and verify your solution by running tests until the failed test become passed (green).\n8. Save the solution and run `npm test` in command line. If everything is OK you can try to resolve the next task.\n9. You will see the number of passing and pending tests.\n\n## Submit to [rs app](https://app.rs.school/)\n1. Commit and push your solutions to your fork\n2. Open rs app and login\n3. Go to submit task page\n4. Select your task (Core JS Functions)\n5. Press submit button and enjoy\n\n## Notes\n* We recommend you to use nodejs of version 22. If you using any of features that does not supported by node `v22`, score won't be submitted.\n* Installing nodejs `v22` is optional, you can run jobs using your version and not use methods that are not in nodejs `v22`.\n* Please be sure that each of your test in limit of 30sec.\n* You will get 0 (zero) if you have any eslint's errors or warnings.\n\n## FAQ\n**Question:** I use Windows machine and have received a lot of errors like \"Expected linebreaks to be 'LF' but found 'CRLF'\". How to handle it?\n\n**Answer**:\n- First, you need to install Gitbash properly: you need to choose option \"Checkout as-is, commit as-is\" in section \"Configuring the line ending conversions\". It'll let you download repos with line endings set \"as-is\" as well as commit. In other words, not to change them at all, because by default it converts them.\n- Second, install `editorconfig` plugin to your editor. For VS Code you can find it here:\nhttps://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig\n\n  I'll let you apply some rules when you saving your files in the repo. This plugin will use config-file `.editorconfig` that you can see in the root folder. It lets you save the file with needed line endings, trim whitespaces, etc.\n- Finally, you need to apply linter's autofix feature in order to fix all linebreaks that was already changed to \"CLRF\":\n```\n$ npm run lint -- --fix\n``` \n\n**Question:** Execution of tests \"hangs\" on one of them and does not display the result. What to do?\u003cbr\u003e\n**Answer**: Check your solution for an infinite loop, fix it, and rerun the test.\n\n**Question:** The solution in the local repository succeeds and all tests are \"green\", but in the application some tests don't count. What to do?\u003cbr\u003e\n**Answer**: [Update your repository fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork), update the local repository from the fork, run tests and fix your solution. After fixing, resubmit your solution for testing.\n\n___\nThe task based on https://github.com/rolling-scopes-school/js-assignments.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frolling-scopes-school%2Fcore-js-functions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frolling-scopes-school%2Fcore-js-functions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frolling-scopes-school%2Fcore-js-functions/lists"}