stimulus-rails 0.2.4 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +1 -1
  3. data/README.md +11 -22
  4. data/app/assets/javascripts/{stimulus/loaders/autoloader.js → stimulus-autoloader.js} +2 -2
  5. data/app/assets/javascripts/stimulus-importmap-autoloader.js +25 -0
  6. data/app/assets/javascripts/stimulus.js +1926 -0
  7. data/lib/generators/stimulus/USAGE +15 -0
  8. data/lib/generators/stimulus/stimulus_generator.rb +16 -0
  9. data/lib/generators/stimulus/templates/controller.js.tt +7 -0
  10. data/lib/install/app/javascript/controllers/application.js +10 -0
  11. data/lib/install/app/{assets/javascripts → javascript}/controllers/hello_controller.js +1 -1
  12. data/lib/install/app/javascript/controllers/index_for_importmap.js +5 -0
  13. data/lib/install/app/javascript/controllers/index_for_node.js +7 -0
  14. data/lib/install/stimulus_with_importmap.rb +19 -0
  15. data/lib/install/stimulus_with_node.rb +18 -0
  16. data/lib/stimulus/engine.rb +1 -17
  17. data/lib/stimulus/manifest.rb +27 -0
  18. data/lib/stimulus/version.rb +1 -1
  19. data/lib/tasks/stimulus_tasks.rake +32 -9
  20. metadata +21 -22
  21. data/app/assets/javascripts/stimulus/libraries/es-module-shims.js +0 -1
  22. data/app/assets/javascripts/stimulus/libraries/es-module-shims@0.7.1.js +0 -475
  23. data/app/assets/javascripts/stimulus/libraries/stimulus.js +0 -1
  24. data/app/assets/javascripts/stimulus/libraries/stimulus@2.js +0 -1699
  25. data/app/assets/javascripts/stimulus/manifest.js +0 -2
  26. data/app/helpers/stimulus/stimulus_helper.rb +0 -10
  27. data/lib/install/app/assets/javascripts/controllers/index.js +0 -9
  28. data/lib/install/app/assets/javascripts/importmap.json.erb +0 -5
  29. data/lib/install/application.js +0 -1
  30. data/lib/install/stimulus_with_asset_pipeline.rb +0 -23
  31. data/lib/install/stimulus_with_webpacker.rb +0 -10
  32. data/lib/stimulus/importmap_helper.rb +0 -33
