glass-loader issueshttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues2022-09-01T03:57:42+03:00https://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/17Compatibilize for Mobile builds2022-09-01T03:57:42+03:00Tiago VenceslauCompatibilize for Mobile buildsDevelop the Glass Wallet System and ecosystem integrationTiago VenceslauTiago Venceslauhttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/16Correct glass-loader mobile configs2022-08-25T05:46:52+03:00Tiago VenceslauCorrect glass-loader mobile configsDevelop the Glass Wallet System and ecosystem integrationTiago VenceslauTiago Venceslauhttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/15update market2022-08-19T06:09:56+03:00Tiago Venceslauupdate marketTiago VenceslauTiago Venceslauhttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/14Set glass loader to define the wallet predefined language2022-09-01T04:20:17+03:00Tiago VenceslauSet glass loader to define the wallet predefined languageDevelop the Glass Wallet System and ecosystem integrationTiago VenceslauTiago Venceslauhttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/13integrate will the store for loading the wallet2022-08-11T17:20:30+03:00Tiago Venceslauintegrate will the store for loading the walletSet up Glass EnvironmentTiago VenceslauTiago Venceslauhttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/12Remove duplicate code from GlassComponent complete handler2022-07-05T14:27:16+03:00Vitor NogueiraRemove duplicate code from GlassComponent complete handlerRefactor Glass component complete handler to remove duplicate code.Refactor Glass component complete handler to remove duplicate code.Set up Glass EnvironmentTiago VenceslauTiago Venceslauhttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/11add native capabilities2022-09-01T04:14:44+03:00Tiago Venceslauadd native capabilitiesThis means, (hopefully) getting cordoba/capacitor to work (this is one of the reasons why this is an ionic app), and provide camera access like so: https://www.positronx.io/ionic-cordova-camera-plugin-tutorial-with-example/
we should later be able to have acces to native camera features via thisThis means, (hopefully) getting cordoba/capacitor to work (this is one of the reasons why this is an ionic app), and provide camera access like so: https://www.positronx.io/ionic-cordova-camera-plugin-tutorial-with-example/
we should later be able to have acces to native camera features via thisSet up Glass EnvironmentTiago VenceslauTiago Venceslauhttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/10Refactor the use of the spinner to properly lock the app while the whole wall...2022-06-03T20:22:35+03:00Tiago VenceslauRefactor the use of the spinner to properly lock the app while the whole wallet building process is donebonus points if you manage to implement status updatesbonus points if you manage to implement status updatesSet up Glass EnvironmentTiago VenceslauTiago Venceslauhttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/9Implement signing out2022-06-07T20:00:46+03:00Tiago VenceslauImplement signing outSet up Glass EnvironmentVitor NogueiraVitor Nogueirahttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/8Add Initialization to the wallet2022-05-19T13:08:43+03:00Tiago VenceslauAdd Initialization to the walletAdd the default settings and builtin apps to the glass-wallet creationAdd the default settings and builtin apps to the glass-wallet creationSet up Glass EnvironmentTiago VenceslauTiago Venceslauhttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/7move pin component to base web componetns2022-05-04T17:20:24+03:00Tiago Venceslaumove pin component to base web componetnsits also going to be used in the walletits also going to be used in the walletSet up Glass EnvironmentTiago VenceslauTiago Venceslauhttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/6Override the custom loader behaviours to perfectly integrate with the glass w...2022-04-14T22:08:15+03:00Tiago VenceslauOverride the custom loader behaviours to perfectly integrate with the glass walletCreate a new completedHandler to too the same romsoft did for their loader, but for ours, considering we'll always be launching an ion app.
This will make out dApp not need to raise a completed eventCreate a new completedHandler to too the same romsoft did for their loader, but for ours, considering we'll always be launching an ion app.
This will make out dApp not need to raise a completed eventSet up Glass Environmenthttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/5Integrate the iframe the wallet runs in in a 'page' from the loader2022-05-27T16:05:22+03:00Tiago VenceslauIntegrate the iframe the wallet runs in in a 'page' from the loaderFor UX reasons, we should be able to integrate the iframe the glass wallet runs on on the loader's UI, ensuring the same transition. The user should be completely unaware the wallet is not running 'inside' the loaderFor UX reasons, we should be able to integrate the iframe the glass wallet runs on on the loader's UI, ensuring the same transition. The user should be completely unaware the wallet is not running 'inside' the loaderSet up Glass EnvironmentVitor NogueiraVitor Nogueirahttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/4Following the successful loading of the wallet, Glass loader is not switching...2022-04-11T18:56:24+03:00Tiago VenceslauFollowing the successful loading of the wallet, Glass loader is not switching to the correct view (the app itself)Here are a few probable causes:
- not the right html elements are being deleted by the loader;
- the z-index of the ion app overrides the iframe of the app;Here are a few probable causes:
- not the right html elements are being deleted by the loader;
- the z-index of the ion app overrides the iframe of the app;Set up Glass EnvironmentVitor NogueiraVitor Nogueirahttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/3Integrate Romsoft's PWA script into the glass-loader as a feature2022-08-30T22:47:01+03:00Tiago VenceslauIntegrate Romsoft's PWA script into the glass-loader as a featureThe current pwa implementation uses the old pwa.js from romsoft, along with their images, icons, etc
integrate this login into our loader.
This way we can use the same UI elements and keep the interface cleanThe current pwa implementation uses the old pwa.js from romsoft, along with their images, icons, etc
integrate this login into our loader.
This way we can use the same UI elements and keep the interface cleanSet up Glass EnvironmentTiago VenceslauTiago Venceslauhttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/2Stencil bundling externals2022-04-01T15:22:12+03:00Tiago VenceslauStencil bundling externalsStencil bundles all external dependencies on its own. It creates challenges with the transpiled lib code and in the case on stencil libs importing stencil libs we presume it creates duplicate instances of supposedly Singleton objects.
So far we've been unable to override this issue and while it has not proved to be a problem, it still might.
To work around this, so far, for opendsu, we've created a script that deletes the importing lines from the code:
```js
function fixImports (){
const jsFiles = ['www/build/**/*.js']
return src(jsFiles)
.pipe(replace(/import(:?[^\{\}/]+? from)?\s?['"]opendsu['"];/g, function(match, p1, offset, string) {
console.log(`Found an OpenDSU import in Bundle '${match}'. Removing...`)
return ' '.repeat(match.length);
}))
.pipe(dest('www/build/'));
}
```
called by gulp.
as for the remaining, if it becomes a problem, we can follow Stencil Config object to reveal some undocumented features:
```js
export interface StencilConfig {
/**
* By default, Stencil will attempt to optimize small scripts by inlining them in HTML. Setting
* this flag to `false` will prevent this optimization and keep all scripts separate from HTML.
*/
allowInlineScripts?: boolean;
/**
* By setting `autoprefixCss` to `true`, Stencil will use the appropriate config to automatically
* prefix css. For example, developers can write modern and standard css properties, such as
* "transform", and Stencil will automatically add in the prefixed version, such as "-webkit-transform".
* As of Stencil v2, autoprefixing CSS is no longer the default.
* Defaults to `false`
*/
autoprefixCss?: boolean | any;
/**
* By default, Stencil will statically analyze the application and generate a component graph of
* how all the components are interconnected.
*
* From the component graph it is able to best decide how components should be grouped
* depending on their usage with one another within the app.
* By doing so it's able to bundle components together in order to reduce network requests.
* However, bundles can be manually generated using the bundles config.
*
* The bundles config is an array of objects that represent how components are grouped together
* in lazy-loaded bundles.
* This config is rarely needed as Stencil handles this automatically behind the scenes.
*/
bundles?: ConfigBundle[];
/**
* Stencil will cache build results in order to speed up rebuilds.
* To disable this feature, set enableCache to false.
*/
enableCache?: boolean;
/**
* Stencil is traditionally used to compile many components into an app,
* and each component comes with its own compartmentalized styles.
* However, it's still common to have styles which should be "global" across all components and the website.
* A global CSS file is often useful to set CSS Variables.
*
* Additionally, the globalStyle config can be used to precompile styles with Sass, PostCss, etc.
* Below is an example folder structure containing a webapp's global sass file, named app.css.
*/
globalStyle?: string;
/**
* When the hashFileNames config is set to true, and it is a production build,
* the hashedFileNameLength config is used to determine how many characters the file name's hash should be.
*/
hashedFileNameLength?: number;
/**
* During production builds, the content of each generated file is hashed to represent the content,
* and the hashed value is used as the filename. If the content isn't updated between builds,
* then it receives the same filename. When the content is updated, then the filename is different.
*
* By doing this, deployed apps can "forever-cache" the build directory and take full advantage of
* content delivery networks (CDNs) and heavily caching files for faster apps.
*/
hashFileNames?: boolean;
/**
* The namespace config is a string representing a namespace for the app.
* For apps that are not meant to be a library of reusable components,
* the default of App is just fine. However, if the app is meant to be consumed
* as a third-party library, such as Ionic, a unique namespace is required.
*/
namespace?: string;
/**
* Stencil is able to take an app's source and compile it to numerous targets,
* such as an app to be deployed on an http server, or as a third-party library
* to be distributed on npm. By default, Stencil apps have an output target type of www.
*
* The outputTargets config is an array of objects, with types of www and dist.
*/
outputTargets?: OutputTarget[];
/**
* The plugins config can be used to add your own rollup plugins.
* By default, Stencil does not come with Sass or PostCss support.
* However, either can be added using the plugin array.
*/
plugins?: any[];
/**
* Generate js source map files for all bundles
*/
sourceMap?: boolean;
/**
* The srcDir config specifies the directory which should contain the source typescript files
* for each component. The standard for Stencil apps is to use src, which is the default.
*/
srcDir?: string;
/**
* Passes custom configuration down to the "@rollup/plugin-commonjs" that Stencil uses under the hood.
* For further information: https://stenciljs.com/docs/module-bundling
*/
commonjs?: BundlingConfig;
/**
* Passes custom configuration down to the "@rollup/plugin-node-resolve" that Stencil uses under the hood.
* For further information: https://stenciljs.com/docs/module-bundling
*/
nodeResolve?: NodeResolveConfig;
/**
* Passes custom configuration down to rollup itself, not all rollup options can be overridden.
*/
rollupConfig?: RollupConfig; <-- THIS IS NOT DOCUMENTED!
/**
* Sets if the ES5 build should be generated or not. Stencil generates a modern build without ES5,
* whereas this setting to `true` will also create es5 builds for both dev and prod modes. Setting
* `buildEs5` to `prod` will only build ES5 in prod mode. Basically if the app does not need to run
* on legacy browsers (IE11 and Edge 18 and below), it's safe to not build ES5, which will also speed
* up build times. Defaults to `false`.
*/
buildEs5?: boolean | 'prod';
/**
* Sets if the JS browser files are minified or not. Stencil uses `terser` under the hood.
* Defaults to `false` in dev mode and `true` in production mode.
*/
minifyJs?: boolean;
/**
* Sets if the CSS is minified or not.
* Defaults to `false` in dev mode and `true` in production mode.
*/
minifyCss?: boolean;
/**
* Forces Stencil to run in `dev` mode if the value is `true` and `production` mode
* if it's `false`.
*
* Defaults to `false` (ie. production) unless the `--dev` flag is used in the CLI.
*/
devMode?: boolean;
/**
* Object to provide a custom logger. By default a `logger` is already provided for the
* platform the compiler is running on, such as NodeJS or a browser.
*/
logger?: Logger;
/**
* Config to add extra runtime for DOM features that require more polyfills. Note
* that not all DOM APIs are fully polyfilled when using the slot polyfill. These
* are opt-in since not all users will require the additional runtime.
*/
extras?: ConfigExtras;
/**
* The hydrated flag identifies if a component and all of its child components
* have finished hydrating. This helps prevent any flash of unstyled content (FOUC)
* as various components are asynchronously downloaded and rendered. By default it
* will add the `hydrated` CSS class to the element. The `hydratedFlag` config can be used
* to change the name of the CSS class, change it to an attribute, or change which
* type of CSS properties and values are assigned before and after hydrating. This config
* can also be used to not include the hydrated flag at all by setting it to `null`.
*/
hydratedFlag?: HydratedFlag;
/**
* Ionic prefers to hide all components prior to hydration with a style tag appended
* to the head of the document containing some `visibility: hidden;` css rules.
*
* Disabling this will remove the style tag that sets `visibility: hidden;` on all
* unhydrated web components. This more closely follows the HTML spec, and allows
* you to set your own fallback content.
*
*/
invisiblePrehydration?: boolean;
/**
* Sets the task queue used by stencil's runtime. The task queue schedules DOM read and writes
* across the frames to efficiently render and reduce layout thrashing. By default,
* `async` is used. It's recommended to also try each setting to decide which works
* best for your use-case. In all cases, if your app has many CPU intensive tasks causing the
* main thread to periodically lock-up, it's always recommended to try
* [Web Workers](https://stenciljs.com/docs/web-workers) for those tasks.
*
* - `async`: DOM read and writes are scheduled in the next frame to prevent layout thrashing.
* During intensive CPU tasks it will not reschedule rendering to happen in the next frame.
* `async` is ideal for most apps, and if the app has many intensive tasks causing the main
* thread to lock-up, it's recommended to try [Web Workers](https://stenciljs.com/docs/web-workers)
* rather than the congestion async queue.
*
* - `congestionAsync`: DOM reads and writes are scheduled in the next frame to prevent layout
* thrashing. When the app is heavily tasked and the queue becomes congested it will then
* split the work across multiple frames to prevent blocking the main thread. However, it can
* also introduce unnecessary reflows in some cases, especially during startup. `congestionAsync`
* is ideal for apps running animations while also simultaneously executing intensive tasks
* which may lock-up the main thread.
*
* - `immediate`: Makes writeTask() and readTask() callbacks to be executed synchronously. Tasks
* are not scheduled to run in the next frame, but do note there is at least one microtask.
* The `immediate` setting is ideal for apps that do not provide long running and smooth
* animations. Like the async setting, if the app has intensive tasks causing the main thread
* to lock-up, it's recommended to try [Web Workers](https://stenciljs.com/docs/web-workers).
*/
taskQueue?: 'async' | 'immediate' | 'congestionAsync';
/**
* Provide a object of key/values accessible within the app, using the `Env` object.
*/
env?: {
[prop: string]: string | undefined;
};
globalScript?: string;
srcIndexHtml?: string;
watch?: boolean;
testing?: TestingConfig;
maxConcurrentWorkers?: number;
preamble?: string;
rollupPlugins?: {
before?: any[];
after?: any[];
};
entryComponentsHint?: string[];
buildDist?: boolean;
buildLogFilePath?: string;
cacheDir?: string;
devInspector?: boolean;
devServer?: StencilDevServerConfig;
enableCacheStats?: boolean;
sys?: CompilerSystem;
tsconfig?: string;
validateTypes?: boolean;
/**
* An array of RegExp patterns that are matched against all source files before adding
* to the watch list in watch mode. If the file path matches any of the patterns, when it
* is updated, it will not trigger a re-run of tests.
*/
watchIgnoredRegex?: RegExp | RegExp[];
excludeUnusedDependencies?: boolean;
stencilCoreResolvedId?: string;
}
```
following the RollupCOnfig object we have:
```js
export interface RollupConfig {
inputOptions?: RollupInputOptions;
outputOptions?: RollupOutputOptions;
}
export interface RollupInputOptions {
context?: string;
moduleContext?: ((id: string) => string) | {
[id: string]: string;
};
treeshake?: boolean;
}
export interface RollupOutputOptions {
globals?: {
[name: string]: string;
} | ((name: string) => string);
}
```
which in the end, exposes the Externals Rollup API, so this might be useful eventually!Stencil bundles all external dependencies on its own. It creates challenges with the transpiled lib code and in the case on stencil libs importing stencil libs we presume it creates duplicate instances of supposedly Singleton objects.
So far we've been unable to override this issue and while it has not proved to be a problem, it still might.
To work around this, so far, for opendsu, we've created a script that deletes the importing lines from the code:
```js
function fixImports (){
const jsFiles = ['www/build/**/*.js']
return src(jsFiles)
.pipe(replace(/import(:?[^\{\}/]+? from)?\s?['"]opendsu['"];/g, function(match, p1, offset, string) {
console.log(`Found an OpenDSU import in Bundle '${match}'. Removing...`)
return ' '.repeat(match.length);
}))
.pipe(dest('www/build/'));
}
```
called by gulp.
as for the remaining, if it becomes a problem, we can follow Stencil Config object to reveal some undocumented features:
```js
export interface StencilConfig {
/**
* By default, Stencil will attempt to optimize small scripts by inlining them in HTML. Setting
* this flag to `false` will prevent this optimization and keep all scripts separate from HTML.
*/
allowInlineScripts?: boolean;
/**
* By setting `autoprefixCss` to `true`, Stencil will use the appropriate config to automatically
* prefix css. For example, developers can write modern and standard css properties, such as
* "transform", and Stencil will automatically add in the prefixed version, such as "-webkit-transform".
* As of Stencil v2, autoprefixing CSS is no longer the default.
* Defaults to `false`
*/
autoprefixCss?: boolean | any;
/**
* By default, Stencil will statically analyze the application and generate a component graph of
* how all the components are interconnected.
*
* From the component graph it is able to best decide how components should be grouped
* depending on their usage with one another within the app.
* By doing so it's able to bundle components together in order to reduce network requests.
* However, bundles can be manually generated using the bundles config.
*
* The bundles config is an array of objects that represent how components are grouped together
* in lazy-loaded bundles.
* This config is rarely needed as Stencil handles this automatically behind the scenes.
*/
bundles?: ConfigBundle[];
/**
* Stencil will cache build results in order to speed up rebuilds.
* To disable this feature, set enableCache to false.
*/
enableCache?: boolean;
/**
* Stencil is traditionally used to compile many components into an app,
* and each component comes with its own compartmentalized styles.
* However, it's still common to have styles which should be "global" across all components and the website.
* A global CSS file is often useful to set CSS Variables.
*
* Additionally, the globalStyle config can be used to precompile styles with Sass, PostCss, etc.
* Below is an example folder structure containing a webapp's global sass file, named app.css.
*/
globalStyle?: string;
/**
* When the hashFileNames config is set to true, and it is a production build,
* the hashedFileNameLength config is used to determine how many characters the file name's hash should be.
*/
hashedFileNameLength?: number;
/**
* During production builds, the content of each generated file is hashed to represent the content,
* and the hashed value is used as the filename. If the content isn't updated between builds,
* then it receives the same filename. When the content is updated, then the filename is different.
*
* By doing this, deployed apps can "forever-cache" the build directory and take full advantage of
* content delivery networks (CDNs) and heavily caching files for faster apps.
*/
hashFileNames?: boolean;
/**
* The namespace config is a string representing a namespace for the app.
* For apps that are not meant to be a library of reusable components,
* the default of App is just fine. However, if the app is meant to be consumed
* as a third-party library, such as Ionic, a unique namespace is required.
*/
namespace?: string;
/**
* Stencil is able to take an app's source and compile it to numerous targets,
* such as an app to be deployed on an http server, or as a third-party library
* to be distributed on npm. By default, Stencil apps have an output target type of www.
*
* The outputTargets config is an array of objects, with types of www and dist.
*/
outputTargets?: OutputTarget[];
/**
* The plugins config can be used to add your own rollup plugins.
* By default, Stencil does not come with Sass or PostCss support.
* However, either can be added using the plugin array.
*/
plugins?: any[];
/**
* Generate js source map files for all bundles
*/
sourceMap?: boolean;
/**
* The srcDir config specifies the directory which should contain the source typescript files
* for each component. The standard for Stencil apps is to use src, which is the default.
*/
srcDir?: string;
/**
* Passes custom configuration down to the "@rollup/plugin-commonjs" that Stencil uses under the hood.
* For further information: https://stenciljs.com/docs/module-bundling
*/
commonjs?: BundlingConfig;
/**
* Passes custom configuration down to the "@rollup/plugin-node-resolve" that Stencil uses under the hood.
* For further information: https://stenciljs.com/docs/module-bundling
*/
nodeResolve?: NodeResolveConfig;
/**
* Passes custom configuration down to rollup itself, not all rollup options can be overridden.
*/
rollupConfig?: RollupConfig; <-- THIS IS NOT DOCUMENTED!
/**
* Sets if the ES5 build should be generated or not. Stencil generates a modern build without ES5,
* whereas this setting to `true` will also create es5 builds for both dev and prod modes. Setting
* `buildEs5` to `prod` will only build ES5 in prod mode. Basically if the app does not need to run
* on legacy browsers (IE11 and Edge 18 and below), it's safe to not build ES5, which will also speed
* up build times. Defaults to `false`.
*/
buildEs5?: boolean | 'prod';
/**
* Sets if the JS browser files are minified or not. Stencil uses `terser` under the hood.
* Defaults to `false` in dev mode and `true` in production mode.
*/
minifyJs?: boolean;
/**
* Sets if the CSS is minified or not.
* Defaults to `false` in dev mode and `true` in production mode.
*/
minifyCss?: boolean;
/**
* Forces Stencil to run in `dev` mode if the value is `true` and `production` mode
* if it's `false`.
*
* Defaults to `false` (ie. production) unless the `--dev` flag is used in the CLI.
*/
devMode?: boolean;
/**
* Object to provide a custom logger. By default a `logger` is already provided for the
* platform the compiler is running on, such as NodeJS or a browser.
*/
logger?: Logger;
/**
* Config to add extra runtime for DOM features that require more polyfills. Note
* that not all DOM APIs are fully polyfilled when using the slot polyfill. These
* are opt-in since not all users will require the additional runtime.
*/
extras?: ConfigExtras;
/**
* The hydrated flag identifies if a component and all of its child components
* have finished hydrating. This helps prevent any flash of unstyled content (FOUC)
* as various components are asynchronously downloaded and rendered. By default it
* will add the `hydrated` CSS class to the element. The `hydratedFlag` config can be used
* to change the name of the CSS class, change it to an attribute, or change which
* type of CSS properties and values are assigned before and after hydrating. This config
* can also be used to not include the hydrated flag at all by setting it to `null`.
*/
hydratedFlag?: HydratedFlag;
/**
* Ionic prefers to hide all components prior to hydration with a style tag appended
* to the head of the document containing some `visibility: hidden;` css rules.
*
* Disabling this will remove the style tag that sets `visibility: hidden;` on all
* unhydrated web components. This more closely follows the HTML spec, and allows
* you to set your own fallback content.
*
*/
invisiblePrehydration?: boolean;
/**
* Sets the task queue used by stencil's runtime. The task queue schedules DOM read and writes
* across the frames to efficiently render and reduce layout thrashing. By default,
* `async` is used. It's recommended to also try each setting to decide which works
* best for your use-case. In all cases, if your app has many CPU intensive tasks causing the
* main thread to periodically lock-up, it's always recommended to try
* [Web Workers](https://stenciljs.com/docs/web-workers) for those tasks.
*
* - `async`: DOM read and writes are scheduled in the next frame to prevent layout thrashing.
* During intensive CPU tasks it will not reschedule rendering to happen in the next frame.
* `async` is ideal for most apps, and if the app has many intensive tasks causing the main
* thread to lock-up, it's recommended to try [Web Workers](https://stenciljs.com/docs/web-workers)
* rather than the congestion async queue.
*
* - `congestionAsync`: DOM reads and writes are scheduled in the next frame to prevent layout
* thrashing. When the app is heavily tasked and the queue becomes congested it will then
* split the work across multiple frames to prevent blocking the main thread. However, it can
* also introduce unnecessary reflows in some cases, especially during startup. `congestionAsync`
* is ideal for apps running animations while also simultaneously executing intensive tasks
* which may lock-up the main thread.
*
* - `immediate`: Makes writeTask() and readTask() callbacks to be executed synchronously. Tasks
* are not scheduled to run in the next frame, but do note there is at least one microtask.
* The `immediate` setting is ideal for apps that do not provide long running and smooth
* animations. Like the async setting, if the app has intensive tasks causing the main thread
* to lock-up, it's recommended to try [Web Workers](https://stenciljs.com/docs/web-workers).
*/
taskQueue?: 'async' | 'immediate' | 'congestionAsync';
/**
* Provide a object of key/values accessible within the app, using the `Env` object.
*/
env?: {
[prop: string]: string | undefined;
};
globalScript?: string;
srcIndexHtml?: string;
watch?: boolean;
testing?: TestingConfig;
maxConcurrentWorkers?: number;
preamble?: string;
rollupPlugins?: {
before?: any[];
after?: any[];
};
entryComponentsHint?: string[];
buildDist?: boolean;
buildLogFilePath?: string;
cacheDir?: string;
devInspector?: boolean;
devServer?: StencilDevServerConfig;
enableCacheStats?: boolean;
sys?: CompilerSystem;
tsconfig?: string;
validateTypes?: boolean;
/**
* An array of RegExp patterns that are matched against all source files before adding
* to the watch list in watch mode. If the file path matches any of the patterns, when it
* is updated, it will not trigger a re-run of tests.
*/
watchIgnoredRegex?: RegExp | RegExp[];
excludeUnusedDependencies?: boolean;
stencilCoreResolvedId?: string;
}
```
following the RollupCOnfig object we have:
```js
export interface RollupConfig {
inputOptions?: RollupInputOptions;
outputOptions?: RollupOutputOptions;
}
export interface RollupInputOptions {
context?: string;
moduleContext?: ((id: string) => string) | {
[id: string]: string;
};
treeshake?: boolean;
}
export interface RollupOutputOptions {
globals?: {
[name: string]: string;
} | ((name: string) => string);
}
```
which in the end, exposes the Externals Rollup API, so this might be useful eventually!Set up Glass Environmenthttps://gitlab.ubitech.eu/glass-project/wallet/glass-loader/-/issues/1Implement the Blueprint Loading functionality in Glass-loader2022-08-31T21:10:27+03:00Tiago VenceslauImplement the Blueprint Loading functionality in Glass-loaderNow the UI is going on stable, implement the DSU loader functionalities, (starting with register and login and login via pin) aligned with the UI flows envisionedNow the UI is going on stable, implement the DSU loader functionalities, (starting with register and login and login via pin) aligned with the UI flows envisionedVitor NogueiraVitor Nogueira