proscenium 0.1.0.alpha4-x86_64-darwin → 0.1.2-x86_64-darwin
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/esbuild +0 -0
- data/lib/proscenium/compilers/esbuild/argument_error.js +2 -0
- data/lib/proscenium/compilers/esbuild/css_plugin.js +3 -7
- data/lib/proscenium/compilers/esbuild.js +14 -5
- data/lib/proscenium/middleware/esbuild.rb +11 -1
- data/lib/proscenium/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad7315e0b0349ce11b5629c744808ce9a80050a32eb942bf2572e38a534b9fa9
|
4
|
+
data.tar.gz: e93884817dea84e7251a0660d6d2ba650a7643c3e81f7787885e4ea13a904c02
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 57badd536fa32f94881fa5e02e9115510ffa1397d6425fe2ffb4438505c6eb042a8ceb87cea336939ba6972b9bcf08aab8172b7662026e964c071d0de9efd456
|
7
|
+
data.tar.gz: 895b1138be200a6fb6a824309d2091d64e11d90ccc12fcb039aa91db73fe633123220cdf5f4a062490d34febe0bea47a743b797bcee77d463e215878464792be
|
data/bin/esbuild
CHANGED
Binary file
|
@@ -1,6 +1,8 @@
|
|
1
1
|
export default class ArgumentError extends Error {
|
2
2
|
static MESSAGES = {
|
3
3
|
rootRequired: 'Current working directory is required as --root.',
|
4
|
+
lightningcssBinRequired:
|
5
|
+
'Path to the lightningcss CLI binary is required as --lightningcss-bin.',
|
4
6
|
pathsRequired: 'One or more file paths or globs are required.',
|
5
7
|
|
6
8
|
rootUnknown: ({ root }) => `A valid working directory is required - received ${root}`
|
@@ -1,16 +1,12 @@
|
|
1
1
|
import { crypto } from 'std/crypto/mod.ts'
|
2
|
-
import { join,
|
2
|
+
import { join, dirname, basename } from 'std/path/mod.ts'
|
3
3
|
|
4
4
|
import { fileExists } from '../../utils.js'
|
5
5
|
import postcss from './css/postcss.js'
|
6
6
|
import setup from './setup_plugin.js'
|
7
7
|
|
8
|
-
export default setup('css', async build => {
|
8
|
+
export default setup('css', async (build, options) => {
|
9
9
|
const cwd = build.initialOptions.absWorkingDir
|
10
|
-
const lightningcssBin = resolve(
|
11
|
-
dirname(fromFileUrl(import.meta.url)),
|
12
|
-
'../../../../bin/lightningcss'
|
13
|
-
)
|
14
10
|
|
15
11
|
let customMedia
|
16
12
|
try {
|
@@ -40,7 +36,7 @@ export default setup('css', async build => {
|
|
40
36
|
}
|
41
37
|
|
42
38
|
let cmd = [
|
43
|
-
lightningcssBin,
|
39
|
+
options.lightningcssBin,
|
44
40
|
'--nesting',
|
45
41
|
'--error-recovery',
|
46
42
|
args.pluginData?.importedFromJs && '--minify',
|
@@ -31,6 +31,8 @@ import throwCompileError from './esbuild/compile_error.js'
|
|
31
31
|
* take place.
|
32
32
|
* --import-map
|
33
33
|
* Path to an import map, relative to the <root>.
|
34
|
+
* --lightningcss-bin
|
35
|
+
* Path to the lightningcss CLI binary.
|
34
36
|
* --write
|
35
37
|
* Write output to the filesystem according to esbuild logic.
|
36
38
|
* --debug
|
@@ -40,10 +42,11 @@ if (import.meta.main) {
|
|
40
42
|
!Deno.env.get('RAILS_ENV') && Deno.env.set('RAILS_ENV', 'development')
|
41
43
|
|
42
44
|
const { _: paths, ...options } = parseArgs(Deno.args, {
|
43
|
-
string: ['root', 'import-map'],
|
45
|
+
string: ['root', 'import-map', 'lightningcss-bin'],
|
44
46
|
boolean: ['write', 'debug'],
|
45
47
|
alias: {
|
46
|
-
'import-map': 'importMap'
|
48
|
+
'import-map': 'importMap',
|
49
|
+
'lightningcss-bin': 'lightningcssBin'
|
47
50
|
}
|
48
51
|
})
|
49
52
|
|
@@ -62,6 +65,7 @@ async function main(paths = [], options = {}) {
|
|
62
65
|
|
63
66
|
if (!Array.isArray(paths) || paths.length < 1) throw new ArgumentError('pathsRequired')
|
64
67
|
if (!options.root) throw new ArgumentError('rootRequired')
|
68
|
+
if (!options.lightningcssBin) throw new ArgumentError('lightningcssBinRequired')
|
65
69
|
|
66
70
|
const root = resolve(options.root)
|
67
71
|
|
@@ -117,13 +121,17 @@ async function main(paths = [], options = {}) {
|
|
117
121
|
jsxDev: !isTest && !isProd,
|
118
122
|
minify: isProd,
|
119
123
|
bundle: true,
|
120
|
-
plugins: [
|
124
|
+
plugins: [
|
125
|
+
envPlugin(),
|
126
|
+
resolvePlugin({ runtimeDir, importMap, debug }),
|
127
|
+
cssPlugin({ lightningcssBin: options.lightningcssBin, debug })
|
128
|
+
],
|
121
129
|
metafile: write,
|
122
130
|
write
|
123
131
|
}
|
124
132
|
|
125
133
|
if (!debug) {
|
126
|
-
params.sourcemap = isTest ? false :
|
134
|
+
params.sourcemap = isProd || isTest ? false : 'inline'
|
127
135
|
}
|
128
136
|
|
129
137
|
let result
|
@@ -142,7 +150,8 @@ async function main(paths = [], options = {}) {
|
|
142
150
|
if (write) {
|
143
151
|
return new TextEncoder().encode(JSON.stringify(result))
|
144
152
|
} else {
|
145
|
-
|
153
|
+
const fileIndex = params.sourcemap === 'linked' ? 1 : 0
|
154
|
+
return result.outputFiles[fileIndex].contents
|
146
155
|
}
|
147
156
|
}
|
148
157
|
|
@@ -15,7 +15,9 @@ module Proscenium
|
|
15
15
|
|
16
16
|
def attempt
|
17
17
|
benchmark :esbuild do
|
18
|
-
render_response build(
|
18
|
+
render_response build(
|
19
|
+
"#{cli} --root #{root} --lightningcss-bin #{lightningcss_cli} #{path}"
|
20
|
+
)
|
19
21
|
end
|
20
22
|
rescue CompileError => e
|
21
23
|
render_response "export default #{e.detail.to_json}" do |response|
|
@@ -38,6 +40,14 @@ module Proscenium
|
|
38
40
|
Gem.bin_path 'proscenium', 'esbuild'
|
39
41
|
end
|
40
42
|
end
|
43
|
+
|
44
|
+
def lightningcss_cli
|
45
|
+
if ENV['PROSCENIUM_TEST']
|
46
|
+
'bin/lightningcss'
|
47
|
+
else
|
48
|
+
Gem.bin_path 'proscenium', 'lightningcss'
|
49
|
+
end
|
50
|
+
end
|
41
51
|
end
|
42
52
|
end
|
43
53
|
end
|
data/lib/proscenium/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: proscenium
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: x86_64-darwin
|
6
6
|
authors:
|
7
7
|
- Joel Moss
|
@@ -200,9 +200,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
200
200
|
version: 2.7.0
|
201
201
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
202
202
|
requirements:
|
203
|
-
- - "
|
203
|
+
- - ">="
|
204
204
|
- !ruby/object:Gem::Version
|
205
|
-
version:
|
205
|
+
version: '0'
|
206
206
|
requirements: []
|
207
207
|
rubygems_version: 3.3.7
|
208
208
|
signing_key:
|