Let's assume we have autotracking chain implementation. In general, we could be able to mark "accessed" properties, we could introduce "addToChain" function with 2 arguments,
1.) object (context) 2.) property we trying to access (on object)
like:
// @ts-check | |
const fs = require('fs'); | |
const path = require('path'); | |
const os = require('os'); | |
var { spawn } = require('child_process'); | |
const systemCpuCores = os.cpus(); | |
const pathToArtifacts = path.join(__dirname, '..', 'build', 'assets'); | |
const processes = systemCpuCores.length > 1 ? systemCpuCores.length - 1 : 1; |
import path from 'path'; | |
import os from 'os'; | |
import fs from 'fs-extra'; | |
// https://github.com/embroider-build/embroider/blob/main/PORTING-ADDONS-TO-V2.md | |
async function migrate(entry) { | |
const { default: walkSync } = await import('walk-sync'); | |
const files = () => walkSync(entry, { | |
ignore: [ | |
'.git', |
// A launch configuration that compiles the extension and then opens it inside a new window | |
{ | |
"version": "0.1.0", | |
"configurations": [ | |
{ | |
"name": "Attach by Process ID", | |
"processId": "${command:PickProcess}", | |
"request": "attach", | |
"resolveSourceMapLocations": null, | |
"sourceMaps": true, |
import Controller from '@ember/controller'; | |
import { htmlSafe } from '@ember/template'; | |
export default class ApplicationController extends Controller { | |
appName = htmlSafe('Ember <br> Twiddle'); | |
} |
'use strict'; | |
// eslint-disable-next-line node/no-extraneous-require | |
const { MergeTrees } = require('broccoli-merge-trees'); | |
// eslint-disable-next-line node/no-extraneous-require | |
const Plugin = require('broccoli-plugin'); | |
const fs = require('fs'); | |
const path = require('path'); | |
class ChunksWriter extends Plugin { |
import Controller from '@ember/controller'; | |
import { tracked } from '@glimmer/tracking'; | |
import { getOwner } from '@ember/application'; | |
import { cached } from 'tracked-toolbox'; | |
import { scheduleOnce } from '@ember/runloop'; | |
const Observers = []; | |
class BasicObserver { | |
tags = []; | |
cb = null; |
async function request() { | |
const PromiseState = new WeakMap(); | |
const resolveTimers = new Array(10).fill(null).map(() => Math.random() * 10000); | |
const rejectTImers = new Array(10).fill(null).map(() => Math.random() * 10000); | |
const promiseArgs = resolveTimers.map((_, i) => [resolveTimers[i], rejectTImers[i]]); | |
let promises = promiseArgs.map(([resolveTimeout, rejectTimeout]) => { |
Let's assume we have autotracking chain implementation. In general, we could be able to mark "accessed" properties, we could introduce "addToChain" function with 2 arguments,
1.) object (context) 2.) property we trying to access (on object)
like:
{ | |
"version":"0.1.0", | |
"configurations":[ | |
{ | |
"name": "Launch Tests", | |
"type": "extensionHost", | |
"request": "launch", | |
"runtimeExecutable": "${execPath}", | |
"args": [ | |
"--extensionDevelopmentPath=${workspaceRoot}", |
const stew = require('broccoli-stew'); | |
const themeName = process.env.EMBER_THEME || 'default'; | |
module.exports = { | |
_registers: [], | |
setupPreprocessorRegistry(type, registry, isFinal = false) { | |
if (themeName === 'default') { | |
return; |