config.json Reference
To configure all tiktag deployment and debug-function you will need to create one config.json
file in the root-directory of your project. This file is essential for building, debugging and deploy your project. Here you will find an overview of the configuration-options and the meanings of each key:
key: name
(required)
"name": "yourProjectName"
Description
Thename
key defines the project name. If you changed and saved it the project name will be updated instantly.
key: entry
(required)
"entry": "yourIndex.js"
Description
entry
defines the initial JavaScript file. Tiktag will use this core file to start building, compiling and transpiling your project from here.
key: type
(optional)
"type": "tag" | "library"
Description
type
describes / sets the type of a project, which can be changed to setting either `library`
or `tag`
here.
key: shortName
(optional)
"shortName": "myShortName"
Description
TheshortName
must be unique to the server and will be used for each project, tags and libraries. There is a separate `shortName`
for templates only. shortName is per default a uuidV4
. It can be changed to a systemwide unique name until it was deployed for the first time. After that it cannot be changed during
the life-time of the project.
key: variant
(optional)
"variant": "myVariant"
Description
Avariant
can be any string-value without a particular format-restriction. It will be available for checkout, so you can use different versions of your tag or library. Please remark that variants are totally independant from each other - you could even have different users working on different variants. This means that there is no merge of variants possible.
Use the commandLine to create, set or archive variants:
new     --> variant
set     --> variant --> [list of variants]
archive --> variant --> [list of variants]
You should carefully choose your variant-strategy to make sure that all versions share common library-code and avoid redundancy. Variants are maintainable tags; For instance it does make sense to offer product-variations with a different set of features, but not using variants for storing versions, because variants are not intended to have an end of life.
object: debug
(optional)
"debug":
{
  "publicUrl": true | false
}
Description
Currently the subObjectdebug
only holds one possible Key, there will be more options to follow. If publicUrl
is set to true
your Debug-Url will be publicly available to all others. If set to false
the access is restricted to you only.
If this option is not set, it will be false
by default.
array: nodePackages
(optional)
"nodePackages":
[
  {
    "name": "nodePackageName",
    "version": "nodePackageVersion"
  }
]
Description
similar tonpm
tiktag offers access to common node-libraries for you to use. As built files will be compressed in one single file there will be a restricted compliance.
Another option is to load a node-library instantly using jsdelivr
Example using Supabase Auth in any tiktag-js Source:
import supabaseauthJs from 'https://cdn.jsdelivr.net/npm/@supabase/auth-js@2.68.0/+esm'
object: deployment
(optional)
"deployment":
{
  publicUrl: true | false
}
Description
Currently the subObjectdeployment
only holds one possible Key, there will be more options to follow. For Tags:
If publicUrl
is set to true
your tag can be deployed publicly, so others can access it
If publicUrl
is set to false
the deployment feature cannot be triggered, so it cannot be deployed
For Libraries:
If publicUrl
is set to true
your library can be deployed publicly, so others can access it.
If publicUrl
is set to false
the deployment feature cannot be triggered, so you can use your library only. The library will be linked to your tag statically in this case.
publicUrl
is set to false
per default
object: template
(optional)
"template":
{
  "name": "WebGL_3D_JavaScript_Template",
  "description": "Use this Template to create a 3D Application, Simulation or Game",
  "shortName": "webgl_3d_js",
  "public": true
}
Description
If you wish to turn make your project available as a template for internal or public usage you can use thetemplate
object. name
and desdription
must not be unique, but it will be exposed, if public
is set to true
. If public
is set to false
you can use the template for youselve only. shortName
must be unique to the server
to make it seekable. There is no versioning on templates, so the most recent version will be delivered.