Skip to content

Commit 8f30c88

Browse files
committed
chore: rework setup in tester-app to support typing
1 parent 7868bdb commit 8f30c88

2 files changed

Lines changed: 91 additions & 86 deletions

File tree

apps/tester-app/index.js

Lines changed: 2 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,8 @@
1-
import { Script, ScriptManager } from '@callstack/repack/client';
21
import { AppRegistry } from 'react-native';
32
import { name as appName } from './app.json';
43
import App from './src/App';
54

6-
if (!__DEV__) {
7-
ScriptManager.shared.setStorage(AsyncStorage);
8-
}
9-
10-
ScriptManager.shared.addResolver((scriptId, _caller) => {
11-
if (__DEV__) {
12-
return {
13-
url: Script.getDevServerURL(scriptId),
14-
cache: false,
15-
};
16-
}
17-
18-
if (scriptId.includes('local')) {
19-
return {
20-
url: Script.getFileSystemURL(scriptId),
21-
cache: false,
22-
};
23-
}
24-
25-
return {
26-
url: Script.getRemoteURL(`http://localhost:9999/${scriptId}`),
27-
};
28-
});
29-
30-
// ScriptManager Event Listeners
31-
// Run `react-native start --verbose` to see these logs
32-
ScriptManager.shared.on('resolving', (...args) => {
33-
console.debug('ScriptManagerEvent:resolving', ...args);
34-
});
35-
36-
ScriptManager.shared.on('resolved', (...args) => {
37-
console.debug('ScriptManagerEvent:resolved', ...args);
38-
});
39-
40-
ScriptManager.shared.on('prefetching', (...args) => {
41-
console.debug('ScriptManagerEvent:prefetching', ...args);
42-
});
43-
44-
ScriptManager.shared.on('loading', (...args) => {
45-
console.debug('ScriptManagerEvent:loading', ...args);
46-
});
47-
48-
ScriptManager.shared.on('loaded', (...args) => {
49-
console.debug('ScriptManagerEvent:loaded', ...args);
50-
});
51-
52-
ScriptManager.shared.on('error', (...args) => {
53-
console.debug('ScriptManagerEvent:error', ...args);
54-
});
55-
56-
// ScriptManager Hooks
57-
// Run `react-native start --verbose` to see these logs
58-
ScriptManager.shared.hooks.beforeResolve((args) => {
59-
console.debug('ScriptManager.shared.hooks.beforeResolve', args);
60-
return args;
61-
});
62-
63-
ScriptManager.shared.hooks.resolve(async (args) => {
64-
console.debug('ScriptManager.shared.hooks.resolve', args);
65-
const { scriptId, caller, referenceUrl } = args.options;
66-
for (const [, , resolve] of args.resolvers) {
67-
const locator = await resolve(scriptId, caller, referenceUrl);
68-
if (locator) return locator;
69-
}
70-
});
71-
72-
ScriptManager.shared.hooks.afterResolve((args) => {
73-
console.debug('ScriptManager.shared.hooks.afterResolve', args);
74-
return args;
75-
});
76-
77-
ScriptManager.shared.hooks.beforeLoad((args) => {
78-
console.debug('ScriptManager.shared.hooks.beforeLoad', args);
79-
return args;
80-
});
81-
82-
ScriptManager.shared.hooks.load(async (args) => {
83-
console.debug('ScriptManager.shared.hooks.load', args);
84-
await args.loadScript();
85-
});
86-
87-
ScriptManager.shared.hooks.afterLoad((args) => {
88-
console.debug('ScriptManager.shared.hooks.afterLoad', args);
89-
return args;
90-
});
5+
// ScriptManager setup
6+
import './src/setup';
917

928
AppRegistry.registerComponent(appName, () => App);

apps/tester-app/src/setup.ts

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
import { Script, ScriptManager } from '@callstack/repack/client';
2+
import AsyncStorage from '@react-native-async-storage/async-storage';
3+
4+
if (!__DEV__) {
5+
ScriptManager.shared.setStorage(AsyncStorage);
6+
}
7+
8+
ScriptManager.shared.addResolver(async (scriptId, _caller) => {
9+
if (__DEV__) {
10+
return {
11+
url: Script.getDevServerURL(scriptId),
12+
cache: false,
13+
};
14+
}
15+
16+
if (scriptId.includes('local')) {
17+
return {
18+
url: Script.getFileSystemURL(scriptId),
19+
cache: false,
20+
};
21+
}
22+
23+
return {
24+
url: Script.getRemoteURL(`http://localhost:9999/${scriptId}`),
25+
};
26+
});
27+
28+
// ScriptManager Event Listeners
29+
// Run `react-native start --verbose` to see these logs
30+
ScriptManager.shared.on('resolving', (...args) => {
31+
console.debug('ScriptManagerEvent:resolving', ...args);
32+
});
33+
34+
ScriptManager.shared.on('resolved', (...args) => {
35+
console.debug('ScriptManagerEvent:resolved', ...args);
36+
});
37+
38+
ScriptManager.shared.on('prefetching', (...args) => {
39+
console.debug('ScriptManagerEvent:prefetching', ...args);
40+
});
41+
42+
ScriptManager.shared.on('loading', (...args) => {
43+
console.debug('ScriptManagerEvent:loading', ...args);
44+
});
45+
46+
ScriptManager.shared.on('loaded', (...args) => {
47+
console.debug('ScriptManagerEvent:loaded', ...args);
48+
});
49+
50+
ScriptManager.shared.on('error', (...args) => {
51+
console.debug('ScriptManagerEvent:error', ...args);
52+
});
53+
54+
// ScriptManager Hooks
55+
// Run `react-native start --verbose` to see these logs
56+
ScriptManager.shared.hooks.beforeResolve(async (args) => {
57+
console.debug('ScriptManager.shared.hooks.beforeResolve', args);
58+
return args;
59+
});
60+
61+
ScriptManager.shared.hooks.resolve(async (args) => {
62+
console.debug('ScriptManager.shared.hooks.resolve', args);
63+
const { scriptId, caller, referenceUrl } = args.options;
64+
for (const [, , resolve] of args.resolvers) {
65+
const locator = await resolve(scriptId, caller, referenceUrl);
66+
if (locator) return locator;
67+
}
68+
});
69+
70+
ScriptManager.shared.hooks.afterResolve(async (args) => {
71+
console.debug('ScriptManager.shared.hooks.afterResolve', args);
72+
return args;
73+
});
74+
75+
ScriptManager.shared.hooks.beforeLoad(async (args) => {
76+
console.debug('ScriptManager.shared.hooks.beforeLoad', args);
77+
return args;
78+
});
79+
80+
ScriptManager.shared.hooks.load(async (args) => {
81+
console.debug('ScriptManager.shared.hooks.load', args);
82+
await args.loadScript();
83+
return true;
84+
});
85+
86+
ScriptManager.shared.hooks.afterLoad(async (args) => {
87+
console.debug('ScriptManager.shared.hooks.afterLoad', args);
88+
return args;
89+
});

0 commit comments

Comments
 (0)