{"id":18355373,"url":"https://github.com/charto/cfile","last_synced_at":"2025-08-08T10:36:57.839Z","repository":{"id":57196368,"uuid":"54155345","full_name":"charto/cfile","owner":"charto","description":"Gulp-style file container without dependencies for servers and browsers","archived":false,"fork":false,"pushed_at":"2016-03-24T01:09:43.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-03T07:39:47.857Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/charto.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}},"created_at":"2016-03-17T22:23:00.000Z","updated_at":"2016-03-18T10:43:03.000Z","dependencies_parsed_at":"2022-09-16T12:22:27.009Z","dependency_job_id":null,"html_url":"https://github.com/charto/cfile","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charto%2Fcfile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charto%2Fcfile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charto%2Fcfile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/charto%2Fcfile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/charto","download_url":"https://codeload.github.com/charto/cfile/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248141369,"owners_count":21054443,"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-05T22:06:42.126Z","updated_at":"2025-04-10T01:37:19.564Z","avatar_url":"https://github.com/charto.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"cfile\n=====\n\n[![build status](https://travis-ci.org/charto/cfile.svg?branch=master)](http://travis-ci.org/charto/cfile)\n[![npm version](https://img.shields.io/npm/v/cfile.svg)](https://www.npmjs.com/package/cfile)\n\nThis is an experimental container similar to [vinyl](https://github.com/gulpjs/vinyl)\nas used in [Gulp.js](http://gulpjs.com/), but without depending on Node.js libraries.\nIt's intended for more general use besides build tools.\nFor example, a web server or browser can transform data on the fly.\n\nDifferences from `vinyl`:\n\n- No external dependencies.\n- Can contain data types relevant to browsers: `XMLHttpRequest` result, `Uint8Array` and `string` (in addition to Node.js `ReadableStream` and `Buffer`).\n- Locations are URI instead of paths. Files can represent remotely fetched content stored in memory or cached content under an abstract URN key (in addition to local `file://` paths).\n- Files optionally point to other related files, such as source maps.\n- Written in [TypeScript](http://www.typescriptlang.org/).\n\nAPI\n===\n\n\u003e\n\u003e \u003ca name=\"api-Address\"\u003e\u003c/a\u003e\n\u003e ### [`Address`](#api-Address)\n\u003e Simple absolute URI container and resolver.  \n\u003e \u003e **new( )** \u003csup\u003e\u0026rArr; \u003ccode\u003e[Address](#api-Address)\u003c/code\u003e\u003c/sup\u003e  \n\u003e \u003e \u0026emsp;\u0026#x25aa; uri \u003csup\u003e\u003ccode\u003estring\u003c/code\u003e\u003c/sup\u003e  \n\u003e \u003e \u0026emsp;\u0026#x25aa; base \u003csup\u003e\u003ccode\u003e[Address](#api-Address)\u003c/code\u003e\u003c/sup\u003e  \n\u003e \u003e **.resolve( )** \u003csup\u003e\u0026rArr; \u003ccode\u003e[Address](#api-Address)\u003c/code\u003e\u003c/sup\u003e  \n\u003e \u003e \u0026emsp;Resolve another URI relative to this address.  \n\u003e \u003e \u0026emsp;\u0026#x25aa; uri \u003csup\u003e\u003ccode\u003estring\u003c/code\u003e\u003c/sup\u003e  \n\u003e \u003e **.format( )** \u003csup\u003e\u0026rArr; \u003ccode\u003estring\u003c/code\u003e\u003c/sup\u003e  \n\u003e \u003e \u0026emsp;Convert to URI string.  \n\u003e \u003e **protocol** \u003csup\u003e\u003ccode\u003estring\u003c/code\u003e\u003c/sup\u003e  \n\u003e \u003e \u0026emsp;Protocol including trailing colon, eg. http: or urn:  \n\u003e \u003e **partList** \u003csup\u003e\u003ccode\u003estring[]\u003c/code\u003e\u003c/sup\u003e  \n\u003e \u003e \u0026emsp;URL split by slashes without query or hash, or URN split by colons.  \n\u003e \u003e **paramList** \u003csup\u003e\u003ccode\u003estring[]\u003c/code\u003e\u003c/sup\u003e  \n\u003e \u003e \u0026emsp;Query parameters in the form a=b.  \n\u003e\n\u003e \u003ca name=\"api-File\"\u003e\u003c/a\u003e\n\u003e ### [`File`](#api-File)\n\u003e Represents a remote or local file and its contents (stream or buffer).  \n\u003e \u003e **new( )** \u003csup\u003e\u0026rArr; \u003ccode\u003e[File](#api-File)\u003c/code\u003e\u003c/sup\u003e  \n\u003e \u003e \u0026emsp;\u0026#x25aa; uri \u003csup\u003e\u003ccode\u003estring | [Address](#api-Address)\u003c/code\u003e\u003c/sup\u003e  \n\u003e \u003e **baseAddress** \u003csup\u003e\u003ccode\u003e[Address](#api-Address)\u003c/code\u003e\u003c/sup\u003e  \n\u003e \u003e \u0026emsp;Where the file thinks it is, and the base of any relative paths inside it.  \n\u003e \u003e **address** \u003csup\u003e\u003ccode\u003e[Address](#api-Address)\u003c/code\u003e\u003c/sup\u003e  \n\u003e \u003e \u0026emsp;Current guess of file location. Changes until all possible redirects\nare resolved (possibly to a file in disk cache).  \n\u003e \u003e **history** \u003csup\u003e\u003ccode\u003e[Address](#api-Address)[]\u003c/code\u003e\u003c/sup\u003e  \n\u003e \u003e \u0026emsp;List of earlier addresses such as resolved HTTP redirects.  \n\u003e \u003e **related** \u003csup\u003e\u003ccode\u003eRelatedFiles\u003c/code\u003e\u003c/sup\u003e  \n\u003e \u003e \u0026emsp;Related files, such as a source map.  \n\u003e \u003e **contents** \u003csup\u003e\u003ccode\u003eFileContents\u003c/code\u003e\u003c/sup\u003e  \n\u003e \u003e \u0026emsp;String, Uint8Array, XMLHttpRequest, HTTP headers, Node.js stream and/or buffer.  \n\nLicense\n=======\n\n[The MIT License](https://raw.githubusercontent.com/charto/cfile/master/LICENSE)\n\nCopyright (c) 2016 BusFaster Ltd\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharto%2Fcfile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcharto%2Fcfile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharto%2Fcfile/lists"}