@@ -1,475 +0,0 @@
1
- /* ES Module Shims 0.5.0 */
2
- (function () {
3
- 'use strict';
4
-
5
- const resolvedPromise = Promise.resolve();
6
-
7
- let baseUrl;
8
-
9
- function createBlob (source) {
10
- return URL.createObjectURL(new Blob([source], { type: 'application/javascript' }));
11
- }
12
-
13
- const hasDocument = typeof document !== 'undefined';
14
-
15
- // support browsers without dynamic import support (eg Firefox 6x)
16
- let dynamicImport;
17
- try {
18
- dynamicImport = (0, eval)('u=>import(u)');
19
- }
20
- catch (e) {
21
- if (hasDocument) {
22
- self.addEventListener('error', e => importShim.e = e.error);
23
- dynamicImport = blobUrl => {
24
- const topLevelBlobUrl = createBlob(
25
- `import*as m from'${blobUrl}';self.importShim.l=m;self.importShim.e=null`
26
- );
27
- const s = document.createElement('script');
28
- s.type = 'module';
29
- s.src = topLevelBlobUrl;
30
- document.head.appendChild(s);
31
- return new Promise((resolve, reject) => {
32
- s.addEventListener('load', () => {
33
- document.head.removeChild(s);
34
- importShim.e ? reject(importShim.e) : resolve(importShim.l, baseUrl);
35
- });
36
- });
37
- };
38
- }
39
- }
40
-
41
- if (hasDocument) {
42
- const baseEl = document.querySelector('base[href]');
43
- if (baseEl)
44
- baseUrl = baseEl.href;
45
- }
46
-
47
- if (!baseUrl && typeof location !== 'undefined') {
48
- baseUrl = location.href.split('#')[0].split('?')[0];
49
- const lastSepIndex = baseUrl.lastIndexOf('/');
50
- if (lastSepIndex !== -1)
51
- baseUrl = baseUrl.slice(0, lastSepIndex + 1);
52
- }
53
-
54
- let esModuleShimsSrc;
55
- if (hasDocument) {
56
- esModuleShimsSrc = document.currentScript && document.currentScript.src;
57
- }
58
-
59
- const backslashRegEx = /\\/g;
60
- function resolveIfNotPlainOrUrl (relUrl, parentUrl) {
61
- // strip off any trailing query params or hashes
62
- parentUrl = parentUrl && parentUrl.split('#')[0].split('?')[0];
63
- if (relUrl.indexOf('\\') !== -1)
64
- relUrl = relUrl.replace(backslashRegEx, '/');
65
- // protocol-relative
66
- if (relUrl[0] === '/' && relUrl[1] === '/') {
67
- return parentUrl.slice(0, parentUrl.indexOf(':') + 1) + relUrl;
68
- }
69
- // relative-url
70
- else if (relUrl[0] === '.' && (relUrl[1] === '/' || relUrl[1] === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) ||
71
- relUrl.length === 1 && (relUrl += '/')) ||
72
- relUrl[0] === '/') {
73
- const parentProtocol = parentUrl.slice(0, parentUrl.indexOf(':') + 1);
74
- // Disabled, but these cases will give inconsistent results for deep backtracking
75
- //if (parentUrl[parentProtocol.length] !== '/')
76
- // throw new Error('Cannot resolve');
77
- // read pathname from parent URL
78
- // pathname taken to be part after leading "/"
79
- let pathname;
80
- if (parentUrl[parentProtocol.length + 1] === '/') {
81
- // resolving to a :// so we need to read out the auth and host
82
- if (parentProtocol !== 'file:') {
83
- pathname = parentUrl.slice(parentProtocol.length + 2);
84
- pathname = pathname.slice(pathname.indexOf('/') + 1);
85
- }
86
- else {
87
- pathname = parentUrl.slice(8);
88
- }
89
- }
90
- else {
91
- // resolving to :/ so pathname is the /... part
92
- pathname = parentUrl.slice(parentProtocol.length + (parentUrl[parentProtocol.length] === '/'));
93
- }
94
-
95
- if (relUrl[0] === '/')
96
- return parentUrl.slice(0, parentUrl.length - pathname.length - 1) + relUrl;
97
-
98
- // join together and split for removal of .. and . segments
99
- // looping the string instead of anything fancy for perf reasons
100
- // '../../../../../z' resolved to 'x/y' is just 'z'
101
- const segmented = pathname.slice(0, pathname.lastIndexOf('/') + 1) + relUrl;
102
-
103
- const output = [];
104
- let segmentIndex = -1;
105
- for (let i = 0; i < segmented.length; i++) {
106
- // busy reading a segment - only terminate on '/'
107
- if (segmentIndex !== -1) {
108
- if (segmented[i] === '/') {
109
- output.push(segmented.slice(segmentIndex, i + 1));
110
- segmentIndex = -1;
111
- }
112
- }
113
-
114
- // new segment - check if it is relative
115
- else if (segmented[i] === '.') {
116
- // ../ segment
117
- if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) {
118
- output.pop();
119
- i += 2;
120
- }
121
- // ./ segment
122
- else if (segmented[i + 1] === '/' || i + 1 === segmented.length) {
123
- i += 1;
124
- }
125
- else {
126
- // the start of a new segment as below
127
- segmentIndex = i;
128
- }
129
- }
130
- // it is the start of a new segment
131
- else {
132
- segmentIndex = i;
133
- }
134
- }
135
- // finish reading out the last segment
136
- if (segmentIndex !== -1)
137
- output.push(segmented.slice(segmentIndex));
138
- return parentUrl.slice(0, parentUrl.length - pathname.length) + output.join('');
139
- }
140
- }
141
-
142
- /*
143
- * Import maps implementation
144
- *
145
- * To make lookups fast we pre-resolve the entire import map
146
- * and then match based on backtracked hash lookups
147
- *
148
- */
149
- function resolveUrl (relUrl, parentUrl) {
150
- return resolveIfNotPlainOrUrl(relUrl, parentUrl) || (relUrl.indexOf(':') !== -1 ? relUrl : resolveIfNotPlainOrUrl('./' + relUrl, parentUrl));
151
- }
152
-
153
- function resolveAndComposePackages (packages, outPackages, baseUrl, parentMap) {
154
- for (let p in packages) {
155
- const resolvedLhs = resolveIfNotPlainOrUrl(p, baseUrl) || p;
156
- let target = packages[p];
157
- if (typeof target !== 'string')
158
- continue;
159
- const mapped = resolveImportMap(parentMap, resolveIfNotPlainOrUrl(target, baseUrl) || target, baseUrl);
160
- if (mapped) {
161
- outPackages[resolvedLhs] = mapped;
162
- continue;
163
- }
164
- targetWarning(p, packages[p], 'bare specifier did not resolve');
165
- }
166
- }
167
-
168
- function resolveAndComposeImportMap (json, baseUrl, parentMap) {
169
- const outMap = { imports: Object.assign({}, parentMap.imports), scopes: Object.assign({}, parentMap.scopes), depcache: Object.assign({}, parentMap.depcache) };
170
-
171
- if (json.imports)
172
- resolveAndComposePackages(json.imports, outMap.imports, baseUrl, parentMap,);
173
-
174
- if (json.scopes)
175
- for (let s in json.scopes) {
176
- const resolvedScope = resolveUrl(s, baseUrl);
177
- resolveAndComposePackages(json.scopes[s], outMap.scopes[resolvedScope] || (outMap.scopes[resolvedScope] = {}), baseUrl, parentMap);
178
- }
179
-
180
- if (json.depcache)
181
- for (let d in json.depcache) {
182
- const resolvedDepcache = resolveUrl(d, baseUrl);
183
- outMap.depcache[resolvedDepcache] = json.depcache[d];
184
- }
185
-
186
- return outMap;
187
- }
188
-
189
- function getMatch (path, matchObj) {
190
- if (matchObj[path])
191
- return path;
192
- let sepIndex = path.length;
193
- do {
194
- const segment = path.slice(0, sepIndex + 1);
195
- if (segment in matchObj)
196
- return segment;
197
- } while ((sepIndex = path.lastIndexOf('/', sepIndex - 1)) !== -1)
198
- }
199
-
200
- function applyPackages (id, packages) {
201
- const pkgName = getMatch(id, packages);
202
- if (pkgName) {
203
- const pkg = packages[pkgName];
204
- if (pkg === null) return;
205
- if (id.length > pkgName.length && pkg[pkg.length - 1] !== '/')
206
- targetWarning(pkgName, pkg, "should have a trailing '/'");
207
- else
208
- return pkg + id.slice(pkgName.length);
209
- }
210
- }
211
-
212
- function targetWarning (match, target, msg) {
213
- console.warn("Package target " + msg + ", resolving target '" + target + "' for " + match);
214
- }
215
-
216
- function resolveImportMap (importMap, resolvedOrPlain, parentUrl) {
217
- let scopeUrl = parentUrl && getMatch(parentUrl, importMap.scopes);
218
- while (scopeUrl) {
219
- const packageResolution = applyPackages(resolvedOrPlain, importMap.scopes[scopeUrl]);
220
- if (packageResolution)
221
- return packageResolution;
222
- scopeUrl = getMatch(scopeUrl.slice(0, scopeUrl.lastIndexOf('/')), importMap.scopes);
223
- }
224
- return applyPackages(resolvedOrPlain, importMap.imports) || resolvedOrPlain.indexOf(':') !== -1 && resolvedOrPlain;
225
- }
226
-
227
- /* es-module-lexer 0.3.26 */
228
- const A=1===new Uint8Array(new Uint16Array([1]).buffer)[0];function parse(E,g="@"){if(!B)return init.then(()=>parse(E));const I=E.length+1,D=(B.__heap_base.value||B.__heap_base)+4*I-B.memory.buffer.byteLength;D>0&&B.memory.grow(Math.ceil(D/65536));const w=B.sa(I-1);if((A?C:Q)(E,new Uint16Array(B.memory.buffer,w,I)),!B.parse())throw Object.assign(new Error(`Parse error ${g}:${E.slice(0,B.e()).split("\n").length}:${B.e()-E.lastIndexOf("\n",B.e()-1)}`),{idx:B.e()});const L=[],k=[];for(;B.ri();)L.push({s:B.is(),e:B.ie(),ss:B.ss(),se:B.se(),d:B.id()});for(;B.re();)k.push(E.slice(B.es(),B.ee()));return [L,k,!!B.f()]}function Q(A,Q){const C=A.length;let B=0;for(;B<C;){const C=A.charCodeAt(B);Q[B++]=(255&C)<<8|C>>>8;}}function C(A,Q){const C=A.length;let B=0;for(;B<C;)Q[B]=A.charCodeAt(B++);}let B;const init=WebAssembly.compile((E="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","function"==typeof atob?Uint8Array.from(atob(E),A=>A.charCodeAt(0)):Buffer.from(E,"base64"))).then(WebAssembly.instantiate).then(({exports:A})=>{B=A;});var E;
229
-
230
- let id = 0;
231
- const registry = {};
232
-
233
- async function loadAll (load, seen) {
234
- if (load.b || seen[load.u])
235
- return;
236
- seen[load.u] = 1;
237
- await load.L;
238
- return Promise.all(load.d.map(dep => loadAll(dep, seen)));
239
- }
240
-
241
- let waitingForImportMapsInterval;
242
- let firstTopLevelProcess = true;
243
- async function topLevelLoad (url, source) {
244
- if (waitingForImportMapsInterval > 0) {
245
- clearTimeout(waitingForImportMapsInterval);
246
- waitingForImportMapsInterval = 0;
247
- }
248
- if (firstTopLevelProcess) {
249
- firstTopLevelProcess = false;
250
- processScripts();
251
- }
252
- await importMapPromise;
253
- await init;
254
- const load = getOrCreateLoad(url, source);
255
- const seen = {};
256
- await loadAll(load, seen);
257
- lastLoad = undefined;
258
- resolveDeps(load, seen);
259
- const module = await dynamicImport(load.b);
260
- // if the top-level load is a shell, run its update function
261
- if (load.s)
262
- (await dynamicImport(load.s)).u$_(module);
263
- return module;
264
- }
265
-
266
- async function importShim$1 (id, parentUrl) {
267
- return topLevelLoad(resolve(id, parentUrl || baseUrl));
268
- }
269
-
270
- self.importShim = importShim$1;
271
-
272
- const meta = {};
273
-
274
- const edge = navigator.userAgent.match(/Edge\/\d\d\.\d+$/);
275
-
276
- async function importMetaResolve (id, parentUrl = this.url) {
277
- await importMapPromise;
278
- return resolve(id, `${parentUrl}`);
279
- }
280
-
281
- Object.defineProperties(importShim$1, {
282
- m: { value: meta },
283
- l: { value: undefined, writable: true },
284
- e: { value: undefined, writable: true }
285
- });
286
- importShim$1.fetch = url => fetch(url);
287
- importShim$1.skip = /^https?:\/\/(cdn\.pika\.dev|dev\.jspm\.io|jspm\.dev)\//;
288
- importShim$1.load = processScripts;
289
- importShim$1.onerror = (e) => {
290
- throw e;
291
- };
292
-
293
- let lastLoad;
294
- function resolveDeps (load, seen) {
295
- if (load.b || !seen[load.u])
296
- return;
297
- seen[load.u] = 0;
298
-
299
- for (const dep of load.d)
300
- resolveDeps(dep, seen);
301
-
302
- // "execution"
303
- const source = load.S;
304
- // edge doesnt execute sibling in order, so we fix this up by ensuring all previous executions are explicit dependencies
305
- let resolvedSource = edge && lastLoad ? `import '${lastLoad}';` : '';
306
-
307
- const [imports] = load.a;
308
-
309
- if (!imports.length) {
310
- resolvedSource += source;
311
- }
312
- else {
313
- // once all deps have loaded we can inline the dependency resolution blobs
314
- // and define this blob
315
- let lastIndex = 0, depIndex = 0;
316
- for (const { s: start, e: end, d: dynamicImportIndex } of imports) {
317
- // dependency source replacements
318
- if (dynamicImportIndex === -1) {
319
- const depLoad = load.d[depIndex++];
320
- let blobUrl = depLoad.b;
321
- if (!blobUrl) {
322
- // circular shell creation
323
- if (!(blobUrl = depLoad.s)) {
324
- blobUrl = depLoad.s = createBlob(`export function u$_(m){${
325
- depLoad.a[1].map(
326
- name => name === 'default' ? `$_default=m.default` : `${name}=m.${name}`
327
- ).join(',')
328
- }}${
329
- depLoad.a[1].map(name =>
330
- name === 'default' ? `let $_default;export{$_default as default}` : `export let ${name}`
331
- ).join(';')
332
- }\n//# sourceURL=${depLoad.r}?cycle`);
333
- }
334
- }
335
- // circular shell execution
336
- else if (depLoad.s) {
337
- resolvedSource += source.slice(lastIndex, start - 1) + '/*' + source.slice(start - 1, end + 1) + '*/' + source.slice(start - 1, start) + blobUrl + source[end] + `;import*as m$_${depIndex} from'${depLoad.b}';import{u$_ as u$_${depIndex}}from'${depLoad.s}';u$_${depIndex}(m$_${depIndex})`;
338
- lastIndex = end + 1;
339
- depLoad.s = undefined;
340
- continue;
341
- }
342
- resolvedSource += source.slice(lastIndex, start - 1) + '/*' + source.slice(start - 1, end + 1) + '*/' + source.slice(start - 1, start) + blobUrl;
343
- lastIndex = end;
344
- }
345
- // import.meta
346
- else if (dynamicImportIndex === -2) {
347
- meta[load.r] = { url: load.r, resolve: importMetaResolve };
348
- resolvedSource += source.slice(lastIndex, start) + 'importShim.m[' + JSON.stringify(load.r) + ']';
349
- lastIndex = end;
350
- }
351
- // dynamic import
352
- else {
353
- resolvedSource += source.slice(lastIndex, dynamicImportIndex + 6) + 'Shim(' + source.slice(start, end) + ', ' + JSON.stringify(load.r);
354
- lastIndex = end;
355
- }
356
- }
357
-
358
- resolvedSource += source.slice(lastIndex);
359
- }
360
-
361
- let sourceMappingResolved = '';
362
- const sourceMappingIndex = resolvedSource.lastIndexOf('//# sourceMappingURL=');
363
- if (sourceMappingIndex > -1) {
364
- const sourceMappingEnd = resolvedSource.indexOf('\n',sourceMappingIndex);
365
- const sourceMapping = resolvedSource.slice(sourceMappingIndex, sourceMappingEnd > -1 ? sourceMappingEnd : undefined);
366
- sourceMappingResolved = `\n//# sourceMappingURL=` + resolveUrl(sourceMapping.slice(21), load.r);
367
- }
368
- load.b = lastLoad = createBlob(resolvedSource + sourceMappingResolved + '\n//# sourceURL=' + load.r);
369
- load.S = undefined;
370
- }
371
-
372
- function getOrCreateLoad (url, source) {
373
- let load = registry[url];
374
- if (load)
375
- return load;
376
-
377
- load = registry[url] = {
378
- // url
379
- u: url,
380
- // response url
381
- r: undefined,
382
- // fetchPromise
383
- f: undefined,
384
- // source
385
- S: undefined,
386
- // linkPromise
387
- L: undefined,
388
- // analysis
389
- a: undefined,
390
- // deps
391
- d: undefined,
392
- // blobUrl
393
- b: undefined,
394
- // shellUrl
395
- s: undefined,
396
- };
397
-
398
- const depcache = importMap.depcache[url];
399
- if (depcache)
400
- depcache.forEach(depUrl => getOrCreateLoad(resolve(depUrl, url)));
401
-
402
- load.f = (async () => {
403
- if (!source) {
404
- const res = await importShim$1.fetch(url);
405
- if (!res.ok)
406
- throw new Error(`${res.status} ${res.statusText} ${res.url}`);
407
- load.r = res.url;
408
- const contentType = res.headers.get('content-type');
409
- if (contentType.match(/^(text|application)\/(x-)?javascript(;|$)/))
410
- source = await res.text();
411
- else
412
- throw new Error(`Unknown Content-Type "${contentType}"`);
413
- }
414
- try {
415
- load.a = parse(source, load.u);
416
- }
417
- catch (e) {
418
- console.warn(e);
419
- load.a = [[], []];
420
- }
421
- load.S = source;
422
- return load.a[0].filter(d => d.d === -1).map(d => source.slice(d.s, d.e));
423
- })();
424
-
425
- load.L = load.f.then(async deps => {
426
- load.d = await Promise.all(deps.map(async depId => {
427
- const resolved = resolve(depId, load.r || load.u);
428
- if (importShim$1.skip.test(resolved))
429
- return { b: resolved };
430
- const depLoad = getOrCreateLoad(resolved);
431
- await depLoad.f;
432
- return depLoad;
433
- }));
434
- });
435
-
436
- return load;
437
- }
438
-
439
- let importMap = { imports: {}, scopes: {}, depcache: {} };
440
- let importMapPromise = resolvedPromise;
441
-
442
- if (hasDocument) {
443
- processScripts();
444
- waitingForImportMapsInterval = setInterval(processScripts, 20);
445
- }
446
-
447
- async function processScripts () {
448
- if (waitingForImportMapsInterval > 0 && document.readyState !== 'loading') {
449
- clearTimeout(waitingForImportMapsInterval);
450
- waitingForImportMapsInterval = 0;
451
- }
452
- for (const script of document.querySelectorAll('script[type="module-shim"],script[type="importmap-shim"]')) {
453
- if (script.ep) // ep marker = script processed
454
- return;
455
- if (script.type === 'module-shim') {
456
- await topLevelLoad(script.src || `${baseUrl}?${id++}`, !script.src && script.innerHTML).catch(e => importShim$1.onerror(e));
457
- }
458
- else {
459
- importMapPromise = importMapPromise.then(async () =>
460
- importMap = resolveAndComposeImportMap(script.src ? await (await fetch(script.src)).json() : JSON.parse(script.innerHTML), script.src || baseUrl, importMap)
461
- );
462
- }
463
- script.ep = true;
464
- }
465
- }
466
-
467
- function resolve (id, parentUrl) {
468
- return resolveImportMap(importMap, resolveIfNotPlainOrUrl(id, parentUrl) || id, parentUrl) || throwUnresolved(id, parentUrl);
469
- }
470
-
471
- function throwUnresolved (id, parentUrl) {
472
- throw Error("Unable to resolve specifier '" + id + (parentUrl ? "' from " + parentUrl : "'"));
473
- }
474
-
475
- }());
@@ -1 +0,0 @@
1
- //= require ./stimulus@2.js