{"id":23909178,"url":"https://github.com/ilib-js/ilib-mono-webos","last_synced_at":"2026-04-16T07:01:17.756Z","repository":{"id":268507325,"uuid":"904036267","full_name":"iLib-js/ilib-mono-webos","owner":"iLib-js","description":"Monorepo for containing the loctool and lint plugins for webOS Platform.","archived":false,"fork":false,"pushed_at":"2026-04-15T05:42:21.000Z","size":39216,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-04-15T06:28:27.650Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/iLib-js.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-12-16T06:08:29.000Z","updated_at":"2026-02-24T00:19:04.000Z","dependencies_parsed_at":"2024-12-17T07:46:10.920Z","dependency_job_id":"07c22902-f76c-46d7-9d37-8b6cfcfed45a","html_url":"https://github.com/iLib-js/ilib-mono-webos","commit_stats":null,"previous_names":["ilib-js/ilib-mono-webos"],"tags_count":322,"template":false,"template_full_name":null,"purl":"pkg:github/iLib-js/ilib-mono-webos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iLib-js%2Filib-mono-webos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iLib-js%2Filib-mono-webos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iLib-js%2Filib-mono-webos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iLib-js%2Filib-mono-webos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iLib-js","download_url":"https://codeload.github.com/iLib-js/ilib-mono-webos/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iLib-js%2Filib-mono-webos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31875183,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-01-05T05:17:19.519Z","updated_at":"2026-04-16T07:01:17.735Z","avatar_url":"https://github.com/iLib-js.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ilib-mono-webos\n\nThis repository is a monorepo for the iLib-js project. It is designed to include **webOS-related** packages that are part of iLib-js, even though each package is published to npm as a separate package.  \nThe monorepo is managed using pnpm workspaces and Turborepo.  \nAll packages are placed in the packages/ directory. Each package has its own README.md and package.json, which are located in the package root directory.  \n\nThe webOS-related repositories that existed under iLib-js have been migrated here to ilib-mono-webos.  \nAll the packages moved to ilib-mono-webos are marked as archived in their original GitHub repositories.\n\n## Table of Contents\n- [General](#general)\n- [Project Structure](#project-structure)\n- [Packages](#packages)\n- [Setup](#setup)\n- [Testing](#testing)\n- [Debugging](#debugging)\n- [Contributing](#contributing)\n- [Publishing](#publishing)\n- [License](#license)\n\n## General\nThe basic purpose and operation method are the same as [ilib-mono](https://github.com/iLib-js/ilib-mono).   \nFor more details, please see the ilib-mono's [README.md](https://github.com/iLib-js/ilib-mono/blob/main/README.md) file.   \n\n### Project Structure\nThe project is structured as follows:\n- `packages/` - Contains all the packages that are part of the monorepo. Each package is a separate directory containing its own `package.json` file. Each package is published to npm as a separate package.\n- `package.json` - Contains the root project configuration.\n- `pnpm-workspace.yaml` - Contains the configuration for pnpm workspaces.\n- `turbo.json` - Contains the configuration for Turborepo.\n- `pnpm-lock.yaml` - Contains the lockfile for pnpm.\n- `codecov.yaml` - Contains the configuration for Codecove.\n\n\n## Packages\n\nHere is the list of packages. Plugins are optimized for the webOS platform.\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eCategory\u003c/td\u003e\u003ctd\u003eName\u003c/td\u003e\u003ctd\u003eDescription\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"11\"\u003elocalization\u003c/td\u003e\n    \u003ctd\u003eilib-loctool-webos-c\u003c/td\u003e\n    \u003ctd\u003eC filetype handler.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eilib-loctool-webos-cpp\u003c/td\u003e\n    \u003ctd\u003eCpp filetype handler.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eilib-loctool-webos-javascript\u003c/td\u003e\n    \u003ctd\u003eJavaScript filetype handler.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eilib-loctool-webos-qml\u003c/td\u003e\n    \u003ctd\u003eQML filetype handler.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eilib-loctool-webos-dart\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://docs.fileformat.com/programming/dart/\"\u003eDart\u003c/a\u003e filetype handler.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eilib-loctool-webos-json\u003c/td\u003e\n    \u003ctd\u003e JSON filetype handler.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eilib-loctool-webos-json-resource\u003c/td\u003e\n    \u003ctd\u003eJSON resource filetype handler.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eilib-loctool-webos-ts-resource\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://doc.qt.io/qt-6/linguist-ts-file-format.html\"\u003eTS\u003c/a\u003e resource filetype handler.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eilib-loctool-webos-common\u003c/td\u003e\n    \u003ctd\u003econtains functions commonly used in the plugin.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eilib-loctool-webos-dist\u003c/td\u003e\n    \u003ctd\u003efor the purpose of distribution for webOS platform.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003esamples-loctool\u003c/td\u003e\n    \u003ctd\u003esample apps written for each app type to validate the webOS loctool plugins.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"2\"\u003elint\u003c/td\u003e\n    \u003ctd\u003eilib-lint-webos\u003c/td\u003e\n    \u003ctd\u003eprovides the ability to parse webOS xliff files and provides rules to check.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003esamples-lint\u003c/td\u003e\n    \u003ctd\u003esample app to validate the webOS lint plugin.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003exliff\u003c/td\u003e\n    \u003ctd\u003eilib-xliff-webos\u003c/td\u003e\n    \u003ctd\u003eA parser and generator for webOS xliff files (XML Localization Interchange Format File)\n\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Setup\nThis project is developed using Node.js, nvm and pnpm.\nMake sure you've got them installed before continuing.\n\n- [pnpm.io](https://pnpm.io/): [installation](https://pnpm.io/installation)\n    - The pnpm version is specified in `packageManager` property of `package.json` file.\n\n#### 1. Installation\n\nClone the repository to your local machine with HTTPS:\n\n```bash\ngit clone https://github.com/iLib-js/ilib-mono-webos.git\n```\n\nor with SSH:\n\n```bash\ngit clone git@github.com:iLib-js/ilib-mono-webos.git\n````\n\nNavigate to the project root directory:\n\n```bash\ncd ilib-mono-webos\n```\nEvery command from now on should be run in the root directory of the project, unless stated otherwise.\n\n\n#### 2. Enabling pnpm\n\nSince v16.13, Node.js ships [Corepack](https://nodejs.org/api/corepack.html) for managing package managers, so you\ndo not need to install Corepack separately.  \nHowever, since this is an experimental feature, you need to enable it by running:\n\n```bash\ncorepack enable pnpm\n```\n\nOptional: `pnpm` might be hard to type, so you may use a shorter alias like `pn` instead. See\nguide [here](https://pnpm.io/installation#using-a-shorter-alias).\n\n#### 3. Installing project dependencies\n\nThe final step is to install the project dependencies. Run:\n\n```bash\npnpm install\n```\n\nYou do NOT need to run `pnpm install` from package directories, as the monorepo is set up to handle dependencies for all\npackages automatically.\n\n#### 4. Install Git Hooks\n\nThe project comes with a set of Git Hooks that are automatically installed as part of the post-installation process.\nYou do not need to run a separate command for this. The hooks are set up when you run:\n\n```bash\npnpm install\n```\n\nIn case you need to install Git Hooks manually, you can run:\n\n```bash\npnpm postinstall\n```\n\n\n\n## Testing\n\nTests are written using [Jest](https://jestjs.io/).\nThere are few ways to run tests:\n\n* for an affected package(s) solely or\n* for all packages in the monorepo.\n\n#### 1. Run tests for affected package(s)\n\nIt is recommended to run tests only for projects impacted by recent changes. This saves time, resources, and optimizes the testing process by skipping tests for unmodified projects. To do so, simply run:\n\n```bash\npnpm test\n```\n\n#### 2. Run tests for all packages\n\nTo run all the tests for all packages in the monorepo, use:\n\n```bash\npnpm test:all\n```\n\n#### 3. Other options\n\nThese may be useful for development and/or debugging purposes.\nThese commands should be run from the root directory of the package you're interested in.\n\n1. Run all the tests for a single package in the monorepo:\n\n```bash\npnpm --filter ilib-loctool-webos-javascript test\n```\n\nor `cd` into the package directory and run:\n\n```bash\n# cd packages/ilib-loctool-webos-javascript\npnpm test\n```\n\n2. Run all tests for a single file, by passing the path to the file as an argument to the `pnpm test` command, like\n   this:\n\n```bash\npnpm --filter ilib-loctool-webos-javascript test -- JavaScriptFile.test.js\n```\n\nor `cd` into the package directory and run:\n\n```bash\n# cd packages/ilib-loctool-webos-javascript\npnpm test -- \"JavaScriptFile.test.js\"\n```\n\n## Debugging\n\nEach package contains a command that can be used to run debug.  \nTo set a breakpoint, simply write `debugger` at the desired location, Start debugging with the following command.\n\n```bash\n# cd packages/ilib-loctool-webos-javascript\npnpm run debug\n```\n\nBy using the `--filter` option, you can debug from the root of the monorepo.\n\n```bash\npnpm -filter ilib-loctool-webos-javascript debug\n```\n\n## Contributing\n\nPlease see the [CONTRIBUTING.md](./CONTRIBUTING.md) file for guidelines on how to contribute to this project.\n\n## Publishing\nWhen a PR is merged, a new PR is created with the title `Version Packages`. [example](https://github.com/iLib-js/ilib-mono-webos/pull/25)  \nThis PR was generated by the Changeset Github action. If there is already a PR opened with the same name, the content will be automatically merged into that PR.  \n- When packages are ready for release to npm, approve this PR to merge \n- then the packages with your changes will automatically be published to npm.  \n\nThis has been set in the `ilib-mono-webos` repo to automate the operation.\n\n## License\nThis project is licensed under the Apache 2.0 License. See the [LICENSE](./LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filib-js%2Filib-mono-webos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filib-js%2Filib-mono-webos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filib-js%2Filib-mono-webos/lists"}