diff options
| author | Wojtek Kosior <koszko@koszko.org> | 2022-06-15 11:09:58 +0200 | 
|---|---|---|
| committer | Wojtek Kosior <koszko@koszko.org> | 2022-06-15 11:09:58 +0200 | 
| commit | 22c722bf59e59246f47491c7229b17f9ef783614 (patch) | |
| tree | bdcfbfae93f5e54d9b2b39465945419406b5e96a /tests/source-package-example | |
| parent | 6bc04f8097e44e55cbf543d811ccd90671faedbc (diff) | |
| download | hydrilla-builder-upstream/1.1_beta1.tar.gz hydrilla-builder-upstream/1.1_beta1.zip | |
New upstream version 1.1~beta1upstream/1.1_beta1debian-upstream
Diffstat (limited to 'tests/source-package-example')
| -rw-r--r-- | tests/source-package-example/index.json | 154 | 
1 files changed, 81 insertions, 73 deletions
| diff --git a/tests/source-package-example/index.json b/tests/source-package-example/index.json index 7162dd7..9aa6e70 100644 --- a/tests/source-package-example/index.json +++ b/tests/source-package-example/index.json @@ -3,9 +3,9 @@  // Copyright (C) 2021, 2022 Wojtek Kosior <koszko@koszko.org>  // Available under the terms of Creative Commons Zero v1.0 Universal. -// This is an example index.json file describing Hydrilla site content. As you -// can see, for storing site content information Hydrilla utilizes JSON with an -// additional extension in the form of '//' comments support. +// This is an example index.json file describing Hydrilla packages. As you can +// see, for storing this information Hydrilla utilizes JSON with an additional +// extension in the form of '//' comments support.  // An index.json file conveys definitions of site resources and pattern->payload  // mappings. The definitions may reference files under index.json's containing @@ -62,18 +62,15 @@      // will also belong here once they get implemented.      "definitions": [  	{ -	    // Value of "type" can currently be one of: "resource" and -	    // "mapping". The one we have here, "resource", defines a list -	    // of injectable scripts that can be used as a payload or as a -	    // dependency of another "resource". In the future CSS style sheets -	    // and WASM modules will also be composite parts of a "resource" as -	    // scripts are now. -	    "type": "resource", +	    // Value of "type" can currently be one of: "resource", "mapping" +	    // and "mapping_and_resource" for a combined definition. The one we +	    // have here, "mapping", associates resources with pages on which +	    // they are to be used. +	    "type": "mapping", -	    // Used when referring to this resource in "dependencies" list of -	    // another resource or in "payload" field of a mapping. Should -	    // be consize and can only use a restricted set of characters. It -	    // has to match: [-0-9a-z]+ +	    // Used when referring to this mapping in "required_mappings" list +	    // of another item. Should be consize and can only use a restricted +	    // set of characters. It has to match: [-0-9a-z]+  	    "identifier": "helloapple",  	    // "long_name" should be used to specify a user-friendly alternative @@ -96,26 +93,80 @@  	    // Different versions (e.g. 1.0 and 1.3) of the same resource can be  	    // defined in separate index.json files. This makes it easy to  	    // accidently cause an identifier clash. To help detect it, we allow -	    // each resource to have a UUID associated with it. Attempt to -	    // define multiple resources with the same identifier and different -	    // UUIDs will result in an error being reported. Defining multiple -	    // resources with different identifiers and the same UUID is +	    // each item to have a UUID associated with it. Attempt to define +	    // multiple mapping with the same identifier and different UUIDs +	    // will result in an error being reported. Defining multiple +	    // mappings with different identifiers and the same UUID is  	    // disallowed for now (it may be later permitted if we consider it  	    // good for some use-case). -	    // As of package source schema version 1.0, UUIDs are optional and +	    // As of package source schema version 2.0, UUIDs are optional and  	    // can be omitted. +	    "uuid": "54d23bba-472e-42f5-9194-eaa24c0e3ee7", + +	    // Thanks to the "version" field (and "revision" field in case of +	    // "resource" or "mapping_and_resource", clients will know they have +	    // to update certain item after a new version has appeared in the +	    // repository. If multiple definitions of the same version of given +	    // item are provided to Hydrilla server, an error is generated. +	    // "version" differs from its counterpart in resource in that it has +	    // no accompanying revision number. For combined definitions with +	    // "mapping_and_resource" as type, the value of "revision" is +	    // appended as the last component of the resulting mapping's +	    // version. If type is simply "mapping", revision number is ignored. +	    "version": [2021, 11, 10], + +	    // A short, meaningful description of what the mapping does. +	    "description": "causes apple to get greeted on Hydrillabugs issue tracker", + +	    // If needed, a "comment" field can be added to provide some +	    // additional information. +	    // "comment": "this resource something something", + +	    // The "payloads" object specifies which payloads are to be applied +	    // to which URLs. +	    "payloads": { +		// Each key should be a valid Haketilo URL pattern. +		"https://hydrillabugs.koszko.org/***": { +		    // Should be the name of an existing resource. The resource +		    // may, but doesn't have to, be defined in the same +		    // index.json file. +		    "identifier": "helloapple" +		}, +		// More associations may follow. +		"https://hachettebugs.koszko.org/***": { +		    "identifier": "helloapple" +		} +	    } +	}, { +	    // A "resource" item defines a list of injectable scripts that can +	    // be used as a payload or as a dependency of another "resource". In +	    // the future CSS style sheets and WASM modules will also be +	    // composite parts of a "resource" as scripts are now. +	    "type": "resource", + +	    // Has similar function to mapping's identifier. Used when +	    // referring to this resource in "dependencies" list of another +	    // resource or in "payload" field of a mapping. Should be consize +	    // and can only use a restricted set of characters. It has to match: +	    // [-0-9a-z]+ +	    // It can be the same as some mapping identifier (those are +	    // different entities and are treated separately). +	    "identifier": "helloapple", + +	    // "long name" and "uuid" have the same meaning as in the case of +	    // resources and "uuid" is also optional. UUIDs of a resource and a +	    // mapping can technically be the same but it is recommended to +	    // avoid even this kind of repetition. +	    "long_name": "Hello Apple",  	    "uuid": "a6754dcb-58d8-4b7a-a245-24fd7ad4cd68",  	    // Version should match the upstream version of the resource (e.g. a -	    // version of javascript library). Revision number starts as 1 for +	    // version of JavaScript library). Revision number starts as 1 for  	    // each new resource version and gets incremented by 1 each time a -	    // modification to the packaging of this version is done. Hydrilla -	    // will allow multiple definitions of the same resource to load, as -	    // long as their versions differ. Thanks to the "version" and -	    // "revision" fields, clients will know they have to update certain -	    // resource after it has been updated. If multiple definitions of -	    // the same version of given resource are provided, an error is -	    // generated (even if those definitions differ by revision number). +	    // modification to the packaging of this version is done. +	    // If multiple definitions of the same version of given resource are +	    // provided to Hydrilla server, an error is generated (even if those +	    // definitions differ by revision number).  	    "version": [2021, 11, 10],  	    "revision": 1, @@ -123,16 +174,15 @@  	    // what it does.  	    "description": "greets an apple", -	    // If needed, a "comment" field can be added to provide some -	    // additional information. -	    // "comment": "this resource something something", +	    // A comment, if necessary. +	    // "comment": "blah blah because bleh"  	    // Resource's "dependencies" array shall contain names of other  	    // resources that (in case of scripts at least) should get evaluated  	    // on a page before this resource's own scripts.  	    "dependencies": [{"identifier": "hello-message"}], -	    // Array of javascript files that belong to this resource. +	    // Array of JavaScript files that belong to this resource.  	    "scripts": [  		{"file": "hello.js"},  		{"file":   "bye.js"} @@ -148,48 +198,6 @@  	    // If "dependencies" is empty, it can also be omitted.  	    // "dependencies": [],  	    "scripts": [{"file": "message.js"}] -	}, { -	    "type": "mapping", - -	    // Has similar function to resource's identifier. Should be consize -	    // and can only use a restricted set of characters. It has to match: -	    // [-0-9a-z]+ -	    // It can be the same as some resource identifier (those are -	    // different entities and are treated separately). -	    "identifier": "helloapple", - -	    // "long name" and "uuid" have the same meaning as in the case of -	    // resources and "uuid" is also optional. UUIDs of a resource and a -	    // mapping can technically be the same but it is recommended to -	    // avoid even this kind of repetition. -	    "long_name": "Hello Apple", -	    "uuid": "54d23bba-472e-42f5-9194-eaa24c0e3ee7", - -	    // "version" differs from its counterpart in resource in that it has -	    // no accompanying revision number. -	    "version": [2021, 11, 10], - -	    // A short, meaningful description of what the mapping does. -	    "description": "causes apple to get greeted on Hydrillabugs issue tracker", - -	    // A comment, if necessary. -	    // "comment": "blah blah because bleh" - -	    // The "payloads" object specifies which payloads are to be applied -	    // to which URLs. -	    "payloads": { -		// Each key should be a valid Haketilo URL pattern. -		"https://hydrillabugs.koszko.org/***": { -		    // Should be the name of an existing resource. The resource -		    // may, but doesn't have to, be defined in the same -		    // index.json file. -		    "identifier": "helloapple" -		}, -		// More associations may follow. -		"https://hachettebugs.koszko.org/***": { -		    "identifier": "helloapple" -		} -	    }  	}      ],      // We can also list additional files to include in the produced source | 
